Compare Side-By-Side插件在Sublime Text 4上基本不可用,因其依赖已废弃的ST3旧API(如get_view_index),作者未更新且仓库已归档;推荐改用DiffView插件配合内置命令ctrl+alt+d实现稳定差异比对。

Sublime Text 本身不内置文件对比功能,CompareSideBySide 插件确实能实现左右并排比对,但它早在 Sublime Text 3 后期就停止维护,且与 Sublime Text 4 兼容性差——安装后大概率不显示菜单项或直接报错 ImportError: No module named 'Package Control' 或 AttributeError: 'module' object has no attribute 'get_window'。
为什么 CompareSideBySide 在 Sublime Text 4 上基本不可用
该插件依赖 Sublime Text 3 的旧版 API(如 sublime.Window.get_view_index() 已废弃),而 Sublime Text 4 彻底重构了视图管理逻辑。插件作者未更新,社区也无活跃 fork 维护。即使强行安装,多数功能(如自动高亮差异、同步滚动)无法触发。
- 插件仓库地址已 404(原 GitHub 项目归档)
- Package Control 搜索结果中显示的版本最后更新于 2018 年
- 启用后调用
ctrl+shift+c无响应,控制台报AttributeError: 'Window' object has no attribute 'active_view_in_group'
真正可用的替代方案:使用内置命令 + DiffView 插件
Sublime Text 4 原生支持文本比对基础能力,配合轻量插件 DiffView 即可稳定工作,无需重启、无兼容报错。
- 先通过 Package Control 安装
DiffView(搜索即得,作者为r-stein) - 打开两个待比较的文件(必须是已保存的文件,临时标签页不生效)
- 按下
ctrl+alt+d(Windows/Linux)或cmd+alt+d(macOS),自动生成差异视图 - 差异行以颜色标记:
green表示仅在右侧新增,red表示仅在左侧删除,yellow表示内容变更
diff --git a/file_a.py b/file_b.py
index abc123..def456 100644
--- a/file_a.py
+++ b/file_b.py
@@ -1,4 +1,4 @@
def hello():
- print("old")
+ print("new")
return True如果坚持要左右分屏并排看原始内容(非差异高亮)
不用插件,纯手动操作更可靠:
- 打开第一个文件 → 右键标签页 → 选择
Move to Group Right(或按ctrl+shift+2创建双栏) - 再打开第二个文件 → 拖拽其标签页到右侧栏中
- 按
ctrl+alt+↑/↓启用同步垂直滚动(需开启"scroll_past_end": false避免错位) - 如需快速跳转相同函数,可分别在两窗格中使用
ctrl+r调出符号列表,手动对齐
复杂点在于:Sublime Text 没有“智能差异锚点”,不会自动对齐逻辑相同的段落;所有并排查看都只是视觉对照,不带语义合并或冲突解决能力。真要处理 Git 冲突或配置文件灰度发布,还是得切到 vscode 或命令行 diff -u + vimdiff。










