Ctr+P仅支持文件名和路径模糊匹配,不识别.ts等glob语法;搜.ts文件必须用Ctrl+Shift+F配合Where字段精确填写如.//.ts,并确保项目已加载、索引刷新且未被排除规则过滤。

Ctr+P 不能搜文件内容,只认文件名和路径;搜特定类型文件必须用 Ctrl+Shift+F + Where 字段精确控制,否则不是漏文件就是卡死。
Ctrl+P 搜不到 .ts 文件?它压根不按后缀过滤
Ctr+P 是文件名/路径模糊匹配工具,输入 api 或 user/service 都行,但它不会识别 *.ts 这类 glob 表达式。想靠 Ctr+P 筛出所有 TypeScript 文件,只能靠手输 service.ts、index.ts 这种完整或近似名——效率低,且无法批量操作。
- 它不支持
*.ts、**/*.ts或正则语法 - 右下角显示
TypeScript语法标识,只影响@符号跳转,对 Ctr+P 无作用 - 若项目里
.ts文件被file_exclude_patterns排除(比如误加了"*.ts"),Ctr+P 和 Ctrl+Shift+F 都会静默跳过
Ctrl+Shift+F 的 Where 字段怎么填才真正限定 .ts 文件
Where 不是可选项,是搜索范围的强制开关。填错一个字符,就等于搜了别的地方。搜 .ts 文件,必须显式写出路径 + 后缀模式:
- 整个项目下的所有
.ts文件:./**/*.ts(注意开头./,不是.或空) - 只搜
src/下的.ts:src/**/*.ts(不用./src,Sublime 自动基于项目根目录解析) - 多个类型一起搜:
src/**/*.ts,src/**/*.tsx(逗号分隔,不支持*.(ts|tsx)) - 排除
node_modules:./**/*.ts,-node_modules/(减号开头,斜杠统一用/)
为什么搜到了 .js 却没搜到 .ts?检查三个硬性条件
搜不到特定类型文件,90% 不是快捷键问题,而是以下任一条件未满足:
- 项目没加载:左下角状态栏没显示类似
~/my-project/的路径,说明 Sublime 根本没把你的目录当项目——必须用File → Open Folder…打开含package.json或tsconfig.json的根目录 - 索引未就绪:新增
.ts文件后立刻搜,可能被跳过;按Ctrl+Shift+P→ 输入Refresh Folders→ 回车(不是Rebuild Index) - 被排除规则拦截:检查
Preferences → Settings – User中是否有"file_exclude_patterns": ["*.ts"]或"folder_exclude_patterns": ["node_modules/"]—— 后者虽合理,但若写成"node_modules"(缺斜杠)反而可能失效
搜 .ts 时卡顿或无响应?关掉 index_files 是关键
默认开启的实时索引在大型 TS 项目中极易拖慢搜索,尤其遇到 node_modules 或生成的 .d.ts 文件时。这不是配置错误,是设计限制:
- 在
Preferences → Settings中添加:"index_files": false(全局禁用索引,让 Ctrl+Shift+F 直接读文件) - 若仍卡,清缓存:
~/.config/sublime-text-3/Index/(Linux/macOS)或%LOCALAPPDATA%\Sublime Text 3\Index\(Windows) - 启用
Match Whole Word(Alt+Enter)再搜interface,可避免命中implements或注释里的字符串
最常被忽略的复杂点是:Where 字段中的路径始终相对于「已加载的项目根目录」,不是当前打开的文件路径,也不是系统绝对路径。哪怕你侧边栏只展开了 src/utils,Where 填 utils/ 也无效,必须写 src/utils/**/*.ts 或 ./src/utils/**/*.ts。


















