files.exclude 能彻底隐藏 .vscode、.idea 等系统文件夹,需用 "/.vscode": true 等带 / 前缀的规则,避免仅写 ".vscode": true;工作区设置优先级高于用户设置,且该配置仅影响 ui 层显示,不影响编辑、调试或 git 操作。

files.exclude 能彻底隐藏 .vscode、.idea 这类系统文件夹
直接在 files.exclude 里加规则,就能让这些文件夹从资源管理器、Ctrl+P 快速打开、甚至搜索结果中完全消失——不是折叠,是根本不会被渲染出来。
常见写法:
-
"**/.vscode": true—— 隐藏所有层级的.vscode文件夹(包括子项目里的) -
"**/.idea": true—— 同理适用于 JetBrains 系列生成的配置目录 -
"**/.git": true—— 隐藏 Git 元数据目录(注意:这不影响 Git 功能,只是不显示)
别写 ".vscode": true,它只匹配项目根目录下的那一层,子目录里嵌套的 .vscode 依然可见。
路径含点号(.)的文件夹必须用 **/ 前缀才可靠
VS Code 的 glob 解析对以 . 开头的路径比较敏感。如果漏掉 **/,有些版本会直接忽略规则,或者只在极少数场景生效。
错误示范:
-
".vscode": true→ 只影响根目录,且某些 VS Code 版本(如 1.82 之前)可能完全不识别 -
".*/": true→ 想批量隐藏所有隐藏目录?别这么干,.*在 glob 中不等价于正则,而且容易误杀(比如匹配到.editorconfig文件)
正确做法始终是显式写出目标名 + **/ 前缀:"**/.vscode": true、"**/.idea": true、"**/.DS_Store": true。
工作区设置优先级高于用户设置,改错地方就白配
你改了全局设置(用户级),但打开的是一个带 .vscode/settings.json 的项目?那你的全局 files.exclude 会被完全覆盖——除非项目配置里没定义 files.exclude 字段。
验证是否生效,看右下角状态栏:显示「工作区」说明当前读取的是 .vscode/settings.json;显示「用户」才是全局配置。
推荐做法:
- 团队项目:一律写进
.vscode/settings.json,避免成员各自配置不一致 - 个人通用习惯:在用户设置里加
"**/._*": true(隐藏 macOS U 盘产生的._文件)或"**/.DS_Store": true - 不要混用:比如用户设置写了
"**/.vscode": true,又在工作区里留空"files.exclude": {},结果就是.vscode又出现了
隐藏后仍能编辑、调试、Git 提交,但拖拽操作会断链
files.exclude 是纯 UI 层过滤,不影响底层文件系统行为。你依然可以:
- 用终端执行
code .vscode/settings.json手动打开 - 在调试配置里引用
.vscode/launch.json中的字段 - Git status 显示
.vscode/下的变更(只要没写进.gitignore)
真正容易被忽略的副作用是:资源管理器里看不到这些文件夹后,你就没法再把它们拖进终端、调试控制台或命令面板里。得切回快捷键(比如 Ctrl+P 输入 .vscode/)来访问——视觉清爽了,交互路径就得重练一遍。











