Compare Side-By-Side插件支持双文件并排高亮差异,零配置即用,但仅限已打开的两个tab,不支持部分文本、未打开文件或模糊匹配;Diff Files可比磁盘文件但需配置右键菜单并依赖系统diff命令;两者均严格按原始编码解析,编码不一致会导致乱码或错位。

直接装 Compare Side-By-Side 就够用
Sublime Text 默认不带文本对比功能,但 Compare Side-By-Side 是目前最稳定、零配置、支持双文件并排高亮差异的插件。它不依赖外部 diff 工具,也不需要改设置,装完即用。
常见错误是搜 “diff” 或 “compare” 时选错名字,比如装了 Diffy(已停止维护)或 SublimeDiff(只支持命令行调用),结果发现没菜单项、右键没反应。
- 必须用
Package Control: Install Package命令安装,不是手动放Packages目录 - 搜索时输入完整名称
Compare Side-By-Side,注意大小写和空格 - 安装后无需重启,右键任意两个已打开的 tab 即可见
Compare Side-By-Side选项
Compare Side-By-Side 的实际使用限制
它只对比当前已打开的两个文件 tab,不支持选中部分文本对比,也不能比磁盘上未打开的文件。如果你习惯先选中两段代码再点对比,会发现右键菜单里没有对应项——这不是 bug,是设计如此。
性能方面,单文件超过 5000 行时,对比响应会变慢,高亮可能延迟半秒以上;若两文件行数差异极大(比如一个 10 行,另一个 10000 行),左侧会显示大量“+”插入行,但不会崩溃。
- 对比逻辑是逐行匹配,不支持模糊匹配或忽略空格/换行差异
- 不保存对比结果,关闭 tab 后差异视图即消失
- 无法导出 HTML 或生成 patch 文件
想比未打开的文件?得配 Diff Files
如果常要对比磁盘上两个 .txt 或 .json 文件(比如 config.old 和 config.new),Diff Files 更合适。它支持右键资源管理器文件、拖入 Sublime、或通过命令面板触发。
但要注意:它默认不启用右键菜单项,需手动在用户设置里加一行:
"show_diff_files_in_context_menu": true
否则你只能按 Ctrl + Shift + P → 输入 Diff Files: Diff Files → 再手动选两个路径,效率低不少。
- 安装名是
Diff Files,别拼成DiffFile或Diff-Files - 它依赖系统
diff命令(Windows 需额外装 Git for Windows 或 MinGW,否则报错Unable to find 'diff' executable) - 对比结果以只读新 tab 形式打开,内容不可编辑
中文乱码或对比错位?检查文件编码
Compare Side-By-Side 和 Diff Files 都严格按文件原始编码解析。如果一个文件是 UTF-8 with BOM,另一个是 GBK,对比结果会出现整块偏移或乱码,但插件本身不报错、也不提示编码不一致。
解决方法只有提前统一:用 Sublime 打开文件 → 右下角点击编码名(如 UTF-8)→ 选 Convert to UTF-8 → 再保存。不要只点 Reopen with Encoding,那只是临时视图切换,不影响实际内容。
- 批量转换可用
ConvertAllToUTF8插件,但需单独安装 - 项目里混用编码时,建议在
Preferences.sublime-settings加"default_encoding": "UTF-8" - Git 提交前记得检查
.gitattributes是否设了* text=auto eol=lf,否则 Windows 换行符也会干扰行对齐
真正麻烦的不是装不上,而是装了之后发现对比逻辑和自己想的不一样——比如以为能比剪贴板内容,或期待自动忽略注释。这些都得靠组合其他插件或外部工具补足,单靠一个对比插件搞不定。


















