必须用apm install命令行安装并确认Settings中Enabled,且两个已保存、路径不同、换行符一致的文件分置左右窗格,Ctrl+Alt+T才生效;否则插件不触发。

split-diff 怎么装才真正生效
用 apm install split-diff 命令行安装比 Settings → Install 更可靠,尤其 Atom 版本较新时容易卡在“已安装但不激活”。装完必须进 Settings → Packages → split-diff 确认右侧开关是 Enabled(不是只显示 “Installed”)。如果命令面板(Ctrl+Shift+P)搜不到 split-diff:toggle,关掉 Atom 重开一次;仍不行就打开 Developer Tools(View → Developer → Toggle Developer Tools),看 Console 是否有 Failed to activate package 报错。
Ctrl+Alt+T 按了没反应?先查这四个硬条件
split-diff 不会静默报错,而是直接跳过——它只在满足全部前提时才干活:
- 当前至少有两个已打开的文件,且分属左右不同窗格(不能只开一个 tab 就按快捷键)
- 两个文件都已保存,状态栏不显示
untitled(未保存文件无法比) - 左右文件路径字符串不一致(比如不能一个是
./src/index.js,另一个是/home/user/project/src/index.js,Atom 缓存会识别为同一 buffer) - 左右窗格换行符统一(右下角状态栏点开,手动设成同为
LF或同为CRLF;否则整行红/绿误标)
Git 场景下怎么对比当前修改和 HEAD
这个功能最实用,但也最容易误解:它不依赖右键菜单或额外命令,触发逻辑很具体:
- 项目根目录下必须存在
.git文件夹,且 Atom 是从该目录启动,或已通过File → Add Project Folder加载该目录 - 只打开一个文件(比如
index.js),然后执行split-diff:toggle - 左窗格是你正在编辑的内容,右窗格自动加载该文件的
HEAD版本 - 想比暂存区?先
git add index.js,再触发;想比origin/main?得先git checkout origin/main -- index.js生成临时文件再比
对比结果大片红绿但内容其实一样?别急着换工具
这不是插件 bug,而是差异算法对结构变化的合理重组(比如删 A 行 + 插 B 行 → 合并标为“替换”)。优先排查这些可调项:
- 运行
split-diff:set-ignore-whitespace(命令面板输入),排除缩进、空行干扰 - 关掉
Auto Diff(在Settings → Packages → split-diff中取消勾选),避免编辑中频繁刷新导致误判 - 右下角状态栏点击编码名(如
UTF-8),确保左右都是无 BOM 的UTF-8;混用UTF-8 with BOM和普通UTF-8会导致全行标红 - 如果文件含大量 HTML/JSON,关掉
Show Word Diff(命令面板搜该命令),字符级比对会把标签结构全标为差异
最容易被忽略的是换行符和文件保存状态——哪怕只差一个 LF/CRLF,split-diff 就会把整行当差异处理;而 untitled 标签哪怕内容完全相同,也根本不会进入比对流程。

















