直接点「使用排除项」开关可临时绕过files.exclude和search.exclude规则,使被排除文件如.env、.git/config等立即出现在搜索结果中,且仅作用于当前搜索会话。

直接点「使用排除项」开关就能临时显示
VSCode 搜索面板右下角那个斜杠盖住文件夹的图标,就是临时绕过所有 files.exclude 和 search.exclude 规则的总开关。点一下它变灰,再执行 Ctrl+Shift+F 搜索,.env、.git/config、.vscode/tasks.json 全部立刻出现在结果里——不用改任何配置,也不用重开文件夹。
这个操作只影响当前搜索会话,关掉搜索面板或新建一个搜索框后,它会自动恢复原状。适合快速查一次配置、确认某个被排除的文件内容是否正确,或者临时比对 .gitignore 和实际被排除的路径是否一致。
为什么改了 files.exclude 还不显示?必须重开文件夹
很多人删掉 "**/.*": true 后刷新窗口、重启 VSCode 甚至重装扩展,资源管理器还是空的。根本原因是 VSCode 的文件树缓存不会热更新——它只在打开文件夹时读取一次 files.exclude。
- 必须执行 File > Close Folder,再 File > Open Folder(不是 Open Workspace)
- 远程开发(Remote-SSH)场景下,要关的是远程端的文件夹,不是本地窗口
- 工作区设置(
.vscode/settings.json)优先级高于用户设置,改错地方等于没改
search.exclude 和 files.exclude 是两套独立系统
你让 .env 在资源管理器里显示出来了,但 Ctrl+Shift+F 还是搜不到?大概率是 search.exclude 还在起作用。它和 files.exclude 完全无关,也不会自动同步。
常见错误配置:
-
"**/.*": true同时出现在两个地方,只删files.exclude里的,漏了search.exclude - 以为删掉
search.exclude整个字段就安全了——其实 VSCode 有内置默认值,显式写"**/.*": false才真正生效 -
"*.env"写错了 glob:必须是"**/.env",否则src/.env不匹配
想长期灵活切换?装 toggle-excluded-files 扩展
如果频繁需要在「干净视图」和「全量文件」之间切换,手动改 JSON + 关闭重开太重。推荐安装 Karlo Lukic 开发的 toggle-excluded-files 扩展。
它不修改你的配置,而是运行时动态覆盖 files.exclude 的行为:
- 状态栏点击按钮,瞬间显示/隐藏所有被排除项
- 状态持久化:关掉 VSCode 再打开,上次的显示状态还在
- 支持键盘操作:Ctrl+Shift+P → 输入
Toggle Excluded Files
注意:它只影响资源管理器和 Ctrl+P 文件跳转,不影响搜索范围——search.exclude 还得单独配。











