Compare XML VSCode 扩展
在 VSCode 中使用对齐差异视图和差异导航进行语义化 XML 对比。
Compare XML 也提供由网站同款对比引擎驱动的 VSCode 扩展。它将语义化 XML 对比带入编辑器,并可控制元素、属性、值和重复子元素的匹配方式。
安装
在 VSCode 扩展视图中搜索 Compare XML(发布者:unitstack),或从 VSCode Marketplace 安装。
对比两个 XML 文档
- 打开一个 XML 文件。
- 在命令面板(
Ctrl+Shift+P/Cmd+Shift+P)或编辑器标题菜单中运行 Compare XML: Compare Active Editor with…,然后选择另一个打开的编辑器、磁盘上的文件或剪贴板作为对比对象。 - 结果会在 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.arrayCompareMethod | byIndex | 重复子元素的匹配方式:byIndex、lcs 或 unordered 无序多重集对比。 |
compare-xml.keyCaseInsensitive | false | 匹配元素名和属性名时忽略大小写。 |
compare-xml.valueCaseInsensitive | false | 对比文本和属性值时忽略大小写。 |
无序对比会忽略顺序,但仍统计重复项的出现次数。匹配示例、解析器规范化行为和命名空间前缀限制请参阅 XML 对比规则。