VSCode默认"**/.*": true会过度隐藏所有点文件(如.env、.editorconfig),应替换为精准规则如"**/.DS_Store": true和"**/._*": true;修改files.exclude后需关闭并重新打开文件夹才能生效。

VSCode 默认用 "**/.*": true 隐藏所有点文件(如 .env、.gitignore),但这个规则会把本该可见的配置文件也一并藏掉;真要“隐藏系统文件”,得手动加精准规则,而不是依赖默认行为。
为什么 "**/.*": true 不是好选择
它太宽泛:不仅拦掉 .DS_Store、._* 这类纯系统垃圾,连 .env、.editorconfig、.prettierrc 全部消失。你改了配置却找不到文件,第一反应不是“我删错了”,而是“VSCode 抽风了”。
常见现象:Ctrl+P 搜不到 .env,资源管理器里空荡荡,但文件明明存在且可读——就是被这条默认规则吞了。
- 它不是系统级隐藏,只是
files.exclude主动过滤 - 删掉它后,
.git文件夹、.vscode目录也会露出来(这是正常且需要的) - 想保留部分点文件?别删整条,换成更细的规则,比如只加
"**/.DS_Store": true和"**/._*": true
files.exclude 是唯一管“看不看得见”的开关
search.exclude 只影响 Ctrl+Shift+F 搜索结果,对左侧文件树完全没用。很多人调了半天 search.exclude,发现 .DS_Store 还在侧边栏晃悠,就是因为搞混了职责。
真正起效的只有 files.exclude,它控制三处:
- 左侧资源管理器
-
Ctrl+P打开文件列表 - 新建/保存对话框里的路径提示
所以,要让系统文件彻底“不可见”,只往 files.exclude 里加就行,不用碰别的。
推荐直接写进 settings.json 的几条安全规则
图形界面点“添加模式”容易漏匹配深层子目录(比如 src/assets/._icon.png),必须手写 glob 才稳。
打开命令面板(Ctrl+Shift+P / Cmd+Shift+P),运行 Preferences: Open Settings (JSON),在 "files.exclude" 对象里补上:
"**/.DS_Store": true, "**/._*": true, "**/*.pyc": true, "**/Thumbs.db": true,
注意:
-
**/表示递归匹配任意深度,**/.DS_Store能覆盖根目录和所有子目录下的同名文件 - Windows 用户加
Thumbs.db,macOS 用户重点盯住._*—— 它可能藏在符号链接或带空格路径里,若某层没被隐藏,试试补"**/._*/**": true - 不要写
"**/*": true或"**": true,整个资源管理器会变空
用户级 vs 工作区级:优先选哪个?
如果你主要在 macOS 上开发,或者常插 U 盘、跨平台协作,设在用户级(全局)最省事;如果只是某个项目里塞了一堆 Finder 拷来的资料(附带大量 .DS_Store),就写进项目根目录的 .vscode/settings.json。
关键区别:
- 工作区级设置(
.vscode/settings.json)会完全覆盖用户级同名配置 - 很多人改了用户设置却没效果,就是因为当前项目已有
.vscode/settings.json,且里面也定义了files.exclude - 团队项目建议走工作区级,并提交到 Git —— 避免每人各自配错
真正容易被忽略的是:改完保存后,**不用重启 VSCode,但必须关闭再重新打开当前文件夹**(File > Close Folder → File > Open Folder),否则资源管理器缓存不刷新,规则看似没生效。


















