SidebarGit 在 Sublime Text 4 上因依赖已移除的旧 API 和 Python 2.6/3.3 运行时而完全失效;推荐组合是 SideBarEnhancements(提供右键 Git 操作)与 GitGutter(编辑区 gutter 显示变更标记),二者分工明确、稳定兼容 ST4。

SidebarGit 在 Sublime Text 4 上无法正常工作,这不是配置问题,而是根本性兼容失效。
它依赖已移除的旧版 API 和 Python 2.6/3.3 运行时,在 ST4(Python 3.8+)中加载即失败,你看到的“右键无 Git 菜单”“图标不更新”“侧栏文件状态始终灰色”,基本都是这个原因。
为什么 SidebarGit 的 import 会报错?
常见错误如 ImportError: No module named 'sublime_git' 或 AttributeError: 'module' object has no attribute 'get_working_dir',本质是插件代码里硬编码了过时的模块路径和方法名。ST4 已删除 sublime_git 模块,且 get_working_dir() 已被 window.extract_variables().get('folder') 替代。
- 插件虽显示在
Package Control → List Packages中,但实际未注册事件监听器 - 所有
os.popen('git ...')调用在现代系统(尤其 macOS/Linux GUI 启动)下易被拦截或返回空 - 图标资源路径在 ST4 中不再匹配主题渲染机制,即使修复逻辑,图标也大概率不显示
SideBarEnhancements + GitGutter 是当前唯一可行组合
SideBarEnhancements 不改侧栏样式,但在右键菜单注入完整 Git 子菜单(Stage、Revert、Diff、Discard、Open Recent Changes),所有操作基于当前选中文件/文件夹自动推导 .git 根目录。
GitGutter 负责编辑区左侧 gutter(非侧边栏!),实时显示 +/-/~ 标记,对应 added/deleted/modified 状态,无需额外配置,只要项目含 .git/ 即可响应。
- 二者安装后无需重启,也不冲突:一个管操作入口,一个管视觉反馈
-
SideBarEnhancements的 Git 命令能正确处理子模块、符号链接、中文路径等边界情况 -
GitGutter默认对比HEAD,若需比对其他分支,可在设置中改compare_against参数
别信“侧边栏染色”“文件名旁加 M/A/D”的说法
Sublime Text 原生不提供修改侧边栏文件节点样式的 API。所谓“侧边栏 Git 图标”,要么是把 gutter(行号区右侧)误认为侧边栏,要么是依赖已崩溃的 hack 补丁(如重写 side_bar.py 或 patch 主题文件)。这些方案在 ST4 更新后必然失效,且无官方支持。
-
Aygit和GitSavvy只能弹出独立状态面板,无法驱动侧栏 DOM 节点变更 -
highlight_modified_tabs设置只响应未保存的编辑状态,不是 Git 状态 - 强行修改
Packages/Theme - Default/side_bar.sublime-menu只影响右键菜单结构,不改变文件图标或颜色
真正能稳定落地的,就是接受“侧边栏不染色”这个事实,转而用 SideBarEnhancements 快速右键操作 + GitGutter 在编辑区一眼识别变更行 —— 这不是妥协,是贴合 Sublime 架构的合理分工。


















