VSCode内置对比功能无需插件即可高效完成代码比对。支持本地文件、分支间、提交间对比,提供差异高亮、同步滚动、忽略空格、快速跳转及更改应用等实用特性。

VSCode 的对比功能很实用,不用装插件就能完成大部分代码比对需求。关键是要知道在什么场景下用哪种方式,操作才不绕弯。
比较两个本地文件
这是最常用的操作。打开第一个文件,右键选择“选择为比较源”;再打开第二个文件,右键选“与已选文件比较”。左侧会显示差异视图,新增、删除和修改的行都用颜色标出,光标点进去还能快速跳转到对应位置。
- 快捷键更省事:先打开第一个文件,按 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(Mac),输入“Compare Active File With”,回车后选第二个文件
- 支持非文本文件(比如 JSON、XML),但二进制文件(如图片、PDF)只能提示“无法比较”
- 对比窗口顶部有同步滚动开关,默认开启,关掉后可独立查看两边内容
比较不同分支的同一文件
切换到目标分支后,打开想看的文件,在资源管理器里右键该文件 → “Open Changes from …” → 选择另一个分支。VSCode 会自动拉取那个分支对应版本并开始对比。
- 需要提前安装 Git 插件(默认已启用),且项目已初始化 Git 仓库
- 也可以用命令面板:打开文件后执行“Git: Compare with Branch”,输入分支名即可
- 如果只改了空格或换行符,开启“忽略空格差异”(点击对比窗口右上角 ⚙️ → “Ignore Whitespace”)能减少干扰
比较两次提交之间的变更
在源代码管理视图(Ctrl+Shift+G)中,点开“COMMITS”区域,按住 Ctrl(或 Cmd)分别点击两个提交记录,然后右键 → “Compare Commits”。VSCode 会列出这两个提交之间所有变动的文件,点任一文件就能进入详细对比。
- 适合做 Code Review 或排查某次上线后的问题来源
- 对比结果里能看到每个文件的变更类型(M 修改、A 新增、D 删除),点击文件名直接展开差异
- 若提交间隔太久、改动太多,建议先缩小范围——比如只比某个子目录:右键提交 → “Compare with Previous Commit”,再逐层往前推
小技巧:保存对比结果 & 快速应用更改
对比界面本身不能直接保存为新文件,但你可以复制一边的内容粘贴到新文件中。如果想把右侧修改同步到左侧(比如把测试分支的改动合并进主分支),直接点击右侧某处的“→”按钮就能把那块改动复制过去;整块复制用“Accept All Changes”按钮。
- 对比窗口右上角有“⋯”菜单,可导出差异为 Unified Diff 格式(.diff 文件),方便发给同事或留档
- 按 Alt+F1 可快速聚焦到下一个差异块,Shift+Alt+F1 是上一个,比手动滚屏快得多
- 对比时双击某一行,会在编辑器中打开该文件的原始位置,方便上下文对照
基本上就这些。VSCode 的对比逻辑清晰,操作路径短,只要记住“先选源、再选目标”这个主线,大部分场景都能三步内搞定。










