便携版与安装版搜索排除机制完全一致,关键在于Where输入框实时规则(如., -/node_modules/, -/dist/)和.sublime-project中正确结构的folder_exclude_patterns配置。

便携版 Sublime 和安装版在搜索排除机制上完全一致,没有额外限制——关键不是“便携不便携”,而是你有没有在正确位置、用正确语法写对规则。
Where 输入框是唯一实时生效的排除入口
无论你用的是便携版还是安装版,Ctrl+Shift+F 打开的搜索面板右下角 Where 输入框,才是控制本次搜索路径的唯一有效位置。改用户设置或项目配置里的 folder_exclude_patterns 对它完全无效。
- 必须以
.开头表示当前项目根目录,例如:., -/node_modules/, -/dist/ - 每个排除项以
-开头,路径末尾必须带/:-/node_modules/✅,-node_modules❌,-/node_modules❌ - 多个规则用英文逗号分隔,且逗号后必须跟一个空格:
., -/dist/, -*/__pycache__/✅ -
-*/node_modules/可匹配所有层级(如packages/foo/node_modules/),而-/node_modules/只匹配根目录下
.sublime-project 配置才能“永久”跳过目录
便携版同样支持项目级配置,只要保存为 .sublime-project 文件,Sublime 就会读取它。但结构稍错就完全不生效。
- 必须有外层
"folders"数组,"folder_exclude_patterns"是每个"folders"对象的子字段 - 路径是相对于
"path"字段的,不是相对于.sublime-project文件本身。例如:"path": "src",要排除根目录下的node_modules,就得写"../node_modules" - 只写文件夹 basename:
"node_modules"✅,"node_modules/"或"./node_modules"❌ - 修改后需关闭并重开搜索面板(按
Esc关掉再Ctrl+Shift+F),否则看不到效果
binary_file_patterns 会偷偷导致漏搜
即使你已用 Where 或 .sublime-project 排除了目录,搜索仍可能卡顿或漏结果——问题常出在 binary_file_patterns。
- Sublime 默认把
.wasm、.bundle、.zip等识别为二进制,直接跳过内容扫描 - 如果你项目里有自定义文本格式(比如
.gql、.schema),又没从binary_file_patterns中移除,它就会被当成二进制忽略 - 检查方法:打开一个疑似被跳过的文件,看右下角状态栏是否显示
Binary;如果是,就得把它从binary_file_patterns列表中删掉 - 这个设置影响所有搜索和
Ctrl+P,改完建议重启 Sublime 或至少重开所有面板
最常被忽略的一点:便携版不会自动继承系统路径或注册表设置,所有配置都依赖本地文件;如果你复制了别人配好的便携包,但没同步 .sublime-project 或用户设置里的 binary_file_patterns,那排除规则很可能根本没加载。

















