真正能用的右键对比插件只有diffy和compare side-by-side:diffy支持侧边栏右键输入文件路径调系统diff,compare side-by-side支持标签页右键分屏比对;二者均要求文件已保存、编码与换行符统一,且默认严格比对空白字符。

EasyDiff 插件根本不存在,别浪费时间搜它
Sublime Text 官方仓库、Package Control 主索引、GitHub 搜索均无维护中的 EasyDiff 插件。2025–2026 年间多个用户反馈:装了名字近似的 Diff(末尾无 y)、EasyDiff-Sublime 或 Sublime-EasyDiff,结果在 ST4 下全部报错 AttributeError: 'NoneType' object has no attribute 'view' 或命令面板搜不到任何 diff 相关项。这不是配置问题,是插件已停更且与当前 Sublime Text 4(build 4143+)不兼容。
右键对比两个文件,真正能用的只有 Diffy 和 Compare Side-By-Side
想实现“右键 → 选文件 → 立刻出差异”,必须满足三个条件:支持右键菜单注入、能处理磁盘文件路径、不依赖未保存缓冲区。目前仅两个插件稳定达成:
-
Diffy:右键侧边栏空白处 →Diffy: Compare Files,弹出输入框,粘贴两个绝对路径(Windows 含空格需加英文双引号),直接调系统diff或fc.exe,快、准、免 Python -
Compare Side-By-Side:右键已打开的任一标签页 →Compare with Tab,再点另一个标签页,立刻左右分屏并高亮行级差异;不调外部命令,纯前端渲染,适合小文件快速校对
注意:Diffy 的右键项默认只出现在侧边栏(非标签页),而 Compare Side-By-Side 只响应标签页右键——装错位置就找不到入口。
右键没反应?先检查这三个硬性前提
无论装哪个插件,右键菜单不出现 Diff 类选项,大概率卡在这三步:
- 文件必须已保存到磁盘:
Diffy和Compare Side-By-Side都拒绝处理untitled缓冲区,状态栏显示 “Unsaved” 就别试了 - 编码必须一致:一个 UTF-8,一个 GBK,对比结果会整行标红,不是插件问题,而是解析失败;统一用
File → Reopen with Encoding手动指定 - 换行符必须统一:状态栏显示
Windows (CRLF)和Unix (LF)混用时,Diffy会把每行都当差异;用View → Line Endings → Convert to Unix强制转一遍
对比结果里全是空行或缩进标红?不是 bug,是默认行为
Diffy 和 Compare Side-By-Side 默认不做任何空白字符归一化:
- 行尾多一个空格 → 算差异
- TAB 和 4 个空格 → 算差异
- 注释缩进差一级 → 整行标红
想忽略这些干扰,得手动改设置:Preferences → Package Settings → Diffy → Settings 里加 "ignore_whitespace": true;Compare Side-By-Side 则要在其设置里开启 "ignore_whitespace_changes"。不改,就只能接受“看起来全红”的结果——这恰恰是它严格忠实原始文本的表现,不是缺陷。
真正容易被忽略的是:所有插件生成的对比视图都是只读快照,Accept/Reject、Merge 等操作要么不提供,要么需手动切回原文件编辑并保存。没有“一键同步修改”这回事。











