files.exclude 必须写入项目级 .vscode/settings.json 才生效,路径需用 glob 模式(如 "**/dist"),且需同步配置 search.exclude 以控制搜索范围;隐藏仅作用于资源管理器,不影响 ctrl+p、git、终端等其他功能。

files.exclude 必须写进 .vscode/settings.json 才生效
项目级排除规则只在工作区配置中起作用,用户级 settings.json 会被覆盖。直接在项目根目录建 .vscode/settings.json,填完整 JSON 对象,别只塞一个字段。
常见错误是改了全局设置却发现项目里文件还在资源管理器里——因为 VSCode 优先读 .vscode/settings.json,它存在时用户设置就失效了。
- 路径必须用 glob 模式,如
"**/dist",不是"dist"或"dist/**" -
"dist"只匹配根目录下的 dist;"dist/**"是非法写法,VSCode 不认 - 想隐藏所有层级的
node_modules,得同时写"node_modules"和"**/node_modules",否则根目录那个漏掉 - 保存后资源管理器立刻刷新,不用重启 VSCode
search.exclude 和 files.exclude 必须分开配
很多人以为配了 files.exclude 就自动不搜了,结果 Ctrl+Shift+F 还是一堆 node_modules 里的匹配项——因为 search.exclude 是独立开关,不联动。
两者语义不同:files.exclude 控制视觉显示,search.exclude 控制搜索索引范围。性能影响也不同:没配 search.exclude 会导致搜索卡顿甚至无响应,尤其在大项目里。
微软正式发布 Visual Studio Code 1.118 版本 。本次更新重点强化了 AI 开发体验与企业管理能力,其中最引人注目的是新增 Copilot CLI 远程控制功能,允许开发者通过手机或网页远程监控和接管 AI 会话 。同时,为了提高 AI 的运行性价比,新版本优化了令牌缓存策略以降低成本 。此外,1.118 版还引入了 Chronicle 本地历史追踪、TypeScript 7.0 支持以及更严格的企业级访问管控 。
-
search.exclude推荐加/**后缀(如"**/node_modules/**"),对嵌套子包更可靠 -
files.exclude用"**/node_modules"就够,多加/**反而略拖慢渲染 - 如果搜索框右上角点了
files to include(那个 ? 图标),会直接覆盖search.exclude,记得关掉
排除单个文件或特定类型要写对 glob
隐藏 .env、.DS_Store 或所有日志文件,不能靠猜测,得按 VSCode 的 glob 规则来。
它用的是 minimatch,不支持正则,只认 *(单层通配)、**(递归)、?(单字符)和括号表达式。
-
".env"→ 隐藏根目录下的 .env -
"**/.env"→ 隐藏所有层级的 .env(比如 nested/.env) -
"**/*.log"→ 所有 .log 文件,无论在哪层目录 -
"logs/**"→ logs 目录及其全部子内容(注意开头没**/,只匹配根目录下的 logs) - 别写
^.*\.log$或/\.log$/,这些全无效
被隐藏的文件仍可能从其他入口暴露
files.exclude 只管资源管理器,不影响底层行为。这点容易被忽略,导致误操作。
-
Ctrl+P(快速打开)仍能搜到被files.exclude隐藏的文件,除非你同步配了search.exclude - Git 状态(SCM 面板)完全不受影响,.gitignore 和
files.exclude互不干扰 - 终端、调试器、任务运行器照常访问这些文件,隐藏只是 UI 层面的过滤
- 如果某目录没消失,检查是否被
files.include显式包含——它会覆盖exclude










