split-diff插件必须先手动分屏再触发对比,直接按快捷键不会自动开窗;Git模式依赖.git目录,换行符不一致会导致大面积误标差异,忽略空白差异需每次手动开启。

split-diff 插件必须手动分屏才能触发对比
直接按 Ctrl+Alt+T(Windows/Linux)或 Cmd+Alt+T(macOS)不会自动开新窗格——它只作用于已存在的两个窗格。如果当前只有一个 tab,快捷键会静默失效,不报错也不提示。
正确做法是:
- 先右键任一文件 tab → 选 Split Right 或 Split Down
- 再把第二个要对比的文件拖进新窗格,或用
Ctrl+P搜索打开 - 确保两个窗格都已加载完成(状态栏无 loading 提示),再按快捷键
注意:插件不会帮你创建窗格,这点和很多 IDE 的“Compare with…”行为不同,容易误以为插件坏了。
Git 模式依赖 .git 目录且只识别上下文差异
split-diff 在项目根目录下有 .git 时,才会启用 Git 模式,自动比对工作区 vs 暂存区、暂存区 vs HEAD 等。纯文件夹里只能手动选两个文件对比。
常见误判场景:
- 项目在子目录中,但
.git在上层目录 → split-diff 找不到,降级为纯文件对比 - 刚克隆仓库但还没
git add→ 暂存区为空,Git 模式显示“no changes”而非空白 - 对比的是未被 Git 跟踪的新文件 → 只能走手动模式,Git 模式不生效
验证是否进入 Git 模式:看右下角状态栏是否出现类似 HEAD → index 或 index → working tree 的提示。
换行符不一致会导致大面积误标差异
左右窗格若一个用 CRLF、一个用 LF,split-diff 会把每行末尾都标为差异,红块泛滥,实际内容可能完全一样。
统一换行符的操作路径:
- 打开左侧窗格 → Editor → Line Endings → LF(或统一选 CRLF)
- 同样操作右侧窗格,别只改一个
- 顺手关掉 Editor → Soft Wrap,避免软换行干扰行对齐
如果某文件是 Windows 脚本或批处理,保留 CRLF 更稳妥;其余代码文件建议统一用 LF,兼容性更好。
忽略空白差异需主动开启且不持久保存
split-diff:set-ignore-whitespace 是个切换开关,不是配置项。每次重启 Atom 或关闭对比窗格后,该设置就重置为关闭状态。
适合临时使用,比如审查格式调整后的 PR:
- 按
Ctrl+Shift+P→ 输入split-diff:set-ignore-whitespace→ 回车启用 - 对比完想恢复标出空格变化?再执行一次命令即可关闭
- 无法通过 settings 页面永久开启,也没对应 config.cson 配置项
真正需要长期忽略空白的场景,建议直接用 git diff -w 命令行,或换 Beyond Compare 这类支持持久化 diff 规则的工具。

















