Compare XML VSCode 扩展

在 VSCode 中使用对齐差异视图和差异导航进行语义化 XML 对比。

Compare XML 也提供由网站同款对比引擎驱动的 VSCode 扩展。它将语义化 XML 对比带入编辑器,并可控制元素、属性、值和重复子元素的匹配方式。

安装

在 VSCode 扩展视图中搜索 Compare XML(发布者:unitstack),或从 VSCode Marketplace 安装。

对比两个 XML 文档

  1. 打开一个 XML 文件。
  2. 在命令面板(Ctrl+Shift+P / Cmd+Shift+P)或编辑器标题菜单中运行 Compare XML: Compare Active Editor with…,然后选择另一个打开的编辑器、磁盘上的文件或剪贴板作为对比对象。
  3. 结果会在 VSCode 原生差异编辑器中打开。两侧会自动补齐空行,让对应元素对齐,即使整块内容被新增或删除也是如此。

你也可以在资源管理器中右键点击 .xml 文件并选择 Select for Compare,然后在第二个文件上选择 Compare with Selected,沿用 VSCode 内置的文件对比流程。

差异导航器

Compare XML 侧边栏按 Added(新增)、Deleted(删除)和 Value Changed(值变更)对差异分组。点击任意条目即可跳转到差异编辑器中的对应位置。

侧边栏标题栏还提供以下操作:

  • Configure Comparison Options —— 打开选项选择器。
  • Swap Sides —— 交换基准与对照两侧。
  • Clear Results —— 结束当前对比会话。

对比选项

通过 Compare XML: Configure Comparison Options 为单次对比配置选项,或在 settings.json 中设置工作区默认值:

设置项默认值说明
compare-xml.arrayCompareMethodbyIndex重复子元素的匹配方式:byIndex、lcs 或 unordered 无序多重集对比。
compare-xml.keyCaseInsensitivefalse匹配元素名和属性名时忽略大小写。
compare-xml.valueCaseInsensitivefalse对比文本和属性值时忽略大小写。

无序对比会忽略顺序,但仍统计重复项的出现次数。匹配示例、解析器规范化行为和命名空间前缀限制请参阅 XML 对比规则。