必须在项目设置(.sublime-project)或用户设置(Preferences → Settings)中正确配置folder_exclude_patterns才生效;错误修改默认设置无效,且需用完整JSON结构包裹,如"folders": [{"path": ".", "folder_exclude_patterns": ["node_modules", ".git"]}]。

想让侧边栏不显示 node_modules、.git 这类文件夹,必须改项目设置或全局用户设置里的 folder_exclude_patterns,改错位置(比如只动默认设置)就完全无效。
folder_exclude_patterns 必须写在正确的位置才生效
Sublime 的侧边栏隐藏逻辑只认两个地方的 folder_exclude_patterns:一是当前项目的 .sublime-project 文件,二是 Preferences → Settings(用户设置)里。但二者作用范围不同:
- 项目设置中配置,只影响该侧边栏根目录下的内容,优先级最高
- 用户设置中配置,会影响所有通过“Add Folder to Project”打开的文件夹
- 千万别去改 Preferences → Settings – Default,那是只读的,改了也不生效
项目设置要手动补全 JSON 结构,常见错误是直接写:{"folder_exclude_patterns": ["node_modules"]}——这会失效,因为缺了 folders 包裹层。正确写法是:
{
"folders": [
{
"path": ".",
"folder_exclude_patterns": ["node_modules", ".git", "__pycache__", "dist"]
}
]
}
file_exclude_patterns 和 folder_exclude_patterns 别混用
名字像,但干的事完全不同:
-
folder_exclude_patterns:匹配的是**文件夹名**,比如填"node_modules"就能隐藏所有叫这个名字的目录(含其全部子内容) -
file_exclude_patterns:匹配的是**文件名**,比如"*.log"或"temp.*",对文件夹完全没反应 - 两者都支持通配符
*,但都不支持**或正则语法;大小写敏感,Node_modules不会被"node_modules"匹配
如果同时想隐藏某些文件和某些文件夹,得两个字段都写,不能只靠一个。
临时隐藏?右键菜单里没有“显示/隐藏”开关
Sublime 原生不提供右键点击文件夹后弹出“隐藏此项”的快捷操作。所谓“临时”,实际只有两种路径:
- 快速编辑当前项目设置:Project → Edit Project,加一行再保存,重启侧边栏即生效(不是实时刷新)
- 用插件辅助,比如 SideBarEnhancements(它增加了右键菜单项),但注意它依赖
folder_exclude_patterns配置才能工作,不是独立机制 - 别信“Show Hidden Files”选项——原生 Sublime 没这个菜单项,有也是插件伪造的,行为不可控
真正“临时”的做法其实是:不隐藏,而是用侧边栏顶部的搜索框输入关键词过滤显示,但这只是视觉折叠,不是隐藏。
排除规则不生效?先确认是否被其他插件覆盖
有些插件(如 GitGutter、LSP 客户端、SideBarEnhancements)会主动读取并修改侧边栏节点行为,甚至绕过 folder_exclude_patterns 自行注入目录。典型现象是:.git 明明写了排除,但侧边栏仍显示 Git 状态图标。
- 排查方法:关闭所有插件(Preferences → Package Control → Disable Package),再看是否还显示
- Git 相关插件常自带自己的
git_ignore行为,可能读取 .gitignore 而非 Sublime 设置 - 如果用了 multi-root workspace(多个根目录),每个根目录都得单独配
.sublime-project,共用一个配置不会跨根生效
最稳的做法是:先禁用插件验证基础行为,再逐个启用,定位干扰源——很多“不生效”问题,根源不在设置本身,而在插件叠加态。











