应通过项目级设置 folder_exclude_patterns 排除 node_modules、.git 等目录,如 "folder_exclude_patterns": ["node_modules", ".git", "dist", "__pycache__"];全局设置不推荐,且勿与 file_exclude_patterns 混用。

如何用 folder_exclude_patterns 跳过搜索目录
Sublime Text 默认会递归搜索项目内所有子目录,遇到 node_modules、.git 或大型构建输出目录(如 dist、build)时,搜索明显变慢,甚至卡顿。根本解法是告诉 Sublime “别进这些文件夹”。
操作路径:菜单 → Preferences → Settings – Project,在右侧 JSON 中添加或修改 folder_exclude_patterns 字段:
{
"folders": [
{
"path": ".",
"folder_exclude_patterns": ["node_modules", ".git", "dist", "__pycache__"]
}
]
}
注意:这是项目级设置,只对当前打开的文件夹生效;若想全局生效,可改 Preferences → Settings(用户设置),但不推荐——不同项目依赖结构差异大,全局排除容易误伤。
file_exclude_patterns 和 folder_exclude_patterns 别混用
两者作用对象不同,混淆会导致“以为排除了却还在搜”:
-
file_exclude_patterns:匹配文件名(如"*.log"、),对目录无效</li> <li><code>folder_exclude_patterns
:匹配**文件夹名**(不是路径),且只认最后一级目录名(如"node_modules"可排除./src/node_modules和./node_modules,但不能写成"src/node_modules") - 两者都支持通配符
*,但不支持正则;**无意义,Sublime 不识别
搜索仍卡?检查是否被 binary_file_patterns 拖累
即使跳过了目录,Sublime 还可能因尝试读取二进制文件(如图片、压缩包、编译产物)而卡住。它默认会跳过常见二进制后缀,但如果你项目里有自定义二进制格式(比如 .bundle、.wasm),就得手动加到 binary_file_patterns 里:
{
"binary_file_patterns": ["*.jpg", "*.png", "*.zip", "*.wasm", "*.bundle"]
}
这个设置影响所有搜索和 Goto Anything(Ctrl+P),加得太多会漏搜文本内容,加得太少会卡;建议只加确认不会含可读文本的扩展名。
为什么改了设置没立刻生效?
Sublime 不会自动重载索引,尤其在已打开搜索面板时:
- 关闭所有搜索面板(
Esc或点叉)再重新打开Ctrl+Shift+F - 如果用了
Project → Save Project As…,确保保存的是 `.sublime-project` 文件,而不是覆盖了 `.sublime-workspace` - 排除模式区分大小写:Windows/macOS 上一般不敏感,但 Linux 下
"Node_modules"≠"node_modules" - 路径中含空格或特殊字符(如括号)无需转义,直接写原名即可
最常被忽略的一点:Sublime 的“在文件中查找”(Ctrl+Shift+F)和“在文件夹中查找”(右键文件夹 → Find in Folder…)行为不同——后者不读取项目设置里的 folder_exclude_patterns,只用当前右键路径下的实际子目录,所以必须靠项目配置才能真正生效。











