VSCode中隐藏文件由files.exclude规则主动过滤,非系统级隐藏;需在Workspace Settings JSON中删除或修改"*/.": true规则,并关闭再重新打开文件夹生效,同时需同步配置search.exclude确保可搜索。

VSCode 里“隐藏文件”不是系统级隐藏,而是靠 files.exclude 主动过滤掉的——删错规则或配错位置,.env、.git、.vscode 就会突然消失或死活不出现。
怎么让 .env、.htaccess 这类点文件重新显示出来
默认规则 "**/.*": true 会吃掉所有以 . 开头的文件。它藏在用户或工作区的 settings.json 里,不是系统设置,也不是 Git 配置。
- 打开命令面板(
Ctrl+Shift+P或Cmd+Shift+P),运行Preferences: Open Workspace Settings (JSON)(优先查工作区) - 找到
"files.exclude"对象,删掉或注释掉"**/.*": true这一行 - 保存后,必须关闭再重新打开当前文件夹(
File > Close Folder→File > Open Folder),资源管理器才刷新 - 如果只希望放行部分点文件(比如留
.env但继续藏.DS_Store),就别删整条,改写成:"**/.DS_Store": true、"**/.git/**": true,再单独加"**/.env": false(注意:false 表示“不隐藏”,VSCode 支持显式排除 + 显式放行)
为什么改了 files.exclude 却没效果
最常见原因是配置层级冲突:工作区设置会完全覆盖用户设置,而很多人改了全局 settings.json,却没意识到当前项目下已有 .vscode/settings.json。
- 先确认是否已存在工作区配置:打开命令面板,运行
Preferences: Open Workspace Settings (JSON),看有没有files.exclude字段 - 有就直接在里面改;没有才去动用户级设置(路径通常是
$HOME/Library/Application Support/Code/User/settings.jsonmacOS /%APPDATA%\Code\User\settings.jsonWindows) - 写错 glob 模式也会失效:
"node_modules"只匹配根目录,"**/node_modules"才递归;"**/*"这种宽泛模式会让整个侧边栏变空 - 插件(如 GitLens、ESLint)可能绕过
files.exclude主动读取文件,验证时建议先禁用扩展
files.exclude 和 search.exclude 到底有什么区别
一个管“看得见看不见”,一个管“搜得到搜不到”,两者完全独立,也不自动同步。
-
files.exclude控制左侧资源管理器、Ctrl+P文件跳转列表 -
search.exclude只影响Ctrl+Shift+F全局搜索范围,不影响侧边栏显示 - 想让
.env既显示又可搜,得同时检查两个地方是否都删了"**/.*": true - 临时跳过某些目录搜索?直接在搜索框右上角的 “files to exclude” 输入框填
node_modules/**,比改配置更安全
真正容易被忽略的是:改完 files.exclude 后,VSCode 不会热重载资源管理器,必须关闭再打开文件夹;而很多人以为按了保存就立刻生效,结果反复检查路径写法,其实只是缓存没刷。











