Compare Side-by-Side插件名必须严格为“Compare Side-by-Side”(带连字符、by小写、末尾无s),安装后需两个已保存且路径完整的独立标签页,编码、换行符、缩进须一致,否则整行误标差异。

Compare Side-by-Side 插件名必须输对,不是“Compare Side By Side”
装不上、右键没菜单、命令面板搜不到——90% 是因为插件名输错。Package Control 里唯一有效的是 Compare Side-by-Side(注意:带连字符 -,by 小写,末尾无 s,不加下划线或 _sublime)。搜 CompareSideBySide、Compare Side By Side 或 Compare Side-By-Side(大小写混用)都可能命中废弃分支或旧版,安装后右键不出现选项。
验证是否装对:按 Ctrl+Shift+P(Win/Linux)或 Cmd+Shift+P(macOS),输入 Compare Side-by-Side: Compare,能执行即成功。状态栏应提示 “Successfully installed Compare Side-by-Side”。
两个文件必须是独立标签页,且路径已落地
插件只识别「已加载进编辑器缓冲区 + 有真实磁盘路径」的文件。未保存的 Untitled-1 标签页、拖拽分屏产生的副本、命令行空缓冲区,全都不支持。
- 每个标签页右下角必须显示完整路径(如
/project/src/config.json),不能是Untitled - 不能是同一文件打开两次(比如左右都是
index.js),必须是不同路径 - 点一下标签页激活它——哪怕刚打开,也得手动点一次,否则插件不认
- 侧边栏多选后按快捷键无效,必须先在标签页中打开这两个文件
编码、缩进、换行符不一致会导致整行误标红
Compare Side-by-Side 不做任何自动转换,它比的是内存里的原始字节流。一边是 UTF-8 with BOM,另一边是纯 UTF-8?第一行必全红;缩进混用 Tab 和空格?每行都标为差异。
- 统一编码:右下角点击当前编码名 →
Reopen with Encoding→ 选UTF-8,再Save - 统一缩进:按
Ctrl+Shift+P→ 输入Convert Indentation to Spaces - 统一换行符:右下角点击换行符标识(如
Windows (CRLF))→Convert Line Endings→Unix (LF) - 关闭
Word Wrap(View → Word Wrap),否则物理行错位,同步滚动失效
大文件或长行会卡顿,别硬扛
超过 5000 行,或单行含长 base64、压缩 JSON(>200 字符),UI 可能冻结几秒。这不是插件 bug,是它纯前端渲染的代价。
- 对比前切到
Plain Text语法模式:Ctrl+Shift+P→Set Syntax: Plain Text,禁用语法高亮可提速 - 若仍卡顿,换
FileDiffs插件并配置"diff_tool": "git"(需系统已装 Git 并加入 PATH) - 它不支持三路对比、不读 Git 状态、不提供复制箭头——所有编辑必须切回原文件操作
真正容易被忽略的,是「路径落地」和「编码一致性」这两步。很多人点了保存就以为完事,但 Sublime 的 Save 不等于路径已写入标签页状态——得再点一下标签页,让插件感知到“这是个真文件”。编码也是,Reopen with Encoding 后必须 Save,否则下次打开还是老编码。











