FileDiffs插件能用的前提是Package Control已正常安装且文件满足硬性条件:必须已保存、路径不同、编码和换行符统一;否则右键无选项或对比乱码。

Package Control装没装好,FileDiffs根本装不上
按 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS),输入 Package Control: Install Package 回车——如果报 command not found,说明 Package Control 没生效,FileDiffs 一步都走不了。
解决办法只有三步:
- 按
Ctrl+`打开控制台,粘贴官网安装代码(来自packagecontrol.io/installation),回车执行 - 必须重启 Sublime Text(不是重载窗口,是彻底关掉再打开)
- 重启后再次调出命令面板,等列表加载完成,严格输入
FileDiffs(末尾带s,大小写敏感),别输成FileDiff、filediffs或FileDifferences
右键菜单没出现FileDiffs?你可能根本没“打开”文件
FileDiffs 不认侧边栏、不认未保存的 Untitled-1、不认同一文件分屏打开——它只响应有真实磁盘路径的已保存文件。
检查两个标签页右下角是否显示完整路径,例如 /project/src/config.json;如果不是,说明:
- 文件还没存盘 → 先按
Ctrl+S保存 - 是同一个文件被左右打开 → 关掉一个,用侧边栏另选一个不同路径的文件
- 鼠标悬停在侧边栏右键 → 无效,必须先点击任一已打开的标签页,让它成为活动视图,再右键
- 路径含中文或空格 → 临时把文件移到纯英文路径下测试
对比结果全是红块绿块、中文变方块?编码和换行符在打架
FileDiffs 不做任何转换,它比的是 Sublime 当前加载进内存的原始字节流。UTF-8 with BOM vs GBK、CRLF vs LF,都会导致整行误标甚至崩溃。
统一前必做:
- 逐个打开待比文件 → 右下角点击编码名(如
UTF-8 with BOM)→Reopen with Encoding→UTF-8 - 右下角点击换行符标识(如
Windows (CRLF))→Convert Line Endings→Unix (LF) - 缩进敏感格式(YAML/Markdown)建议再执行
Convert Indent to Spaces - 仍乱码?在
Preferences → Package Settings → FileDiffs → Settings中加配置:"diff_tool": "git"(需系统已装 Git 并加入 PATH)
默认不并排显示,想左右对照得手动拆栏+拖拽
FileDiffs 默认输出是新标签页里的纯文本 diff(类似 git diff 格式),不是左右分栏视图。要并排看,必须干预布局:
- 先用
Ctrl+K, Ctrl+2(Win/Linux)或Cmd+K, Cmd+2(macOS)把窗口拆成左右两栏 - 分别在左右栏打开两个目标文件
- 在左栏右键 →
FileDiffs: Compare Current File with Other File - 生成的 diff 标签页默认出现在当前栏,直接拖到右栏即可
- 嫌麻烦可配快捷键:在用户键绑定里加
{"keys": ["ctrl+shift+d"], "command": "file_diff_menu"}


















