FileDiffs右键菜单不出现,90%因Package Control未运行或未真正打开两个可比文件;需确保标签页显示完整路径、非同一文件分屏、焦点在标签页;编码与换行符须统一为UTF-8(无BOM)和Unix(LF);并排对比需手动分栏拖拽;剪贴板对比应使用FileDiffs的Compare with Clipboard而非原生Text → Diff。

FileDiffs右键菜单不出现?先确认Package Control和文件状态
插件装了但右键没反应,90%不是插件问题,而是Package Control根本没跑起来,或者你根本没“真正打开”两个可比文件。
按Ctrl+Shift+P(Win/Linux)或Cmd+Shift+P(macOS),输入Package Control: Install Package回车——如果报command not found,说明Package Control损坏或未安装。此时打开控制台Ctrl+`,粘贴packagecontrol.io官网最新安装代码执行,**必须重启Sublime Text后重试**。
- 装完插件无需重启,但右键菜单只在满足条件的标签页上才激活
- 两个标签页右下角必须显示完整路径(如
/project/src/main.py),不能是Untitled-1或空白 - 不能是同一文件分屏打开(比如左右都是
index.js),FileDiffs会直接忽略 - 侧边栏右键无效——必须先点击任一已打开的标签页,让它成为焦点视图,再右键
对比结果全是红块绿块、中文变方块?编码和换行符没统一
FileDiffs不做任何转换,它比的是Sublime当前加载进内存的原始字节流。UTF-8 with BOM vs GBK、\r\n vs \n,都会导致整段误标甚至崩溃。
逐个处理两个待比文件:
- 右下角点击当前编码名(如
UTF-8 with BOM)→Reopen with Encoding→ 选UTF-8(去掉BOM) - 右下角点击换行符标识(如
Windows (CRLF))→Convert Line Endings→ 选Unix (LF) - 缩进敏感格式(YAML/Markdown)建议再执行
Convert Indent to Spaces对齐 - 保存后再对比;仍乱码可在
Preferences → Package Settings → FileDiffs → Settings中加配置:"diff_tool": "git"(需系统已装Git并加入PATH)
想并排看差异,但FileDiffs只输出单标签页?手动拆栏+拖拽是唯一解法
FileDiffs默认输出是纯文本diff(类似git diff格式),不是左右窗口。要并排观察,必须自己布局。
- 用
Ctrl+K, Ctrl+2(Win/Linux)或Cmd+K, Cmd+2(macOS)把窗口拆成左右两栏 - 分别在左右栏打开两个目标文件
- 在左栏标签页右键 →
FileDiffs: Compare with Current→ 选右栏文件名 - 结果仍出在新标签页,但此时你可以手动把该diff标签拖进右栏,或用Origami插件自动归位
对比剪贴板内容失败?别用原生Text → Diff,用FileDiffs的Compare with Clipboard
Sublime原生的Text → Diff只是拼字符串比对,不处理BOM、换行符混用、尾部空格等真实干扰项。复制自Slack或邮件的代码,大概率整行错位。
FileDiffs的Compare with Clipboard会自动normalize剪贴板内容:
- 统一换行符为
\n - strip尾部空格
- 保留原始编码上下文(不强制转UTF-8)
- 调用前确保剪贴板里是纯文本——含富文本格式(如HTML片段)会失败
这个功能最常被忽略,但它才是日常调试中最实用的一环:改完一段逻辑,复制到测试环境前,直接跟原文件比,一眼看出是否漏改。


















