diffy插件安装后右键无compare选项是正常现象,因其默认不注入右键菜单或绑定快捷键,仅提供命令面板入口;正确触发方式为ctrl+shift+p输入“diffy: compare with file”或右键侧边栏空白处选“diffy: compare files”。

Diffy 插件安装后为什么右键没出现 Compare 选项?
因为 Diffy 默认不往右键菜单注入项,也不绑定快捷键——它只提供命令面板入口。装完插件后直接右键文件标签或侧边栏,不会看到 Diffy: Compare with File 这类选项,这是正常行为,不是安装失败。
正确触发方式只有两种:
- 按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS),输入Diffy: Compare with File(注意结尾有省略号),回车后弹出文件选择框 - 右键侧边栏空白处 → 选择
Diffy: Compare Files(仅适用于已保存的磁盘文件,需手动填绝对路径)
两个文件怎么放才能并排显示?
Diffy 本身不控制布局,它生成的对比视图是单标签页、左右分栏的只读快照(左=当前激活文件,右=你选的文件)。真要并排窗口,得靠 Sublime 原生分屏 + 手动拖拽,和 Diffy 无关。
操作顺序必须是:
- 先打开两个文件,确保它们是独立标签页(不能是同一个文件用
Split View拆出来的) - 菜单栏 →
View → Layout → Columns: Two - 点住左边文件的标签页,拖进左面板;点住右边文件的标签页,拖进右面板
- 此时才是物理并排,可同步滚动(需手动开启:右键任一编辑区 →
Scroll Together)
为什么对比结果里一堆红块但实际没改?
Diffy 是纯文本行级比对,完全不识别语义。以下情况都会被标为差异:
- 一个文件末尾有空行,另一个没有
- 换行符不一致(
\r\nvs\n) - UTF-8 BOM 存在与否(比如
config.json从 Windows 传到 macOS 后 BOM 消失) - 缩进混用空格和 Tab(哪怕只差一个字符)
解决办法不是“忽略差异”,而是提前统一:
- 用
File → Reopen with Encoding确保两边都是UTF-8(无 BOM) - 用
View → Indentation → Convert Indentation to Spaces统一缩进 - 删掉末尾空行:
Ctrl+Shift+P→ 输入Trim Whitespace
对比大文件卡死或静默失败怎么办?
Diffy 调用系统 diff(macOS/Linux)或 fc.exe(Windows),但 Sublime 对大文件读取和渲染有硬限制。超过 2MB 就可能无响应,5MB 以上基本卡死。
替代方案更可靠:
- 终端直接跑:
diff -u file1.js file2.js(macOS/Linux)或fc /u file1.js file2.js(Windows),结果粘进 Sublime 查看 - 小范围关键段落,用
Ctrl+Shift+F全局搜索,Where字段填两个绝对路径,快速扫相同字符串 - 真要图形化,别硬扛——换 VS Code 或专用工具如
meld、WinMerge
真正容易被忽略的不是怎么开对比窗口,而是对比前是否确认了编码、换行符、BOM 和缩进一致性。这些细节不处理,Diffy 的红块就只是噪音。











