跳转到主内容
极星编程网:以代码为星,赴技术山海!

VSCode对比两个文件差异:内置Diff工具的使用方法详解

最稳方式是资源管理器中Ctrl/Cmd多选两文件后右键“Compare Selected”,左侧为首个选中文件、右侧为第二个;双击打开再肉眼扫无效,必须主动触发比较动作。 VSCode 内置 Diff 工具能直接比对任意两个文件,无需插件、不依赖 Git,但必须“主动发起比较动作”,双击打开再肉眼扫是无效的。 怎么快速触发两个本地文件的对比 最稳的方式是资源管理器里
Ctrl
(Windows/Linux)或
Cmd
(macOS)多选两个文件,右键任一 →
Compare Selected
。VSCode 会自动以左侧为第一个选中文件、右侧为第二个打开 Diff 视图。 常见错误:先双击打开两个文件标签页,再右键想“比较当前编辑器”——这要求其中一个必须是“活动编辑器”(即焦点所在),否则菜单里压根不显示
Compare with Active Editor
。 如果只打开一个文件,想跟磁盘上另一个未打开的文件比:用命令面板
Ctrl+Shift+P
→ 输入
File: Compare Active File With
→ 选目标文件 如果两个文件都不在工作区(比如桌面两个日志):用终端执行
code --diff /path/to/file1 /path/to/file2
,VSCode 会启动并加载 别用“Compare with Clipboard”来比两个文件——它只比当前文件和剪贴板内容,不是文件间比对 Diff 里明明改了空格却没高亮? 默认开启
ignoreTrimWhitespace
,所有行首尾空格、制表符、换行符差异都会被忽略。这不是 bug,是设计上优先聚焦逻辑变更。 要看到缩进变化或末尾空格误删,点 Diff 右上角
⋯
→ 取消勾选
Ignore Trimmed Whitespace
。此时空格显示为浅灰小点,
\t
和
\n
差异也会标出。 VSCode 1.118 微软正式发布 Visual Studio Code 1.118 版本 。本次更新重点强化了 AI 开发体验与企业管理能力,其中最引人注目的是新增 Copilot CLI 远程控制功能,允许开发者通过手机或网页远程监控和接管 AI 会话 。同时,为了提高 AI 的运行性价比,新版本优化了令牌缓存策略以降低成本 。此外,1.118 版还引入了 Chronicle 本地历史追踪、TypeScript 7.0 支持以及更严格的企业级访问管控 。 下载 这个开关只影响当前 Diff 标签页,不影响其他已打开的对比窗口 全局设置里改
diffEditor.ignoreTrimWhitespace
会影响所有新打开的 Diff,但已有窗口不会刷新 如果文件编码不一致(比如一个 UTF-8 带 BOM,一个 GBK),Diff 可能直接显示
no differences
或乱码,先统一编码再比 Git 历史 Diff 卡在 “Loading…” 怎么办 点击提交记录里的文件 →
Compare with Previous
卡住,大概率不是 VSCode 问题,而是 Git 层面阻塞。 确认项目根目录存在
.git
文件夹,且 VSCode 是从该目录或子目录启动的 检查文件是否被
.gitignore
匹配——被忽略的文件不会出现在历史 Diff 列表中 大二进制文件(如图片、压缩包)只会显示
Binary files differ
,无法展开文本差异 用终端跑
git show HEAD:src/utils.js
验证能否正常输出内容;如果报错或乱码,说明 Git 读取失败,VSCode 就没法渲染 能不能直接在 Diff 里改右边的文件 默认不能。VSCode 的 Diff 编辑器是只读预览,点击右侧区域无光标、敲键盘无响应,强行操作会弹出
Cannot edit in read-only editor
。 真要编辑,有两个路径: 快捷跳转:在 Diff 视图中聚焦右侧(Tab 切换或鼠标点),按
Ctrl+Enter
(Windows/Linux)或
Cmd+Enter
(macOS),会新开标签页并定位到对应行 启用实验性功能:设置里搜
diffEditor.inlineEdit
→ 勾选 → 重启 Diff 视图 → 右侧出现铅笔图标,点击即可编辑并保存回源文件 注意:
inlineEdit
不支持 git stash 或 git log 中的 Diff,也不支持撤销单步修改(
Ctrl+Z
无效),保存前得自己核对清楚。

相关文章