Ctrl+Shift+F 是唯一按文本内容跨文件搜索的快捷键,需确保项目已加载、Where填“.”或合法glob路径、开启Whole Word或正则提升精度,替换后须手动保存。

Ctrl+Shift+F 是唯一能跳转到“包含某段内容”的文件的入口,不是 Ctrl+P,也不是 F12——它不找文件名、不找函数定义,只找文本在哪些文件里真实存在。
为什么 Ctrl+Shift+F 搜不到,却以为是功能坏了
常见错误是没加载项目或路径范围填错:
- 左下角状态栏没有显示项目路径(如
~/my-project/),说明只是打开了单个文件,Ctrl+Shift+F面板会灰显或无结果 -
Where输入框留空 ≠ 搜整个项目,而是可能触发低效扫描;必须填.(单个英文点)才表示当前项目根目录 - Mac 用户需检查系统快捷键冲突:
Cmd+Shift+F常被 Spotlight 占用,要去「系统设置 → 键盘 → 快捷键 → Spotlight」关掉 - 刚用
File → Add Folder to Project加了新目录?等右下角 “Indexing…” 消失再搜,否则新增文件不会进索引
Where 框怎么填才真正限定文件范围
它不是路径补全器,是 Shell glob 表达式解析器,语义严格:
- 只搜
src/下所有文件(含子目录):填src/,不是src/**或./src/ - 排除
node_modules和dist:写成., -node_modules/, -dist/(逗号分隔,斜杠统一用/) - 只查 Python 文件:填
*.py;递归查src/下所有.py:填src/**/*.py - 想搜已打开但未保存的标签页:唯一合法值是
open_files,其他写法都无效 - 误写成
Button.vue或*/Button.vue——Where不接受文件名精确匹配,只认路径模式 + 后缀过滤
怎么避免搜到一堆无关结果
纯输关键词(比如 fetch)会命中注释、字符串、变量名甚至拼写相近的词:
- 点右上角
W(Whole Word)按钮,fetch就不再匹配refetch,但仍能匹配fetch() - 要更严格?启用正则(
.*按钮),写成\bfetch\b,注意转义括号:console\.log\(\) - 定位 JS 函数定义:用正则
^\s*function\s+render\b或\bconst\s+render\s*=\s*function - Python 函数:正则
^\s*def\s+render\b,同时Where填*.py - 中文或 Unicode 字符搜索前,确认右下角编码是
UTF-8,否则正则可能错位
真正容易被忽略的是:替换后必须手动按 Ctrl+K 松开 → 再按 Ctrl+B(macOS 是 Cmd+K → Cmd+B)执行 Save All,否则所有替换只存在内存里,关掉就丢。点击 Replace All in Files 不等于保存,这是设计,不是 bug。


















