Where输入框填错会导致搜索变慢或结果为空:留空或路径错误会使Sublime退化为低效扫描;必须填.搜整个项目,排除需用-/node_modules/等格式,folder_exclude_patterns对此无效。

Where 输入框填错会导致搜索变慢或结果为空
全局搜索不是“搜整个项目”默认行为,Where 框留空或填错路径,Sublime 会退化成低效扫描——尤其当项目含 node_modules 或 dist 时,可能卡住、内存飙升甚至无响应。
必须手动指定范围:
-
.(单个英文点)表示项目根目录,这是最常用且安全的写法;./、./src、src/(缺点)都不等效 - 只搜 JS 文件:
src/**/*.js(双星号才递归子目录) - 排除干扰:
., -/node_modules/, -/dist/, -/build/(逗号后必须加空格,每个排除项以-/开头、/结尾) - 限定文件类型组合:
*.py, *.ts(逗号分隔,不支持*.(py|ts))
正则模式没关好,搜索就失效或崩溃
很多用户输 console\.log\(\) 却搜不到,是因为 .* 图标没点蓝——它不是“增强版查找”,而是开关:不开启,所有正则元字符(\、^、$、\b)全当普通字符处理。
但开得随意也危险:
- 误开
.*后输.*(没加任何约束),会匹配空行甚至二进制内容,拖慢索引 - Sublime 正则不支持内联标志如
(?i),大小写必须靠右上角Aa按钮控制 - 想只找函数定义?用
^\s*def\s+parse_config\b(Python)或^\s*function\s+render\b(JS),^和\b缺一不可 - 搜中文或 Unicode 字符前,确认右下角状态栏显示
UTF-8,否则\b可能错位
folder_exclude_patterns 对 Find in Files 完全无效
很多人在 Preferences → Settings – User 里加了 "folder_exclude_patterns": ["node_modules"],却发现全局搜索还在 node_modules 里翻结果——因为这个配置只影响「索引构建」和 Ctrl+P 跳转,对 Ctrl+Shift+F 的实时扫描毫无作用。
真正起效的只有 Where 框里的排除规则,且必须满足格式:
-
-/node_modules/✅ 匹配根级node_modules -
-*/node_modules/✅ 匹配任意层级(如packages/foo/node_modules/) -
-node_modules❌ 不带-/前缀,不生效 -
-/node_modules❌ 缺少结尾/,不生效
顺带提醒:binary_file_patterns 配置会影响搜索性能——即使你已排除目录,若某文件被识别为二进制(如 package-lock.json),Sublime 仍可能尝试读取并卡住。
替换完不保存 = 白干
Replace All in Files 只把修改存在内存里,不会自动标记文件为“已修改”,也不会触发保存提示。关掉编辑器、切到其他标签页、甚至执行 Ctrl+S,都救不回这些改动。
必须手动执行:
-
File → Save All,或 - 快捷键:
Ctrl+K松开 →Ctrl+B(Windows/Linux),macOS 是Cmd+K→Cmd+B
更关键的是:替换前务必先点 Find All,看右下角是否显示命中数。如果数字异常大(比如 >500),别急着点 Replace All——大概率是 Where 范围太宽或正则没锚定边界,\bid\b 写成 id 就可能把 identity、child_id 全干掉。

















