必须用 File → Open Folder… 加载项目根目录,否则 Find in Files 的 Where 字段灰显;Windows/Linux 用 Ctrl+Shift+F、macOS 用 Cmd+Shift+F 触发跨文件扫描;Where 填 . 才扫整个项目,./src/*/.js 递归搜 JS,., -node_modules/, -dist 排除目录;正则需 (?s) 跨行,捕获组用 $1,非贪婪匹配防吞引号。

必须先用 File → Open Folder… 加载项目根目录,否则 Find in Files 面板的 Where 字段会灰显或仅限“Open Files”,根本扫不到子文件。
快捷键和面板入口必须用对
Windows/Linux 按 Ctrl+Shift+F,macOS 按 Cmd+Shift+F —— 这是唯一触发跨文件扫描的命令。Ctrl+H 只作用于当前标签页,右键菜单里的“在文件中查找”也常被插件劫持而失效。如果按了没反应,去 Preferences → Key Bindings – User 检查是否有插件覆盖了该快捷键。
Where 字段填什么才真正扫整个项目
Where 不是路径补全框,是 Shell 风格过滤表达式,空着就等于只搜当前打开的文件:
- 整个项目:必须填单个英文点
.(不是./,也不是./src) - 只改 JS 文件:写
./src/**/*.js(双星号**才递归) - 排除
node_modules和dist:用逗号分隔 + 减号前缀,如., -node_modules/, -dist/ - Linux/macOS 下路径区分大小写:
./SRC和./src是两个目录
正则替换的关键细节和常见坑
启用正则后,. 默认不匹配换行符,foo.*bar 找不到 foo\nbar;要跨行得加 (?s) 前缀:(?s)foo.*bar。捕获组引用只能用 $1、$2,\1 在 Sublime 里是字面量,不会被解析。
- 匹配属性值必须用非贪婪组:
src="([^"]*\.png)",别写src=".*\.png",否则会吞掉中间所有引号内容 - 想精准匹配单词边界:
\buser_id\b对下划线不敏感,可能误中username;更稳的是(? - 替换前务必点
Find All预览所有匹配项,确认无误再点Replace All -
Replace All后不会自动保存,必须手动Save All(Ctrl+Alt+S或Cmd+Alt+S)
最易被忽略的一点:Sublime 的 Find in Files 不会自动识别你电脑上任意位置的文件,它只搜索你通过 File → Open Folder… 显式加载的那个根目录及其子目录——哪怕你在资源管理器里看到项目就在桌面,没这一步,它就完全看不见。

















