sublime text 通过 folder_exclude_patterns 配置项排除目录,需在项目设置或用户设置中手动添加数组字符串(如["node_modules",".git"]),仅影响索引与搜索,不隐藏侧边栏;写错格式或位置将导致失效。

Sublime Text 本身不支持“全局排除某个文件夹”的图形化开关,所有目录过滤都靠 folder_exclude_patterns 配置项实现,且必须写在项目设置或用户/默认设置中 —— 直接在侧边栏右键“隐藏”只是临时视觉折叠,不会真正跳过索引和搜索。
怎么在当前项目里排除 node_modules、.git 等目录
打开项目后,点击 Project → Edit Project,在 folders 数组内为对应路径添加 folder_exclude_patterns:
{
"folders":
[
{
"path": ".",
"folder_exclude_patterns": ["node_modules", ".git", "__pycache__", ".DS_Store"]
}
]
}
注意:folder_exclude_patterns 是数组,每个元素是字符串(支持通配符 *,但不支持正则);它只对当前项目生效,不影响其他项目。
想让所有项目都默认排除某些目录怎么办
修改用户配置而非项目配置:
- 菜单栏选择 Preferences → Settings – User
- 在右侧 JSON 中添加
folder_exclude_patterns字段(不是放在folders下,而是顶层)
例如:
{
"folder_exclude_patterns": ["node_modules", ".git", "dist", "build"]
}
⚠️ 警告:这个设置会影响所有打开的文件夹(包括拖进来的单个文件夹),但对已打开的项目不立即生效 —— 需要关闭再重开,或重启 Sublime Text。
为什么用了 folder_exclude_patterns 还能在侧边栏看到目录
这是常见误解:folder_exclude_patterns 只控制「是否被索引」和「是否参与 Ctrl+P 搜索 / Ctrl+Shift+F 全局查找」,不控制侧边栏显示。侧边栏仍会列出匹配的文件夹,只是它们内部的文件不会被搜索命中。
如果想彻底隐藏,只能:
- 手动右键 → Hide Folder from Side Bar(仅当前会话有效)
- 用插件如
SideBarEnhancements配合自定义规则(非原生能力)
排除模式写错会导致什么问题
常见错误包括:
- 写成正则表达式(如
"^node_modules$")→ 无效,Sublime 只做简单通配匹配 - 路径含斜杠方向错误(如
"src/components/*")→ 不生效,folder_exclude_patterns只匹配文件夹名,不匹配路径层级 - 大小写敏感(Windows/macOS 默认不敏感,Linux 敏感)→
"Node_modules"在 Linux 下不会被排除 - 误用
file_exclude_patterns(它只管文件,不管文件夹)→ 对目录无效
最稳妥的做法:只写纯文件夹名,全部小写,避免路径分隔符和特殊符号。
真正起作用的是配置项名称和位置,而不是菜单里的“忽略”字样;改完记得保存并重启或重开项目,否则容易以为没生效。











