Ctrl+Shift+R比Ctrl+P更适合找后缀文件,因其为纯文件名模式,仅按shell glob匹配,不解析函数、行号或符号,避免干扰;支持精确路径与排除规则,但需注意语法严格、大小写及刷新机制。

直接用 Ctrl+Shift+R,不是 Ctrl+P —— 后者会混入函数、符号、行号,干扰文件名筛选。
为什么 Ctrl+Shift+R 比 Ctrl+P 更适合找后缀文件?
因为 Ctrl+P 是通用跳转入口,支持 @(函数)、:(行号)、#(当前文件符号),所有这些都会污染纯文件名匹配结果;而 Ctrl+Shift+R 是它的“纯文件名模式”,只按文件名 glob 匹配,不解析内容或符号。
- 搜
*test*.py,Ctrl+Shift+R返回test_utils.py和integration_test.py,但不会出现test.js或任意含test的函数名 - 想精准定位
__init__.py?Ctrl+Shift+R能避开几十个init()函数声明的干扰 - 两者都受
folder_exclude_patterns控制:被排除的目录(如node_modules/)即使刷新也不会出现在结果里
Ctrl+Shift+R 的输入语法不是正则,是 shell glob
这个框语义严格,写错一个字符就完全不匹配:
- 搜整个项目:必须填
.(单个英文点),不是./,也不是留空 - 只搜
src/下所有文件(含子目录):填src/,不用加**或./ - 限定类型且递归:可用
src/**/*.ts,但不支持*.(ts|tsx) - 排除干扰目录:写成
., -/node_modules/, -/dist/(逗号分隔,斜杠统一用/) - 搜未保存的标签页:唯一方式是手动填
open_files,它不会出现在.或src/的扫描中
项目没加载对,Ctrl+Shift+R 就搜不到任何东西
Sublime 不实时监听文件系统。新建、重命名、删除文件后,Ctrl+P 和 Ctrl+Shift+R 的缓存都不会自动更新。
- 必须手动触发
Refresh Folders:按Ctrl+Shift+P→ 输入Refresh Folders→ 回车(注意不是Rebuild Index) - 确认左下角状态栏显示项目路径(如
~/my-project/),没有就说明根本没加载项目 - 如果项目根目录包含
package.json、src/、manage.py或go.mod,就该用File → Open Folder…打开这一层,而不是子目录
常见失效原因:路径写法和排除规则细节
看似简单,但几个字符之差就全军覆没:
- 写成
-node_modules(缺斜杠)→ 不生效 - 写成
-node_modules/(没加前导/)→ 只匹配名字开头是node_modules的路径,可能误杀my_node_modules_config.js - 正确写法是
-/node_modules/或-*/node_modules/ - Windows 用户注意:路径分隔符统一用
/,不要用\;src\*.py在 macOS/Linux 下直接失效 - 大小写敏感:默认不区分,但如果勾了
Match case,*.PY就匹配不到main.py
真正卡住人的往往不是功能不会用,而是 Where 框里那串看似随意、实则语法苛刻的 glob 表达式——多一个点、少一个斜杠、逗号后面多空格,结果就是零匹配。别猜,每次不确定就先 Refresh Folders,再用 . 试一次,看状态栏路径对不对。

















