VS Code 自带文件差异比较功能,支持Compare with Saved对比未保存修改与磁盘版本,或通过Ctrl+点击+Compare Active File With…并排对比两个已保存文件,差异视图中绿色新增、红色删除、黄色修改,但不自动刷新且大文件(>50MB)禁用。

VS Code 自带文件差异比较功能,不需要额外插件就能完成基础比对,但很多人没注意到右键菜单里藏着的 Compare with Saved,或者不知道怎么打开两个文件做并排对比。
如何快速对比当前编辑的文件和磁盘上的原始版本
这是最常用场景:改了一堆代码,想看自己到底动了哪些地方。VS Code 会自动在编辑器顶部显示“已修改”状态,点击右侧的 … 按钮(或右键编辑器标签),选择 Compare with Saved 即可拉出左右对比视图。
- 这个操作只对比「当前未保存的编辑内容」和「上次保存到磁盘的版本」
- 如果文件从未保存过,该选项是灰色不可用的
- 对比结果中,绿色表示新增,红色表示删除,黄色背景表示修改过的行
- 可以点击左侧的
Accept Incoming Change或右侧的Accept Current Change快速应用某一边的改动
怎样同时打开两个文件做手动并排对比
比如你想比对 config.json 和 config.prod.json,或者两个不同分支的同名文件。直接在资源管理器里选中第一个文件,按住 Ctrl(macOS 是 Cmd),再点第二个文件,它们就会以分栏形式打开;然后右键任一编辑器标签,选 Compare Active File With…,再选另一个文件。
- 必须是两个已保存的文件才能触发该菜单项;临时粘贴的未命名文件不支持
- 对比窗口默认不锁定滚动,两边可以独立滚动;按住
Alt键再滚动,才能同步滚动 - 对比视图中无法直接编辑右侧文件,如需修改,得先关闭对比、单独打开右侧文件
使用命令面板调用差异工具的隐藏方式
当鼠标不在编辑器区域时(比如聚焦在终端或搜索框),右键菜单不出现,这时可以用快捷键唤出命令面板:Ctrl+Shift+P(macOS 是 Cmd+Shift+P),输入 File: Compare Active File With… 回车,再选目标文件。
- 该命令也支持对比当前文件与 Git 历史版本:输入
Git: Compare HEAD with Working Tree - 如果装了
GitLens插件,还能看到更细粒度的行级作者和提交信息,但原生 VS Code 不提供这些 - 注意别和
Find in Files的搜索框混淆——命令面板是全局指令入口,不是文本查找
真正容易被忽略的是:VS Code 的差异视图不会自动刷新。比如你在外部修改了右侧文件,对比窗口不会感知,必须手动重新触发对比。另外,大文件(超过 50MB)可能直接禁用差异计算,连对比按钮都变灰——这不是 bug,是性能保护机制。










