Sublime Text 不自动读取或应用 .gitignore 规则隐藏文件;侧边栏仅识别 folder_exclude_patterns 和 file_exclude_patterns 本地设置,需手动同步简单规则,Git 插件如 GitGutter 仅用其标记状态,不隐藏文件。

Sublime Text 本身不内置 Git 忽略功能,.gitignore 文件的生效完全由 Git 控制;Sublime 只能通过插件(如 GitGutter 或 SideBarEnhancements)辅助显示状态或右键操作,但**不会自动读取或应用 .gitignore 规则来隐藏文件**。
Sublime Text 里文件没被隐藏?不是配置错了,是它本来就不支持
很多人以为在 Sublime 里设置某个选项就能让被 .gitignore 的文件“消失”或“变灰”,实际上:Sublime 的侧边栏(Sidebar)默认**完全无视 .gitignore**。它只认 folder_exclude_patterns 和 file_exclude_patterns 这两个本地设置。
-
folder_exclude_patterns控制哪些文件夹不显示(例如["node_modules", "__pycache__"]) -
file_exclude_patterns控制哪些文件名不显示(例如["*.pyc", "*.log"]) - 这些规则是纯字符串/通配符匹配,不支持
.gitignore的语法(比如!src/main.js、双星号**/temp/、注释行等) - 修改后需重启 Sublime 或刷新侧边栏(右键 →
Refresh Folders)才生效
想让 Sublime 侧边栏“看起来像”遵循 .gitignore?手动同步是唯一办法
没有插件能全自动把 .gitignore 转成 Sublime 的排除规则,但你可以用脚本半自动提取常用条目。注意:只适用于简单规则,复杂路径或否定规则(!)必须人工处理。
- 打开项目根目录下的
.gitignore - 逐行检查,把形如
build/、*.swp、dist的规则,转换为 Sublime 支持的格式(去掉开头斜杠、不加**/) - 在 Sublime 中按
Cmd+,(macOS)或Ctrl+,(Windows/Linux)打开用户设置,添加或合并:
{
"folder_exclude_patterns": ["build", "dist", "node_modules", ".git"],
"file_exclude_patterns": ["*.pyc", "*.log", "*.tmp", ".DS_Store"]
}
⚠️ 注意:.git 文件夹本身会被 Git 自动管理,但 Sublime 默认不隐藏它——如果你希望隐藏,必须显式加入 "folder_exclude_patterns"。
Git 插件(如 GitGutter)能识别 .gitignore 吗?能,但只用于状态标记
像 GitGutter 这类插件会调用 git status 获取文件状态,并据此在行号旁显示 +/−/● 图标。它确实尊重 .gitignore:被忽略的文件不会显示任何图标,也不会出现在 git status 输出中。
- 但它**不会隐藏文件、不会禁用编辑、也不会过滤命令面板里的文件搜索结果**
- 如果你用
Ctrl+P(Goto Anything),被.gitignore的文件依然会出现——因为这是 Sublime 自己的索引机制,和 Git 无关 - 如果发现某文件明明在
.gitignore里却还显示 GitGutter 图标,大概率是它已被git add过(即已跟踪),Git 会继续监控已跟踪文件,忽略规则对其无效
真正要让 Sublime “配合” Git 忽略逻辑,核心就一点:别指望它自动同步 .gitignore,老老实实维护两套规则——Git 管版本控制行为,Sublime 管界面视觉过滤。最容易被忽略的是“已跟踪文件不受 .gitignore 影响”这一点,删掉 .gitignore 条目根本不会让 Git 停止追踪,得用 git rm --cached <file> 手动解除。

















