vscode压缩文件太多了怎么办

2次阅读

vs code 中 node_modules 和 .git 被扫描导致卡顿,需在工作区 .vscode/settings.json 中配置 files.exclude 排除;search.exclude 仅影响搜索,files.exclude 才控制资源管理器、文件跳转及语言服务索引;.gitignore 无法替代该配置。

vscode压缩文件太多了怎么办

VS Code 里 node_modules.git 被压缩进工作区怎么办

VS Code 默认会把整个文件夹(包括 node_modules.gityarn.lock 等)纳入资源管理器和搜索范围,不是“压缩”,是它真正在扫描——结果就是卡顿、搜索慢、侧边栏膨胀。这不是 bug,是默认行为。

解决思路很直接:告诉 VS Code 哪些目录根本不用管。

  • 打开工作区根目录下的 .vscode/settings.json(没有就新建)
  • 加这一段:
    {   "files.exclude": {     "**/node_modules": true,     "**/.git": true,     "**/dist": true,     "**/build": true,     "**/*.log": true   } }
  • 如果用的是多根工作区,这个配置要放在工作区的 .code-workspace 文件里,而不是用户全局设置中

search.excludefiles.exclude 有什么区别

两个都管“隐藏”,但作用域不同:前者只影响搜索(Ctrl+Shift+F),后者还影响资源管理器显示、文件跳转(Ctrl+P)、甚至部分扩展的行为(比如 ESLint 或 Prettier 的路径解析)。

常见误操作是只配了 search.exclude,结果资源管理器还是满屏 node_modules,以为没生效。

  • files.exclude 是基础防线,必须配
  • search.exclude 可以更激进,比如加上 "**/coverage": true,避免搜测试报告干扰
  • 注意语法:"**/xxx" 表示递归匹配所有层级的 xxx 目录;"xxx" 只匹配项目根下的 xxx

gitignore 能代替 VS Code 排除吗

不能。VS Code 不读 .gitignore 来决定是否显示文件——除非你装了插件(比如 GitLens),但它也只是视觉灰掉,并不真正排除搜索或语言服务索引。

语言服务器(如 typescript Server)仍会尝试解析 node_modules 下的类型声明,导致内存暴涨、CPU 占满。这时候光靠 .gitignore 毫无作用。

  • 务必手动配 files.exclude,这是唯一能阻止 VS Code 加载这些目录的方式
  • TypeScript 项目建议额外加 "typescript.preferences.includePackageJsonautoImports": "auto",减少对 node_modules 的主动探测
  • 如果用了 pnpm,node_modules 是硬链接结构,VS Code 更容易卡,此时 files.exclude 尤其关键

重启 VS Code 后还是卡?检查这三处

配完不生效,大概率是缓存或配置位置错了。

  • 确认改的是当前工作区的 .vscode/settings.json,不是用户级的 settings.json(路径通常在 ~/.config/Code/User/settings.json
  • 关闭所有窗口,再用 code . 重新打开项目目录(不要从最近打开里点)
  • Ctrl+Shift+P 输入 Developer: Toggle Developer Tools,看 console 有没有 ENOSPC 或大量 watcher 错误——说明文件监听器超限,得加 files.watcherExclude

复杂项目里,files.watcherExclude 往往比 files.exclude 还重要,尤其在 WSL 或 docker Desktop 环境下,inotify 限制极低,漏配这个,改个文件都反应不过来。

text=ZqhQzanResources