vscode全局搜索默认排除隐藏文件,需关闭search.useignorefiles或在“包含文件”中指定如.vscode/**.json等规则;files.exclude不影响搜索。

全局搜索默认不包含隐藏文件,必须显式放开
VSCode 默认会跳过以 .git、.vscode、.env 等开头的隐藏文件和目录,哪怕它们物理存在且未被 .gitignore 排除。这不是 bug,而是由 search.useIgnoreFiles 和底层默认排除规则共同控制的行为。想搜到 .prettierrc、.eslintrc.js 或 .vscode/settings.json,得先确认它们没被双重屏蔽。
检查并关闭 search.useIgnoreFiles 是关键一步
该设置启用后,VSCode 会自动读取项目根目录下的 .gitignore、.ignore 甚至 .eslintignore,把其中列出的路径也加入搜索排除列表——而这些文件里通常包含 .vscode、.prettier* 等模式。即使你没手动配置 search.exclude,它也可能悄悄把你需要的隐藏文件过滤掉。
- 打开设置(
Ctrl + ,),搜索search.useIgnoreFiles - 把它设为
false(注意:这仅影响搜索,不影响 Git 提交行为) - 如果项目有
.gitignore且含.vscode/,现在就能搜到.vscode/settings.json了
用 include 规则精准定位隐藏文件,比改 exclude 更安全
直接修改 search.exclude 去“删掉”某条规则风险高,容易误放其他敏感路径。更推荐在搜索面板的“包含文件”框中主动指定目标:
- 按
Ctrl + Shift + F打开全局搜索 - 在“包含文件”输入框中填:
.vscode/*.json(搜所有 VSCode 配置) - 或:
**/.env*(搜所有环境文件,包括.env.local) - 或:
**/.*rc(搜所有以.rc结尾的隐藏配置文件) - 支持
!否定,例如:**/*.js,!node_modules/**表示只搜 JS 文件但排除 node_modules
files.exclude 不影响搜索,别混淆这两个配置
files.exclude 只控制左侧资源管理器是否显示文件,对全局搜索完全无感;search.exclude 才真正决定搜索时跳过哪些路径。常见误区是以为关掉 files.exclude 就能搜到隐藏文件——其实毫无关系。如果你发现 .editorconfig 在资源管理器里可见但搜不到,问题一定出在 search.useIgnoreFiles 或 search.exclude 上,而不是 files.exclude。
真正容易被忽略的是:某些团队会在工作区 .vscode/settings.json 里强制开启 search.useIgnoreFiles: true,且禁止覆盖。这种情况下,你得先确认自己是否有权限改该文件,否则搜索永远看不到被 .gitignore 拦住的隐藏配置。











