where输入框排除规则优先级最高,如“., -/node_modules/, -/dist/”可实时生效;项目配置需在.sublime-project的folders对象内设folder_exclude_patterns;全局设置无效且易误伤。

搜索时还卡在 node_modules?必须用 Where 输入框实时排除
Sublime 的 Find in Files(Ctrl+Shift+F)默认扫整个项目,一进 node_modules 就卡顿、结果堆满第三方代码——这不是配置没生效,而是你根本没用对地方。项目设置里的 folder_exclude_patterns 只影响侧边栏和索引,**不控制这次搜索的路径**。
- 打开搜索面板后,直接在右下角
Where输入框里写:., -/node_modules/, -/dist/, -*/__pycache__/ -
-/node_modules/排除根目录下的该文件夹;-*/__pycache__/排除所有层级的同名目录 - 多个规则用英文逗号分隔,逗号后必须有空格,否则 Sublime 会忽略后面所有排除项
- 这个方式优先级最高,改完立刻生效,适合临时验证或一次性精准查找
.sublime-project 里配 folder_exclude_patterns 才算永久生效
如果反复在同一个项目里避开相同目录(比如 React 项目的 node_modules、Next.js 的 .next),就得把规则固化到项目配置里。但注意:它只对当前项目生效,且结构稍错就完全不工作。
- 菜单 →
Project → Save Project As…,保存为myapp.sublime-project - 再点
Project → Edit Project,填入合法 JSON,确保外层有folders字段 -
folder_exclude_patterns必须写在folders数组每个对象内部,例如:{ "folders": [ { "path": ".", "folder_exclude_patterns": ["node_modules", ".git", "dist", ".next"] } ] } - 路径是相对
folders.path的,不是相对于.sublime-project文件本身;若path是"src",那"node_modules"就得改成"../node_modules"
别往用户设置里硬塞 folder_exclude_patterns
全局设置(Preferences → Settings)里加 folder_exclude_patterns 看似省事,实际容易误伤:Python 项目里排除 node_modules 没意义,前端项目里漏掉 venv 又可能暴露敏感配置。
- 它只影响侧边栏显示和
Ctrl+P模糊搜索,对Find in Files完全无效 - 某些插件(如
SideBarEnhancements)依赖完整目录结构,全局隐藏可能导致右键菜单异常 - 过度排除会让 Sublime 索引变“薄”,反而让
Ctrl+P漏掉本该出现的文件 - 真要全局统一过滤,建议只加通用项:
".git"、".DS_Store"、"*.log",其余交给项目配置
为什么写了 folder_exclude_patterns 还搜得到 .git?检查这三处
最常踩的坑不是不会写,而是写错位置、写错格式、或被更高优先级覆盖。
- 确认改的是
Preferences → Settings – Project,不是用户设置或默认设置 -
folder_exclude_patterns值是纯字符串数组,不能带斜杠:"node_modules"✅,"node_modules/"❌,"**/node_modules"❌ - Linux 下大小写敏感:
"Node_modules"≠"node_modules";Windows/macOS 通常不敏感,但别依赖这点 - 如果用了多根目录项目(multi-root workspace),每个
folders都得单独配folder_exclude_patterns
真正起效的永远是 Where 输入框里的那行规则,而不是藏在某个 JSON 里、你以为它“应该”生效的字段。项目配置只是帮你少输几次而已。











