Sublime Text 默认不索引隐藏目录,临时搜索可于“Where”框输入“.git/”等路径;永久启用需在用户设置中设"index_files": true和"index_exclude_patterns": [],注意二者与folder_exclude_patterns互不影响。

Sublime Text 默认不会在搜索中包含隐藏目录(如 .git、.vscode 或以点开头的系统目录),但你可以通过两种互不冲突的方式“让它们被搜到”:一种是临时放开搜索范围(适合偶发调试),另一种是永久解除索引屏蔽(需谨慎)。关键在于区分「侧边栏是否显示」和「搜索是否索引」——它们由不同配置控制。
临时在 Find in Files 中包含隐藏目录(推荐用于调试)
这是最安全、最常用的方法。它不修改任何设置,只影响当前一次搜索,适合你突然想查 .git/config 里某段配置,或确认 .prettierrc 是否被正确读取。
- 按
Ctrl+Shift+F(Windows/Linux)或Cmd+Shift+F(macOS)打开全局搜索面板 - 在
Where输入框中,**显式写出隐藏目录的相对路径**,例如:., .git/, .prettier/
- 注意:
.表示当前项目根目录;.git/前**不能加短横线-**(那是排除语法);斜杠/推荐加上,避免匹配到同名文件 - 如果报错“no files found”,检查路径拼写(大小写敏感!)、是否真有该目录(
ls -la确认)、以及 Sublime 是否已加载该项目(非单文件打开)
永久启用对隐藏目录的索引(需改设置)
如果你经常要搜索 .env、.eslintrc.js、.github/workflows 这类配置,又不想每次手动输 Where,可以关闭 Sublime 的默认隐藏保护。但它会影响所有搜索功能(包括 Ctrl+P),且可能拖慢大项目响应速度。
- 打开
Preferences → Settings,在右侧用户设置中添加:"index_files": true,
"index_exclude_patterns": [] -
index_files: true是前提(默认就是 true,但某些旧版或插件会覆盖它) -
index_exclude_patterns: []清空默认排除列表(Sublime 默认值含".*",即所有点开头的文件/目录) - ⚠️ 注意:
folder_exclude_patterns和file_exclude_patterns**不影响索引**,只控制侧边栏显示和部分 UI 过滤,所以改这两个没用 - 改完保存,重启 Sublime 或执行
Project → Refresh Folders生效
为什么 folder_exclude_patterns 不起作用?
很多用户误以为把 ".git" 从 folder_exclude_patterns 列表里删掉,就能搜到它——这是常见误解。这个设置只决定「侧边栏是否显示」,而搜索索引走的是另一套机制(index_exclude_patterns)。
- 你可以在项目设置里同时保留:
"folder_exclude_patterns": [".git", "node_modules"],
→ 侧边栏看不到
"index_exclude_patterns": [].git,但Find in Files和Ctrl+P仍能搜到它 - 反之,若你删了
folder_exclude_patterns里的.git却没动index_exclude_patterns,侧边栏能看到.git,但搜索仍找不到——因为索引层还是屏蔽着 - Mac 用户注意:
Cmd+Shift+.只切换侧边栏的「系统级隐藏文件」(如.DS_Store),对 Sublime 自己的索引规则无效
真正需要搜隐藏目录时,优先用 Where 框临时加路径;只有当高频、跨项目使用才考虑改 index_exclude_patterns。后者容易被忽略的点是:它不继承项目级配置,必须写在用户设置里,且一旦清空,连 .sublime-project 文件本身也会出现在 Ctrl+P 结果中。










