files.exclude 是唯一能让文件在资源管理器中彻底隐藏的配置项,需用 glob 模式写入 .vscode/settings.json,路径相对工作区根目录,错误模式可能导致资源管理器空白。

files.exclude 是唯一能“永久隐藏”的配置项
想让文件或文件夹在资源管理器(左侧文件树)里彻底消失,不是折叠、不是过滤、是真·不显示,只能靠 files.exclude。它和 search.exclude 完全无关:search.exclude 只影响 Ctrl+Shift+F 的搜索结果,对侧边栏毫无作用。很多人配了 search.exclude 后发现文件还在,就是误用了这个配置。
路径必须用 glob 模式,且相对工作区根目录
files.exclude 的值是键值对,键是 glob 模式,所有路径都从你打开的文件夹(即工作区根)开始算起。常见写法差异直接影响是否生效:
-
"dist"→ 只匹配根目录下的dist文件夹,子目录里的无效 -
"**/dist"→ 正确,递归匹配任意层级的dist目录 -
"dist/**"→ 不合法,VS Code 不识别这种开头无通配符的写法 -
"**/node_modules/**"→ 能隐藏内容,但比"**/node_modules"多一层遍历,无必要 -
"**/*.exe"→ 隐藏所有位置的 .exe 文件,空格不用转义,直接写"my folder"即可
必须写进 .vscode/settings.json 才算“项目级永久”
用户级设置(全局)会影响所有项目,但团队协作时容易冲突;真正“永久”且可复现的隐藏规则,应该落在项目本身:
- 确保项目根目录下有
.vscode文件夹,没有就手动创建 - 在其中新建或编辑
.vscode/settings.json,内容必须是完整 JSON 对象,不能只写一个字段 - 示例结构:
{ "files.exclude": { "**/dist": true, "**/build": true, ".DS_Store": true } } - 保存后资源管理器立刻刷新,无需重启 VS Code
- 工作区配置会覆盖用户级同名设置,优先级更高
别被插件或视图“骗”了
files.exclude 只控制资源管理器的视觉呈现,其他地方可能仍能看到被隐藏的文件:
- Git 扩展、ESLint、GitLens 等插件可能主动读取
node_modules或.git,导致它们在对应面板中依然出现 - 右键某个被隐藏文件夹 → “在终端中打开”,命令行里照样能进,说明文件没丢也没删
- 如果某图标(如 SCM/Git)突然不见了,先确认是不是当前文件夹根本没初始化 Git 仓库,而不是被隐藏了
最易被忽略的一点:写错 glob 模式(比如 "**/*" 或 "**")会导致整个资源管理器变空——不是崩溃,是全被过滤掉了,这时候得手动删掉错误配置才能恢复。











