在 VSCode 中通过配置 files.exclude 可隐藏侧边栏中指定文件夹(如 node_modules、.git、dist),仅影响资源管理器显示,不改变文件功能;需在 settings.json 中添加 glob 规则,如 "node_modules": true。

如何用 files.exclude 隐藏侧边栏中的文件夹
VSCode 侧边栏里总有些文件夹(比如 node_modules、.git、dist)既不常看又占空间,直接隐藏最干净。核心方法是配置 files.exclude,它只影响资源管理器(即侧边栏)的显示,不删除也不影响编辑、搜索、调试等其他功能。
操作路径:打开设置(Ctrl+, 或 Cmd+,)→ 搜索 files.exclude → 点击“在 settings.json 中编辑” → 添加规则。注意:该配置支持 glob 模式,且区分大小写(Windows/macOS 默认不区分,但建议按实际大小写写)。
-
"node_modules": true—— 隐藏项目根目录下的node_modules —— 隐藏所有子目录里的node_modules(含嵌套依赖)-
"dist": true—— 隐藏根级dist,但不会影响src/dist -
"**/dist": true—— 隐藏任意层级的dist文件夹 - 想保留某个特定
dist?加负向排除:"!src/my-dist": true(需放在正向规则之后)
files.exclude 和 search.exclude 的区别在哪
很多人误以为改了 files.exclude 就能一并屏蔽搜索结果,其实不是。这两个配置完全独立:
-
files.exclude只控制侧边栏是否显示文件/文件夹 -
search.exclude控制全局搜索(Ctrl+Shift+F)是否扫描对应路径 - 例如:你隐藏了
node_modules,但默认情况下它仍会被全文搜索扫到 —— 这时候得单独配search.exclude - 如果只想隐藏不搜索,两个都设成
"**/node_modules": true即可;如果只想禁搜但保留在侧边栏,就只动search.exclude
为什么改了 files.exclude 没生效
常见失效原因不是语法错,而是作用域或优先级问题:
- 工作区设置(
.vscode/settings.json)会覆盖用户设置,检查你是否在错误的位置写了规则 - 多根工作区下,每个文件夹有自己的
.vscode/settings.json,规则只对本文件夹生效 - 路径匹配以斜杠为界,
"build/*"不会匹配build文件夹本身,要写成"build": true - 通配符
**必须带斜杠使用,"**dist"是无效的,正确是"**/dist" - 修改后无需重启 VSCode,但已展开的父文件夹可能需要手动折叠再展开一次才刷新显示
隐藏文件夹会影响 Git 或调试吗
完全不影响。VSCode 的 files.exclude 是纯 UI 层过滤,Git 操作(提交、状态查看)、终端命令、调试器断点设置、代码跳转(Go to Definition)全部照常工作。
真正要注意的是:如果你习惯靠侧边栏拖拽文件进终端或编辑器,隐藏后就得用快捷键(如 Ctrl+P 打开文件)或手动输入路径 —— 这其实是更稳定的习惯,尤其在大型项目里。
另外,别用 explorer.autoReveal 这类设置强行“找回”被隐藏的文件夹,它只会干扰已有逻辑,解决不了根本需求。











