VSCode中隐藏文件需同时修改files.exclude和search.exclude设置并重启文件夹才能生效,仅修改配置不重开文件夹无效,且远程开发需在远程窗口中修改对应设置。

VSCode 里看不到 .env、.git、.htaccess 这类文件,不是系统没显示,而是它自己用 files.exclude 主动拦掉了——改设置就能打开,但必须配对生效。
为什么改了设置还是不显示?必须重开文件夹
VSCode 对 files.exclude 的变更不会热更新资源管理器。哪怕你删掉了 "**/.*": true 并保存了 settings.json,也得执行 File > Close Folder 再 File > Open Folder 才能刷新文件树。只重启 VSCode 或点“重新加载窗口”完全无效。
- 这是最常卡住的一步,很多人改完以为好了,其实缓存还在
- 工作区设置(
.vscode/settings.json)优先级高于用户设置,优先检查这个文件是否存在files.exclude - 远程开发(Remote-SSH)时,必须在远程窗口中运行
Preferences: Open Remote Settings (JSON),本地改没用
如何让 .env 或 .git 显示出来?删规则 or 精确放行
直接编辑 workspace settings JSON,找到 files.exclude 段落:
- 想全部放开:删掉或注释掉
"**/.*": true - 只想放行
.env但继续隐藏.DS_Store和.git:
把原规则替换成:"**/.DS_Store": true,<br>"**/.git/**": true,<br>"**/.*": false
- 注意顺序无关,VSCode 按 glob 精确匹配,不是正则,
**/.git/**比**/.*更具体,会优先生效
显示出来了,但 Ctrl+P 找不到?检查 search.exclude
files.exclude 只管左侧资源管理器和 Ctrl+P 文件跳转;search.exclude 单独控制 Ctrl+Shift+F 全局搜索是否包含某路径。两者互不影响。
- 如果
.env在资源管理器里可见,但搜不到,大概率search.exclude还留着"**/.*": true - 建议在 workspace settings JSON 中显式加一行:
"search.exclude": {<br> "**/.*": false<br>} - 别依赖“没写就默认不屏蔽”,VSCode 有内置默认值,不显式覆盖就按默认走
编辑隐藏文件本身:不用“显示”也能打开
即使文件被 files.exclude 隐藏了,你仍可以直接打开它:
- 用
Ctrl+P(或Cmd+P),输入.env,回车就能编辑(前提是没被search.exclude屏蔽) - 右键资源管理器空白处 →
Open File...→ 手动导航到路径选择.env - 终端里
code .env启动编辑器,也会直接打开
真正容易被忽略的是:files.exclude 和 search.exclude 是两套独立开关,漏配一个,就会出现“看得见但搜不到”或“搜得到但树里不显示”的割裂状态。











