真正该清的是 workspaceStorage,它存有旧项目的语言服务索引,动辄2–8GB且不随项目删除自动清理;还需清理 .vscode 下的构建缓存、插件私有缓存及 GPUCache、CachedData 等隐形缓存。

为什么删了 node_modules 还是卡?真正该清的是 workspaceStorage
VSCode 卡顿、跳转定义慢、搜索变迟钝,八成不是 node_modules 没删干净,而是 workspaceStorage 里存着你半年前打开过的 monorepo 的完整语言服务索引。它不随项目删除自动清理,每个子目录动辄 2–8 GB,名字是随机 GUID,根本看不出对应哪个项目。
-
workspaceStorage路径(Windows):%APPDATA%\Code\workspaceStorage;macOS/Linux:~/Library/Application Support/Code/WorkspaceStorage或~/.config/Code/WorkspaceStorage - 进目录后按「修改日期」排序,直接删掉所有超过 90 天没更新的子文件夹——别手抖全选,否则刚打开的 React 项目索引就丢了
- 删完不用重启 VSCode,但下次打开旧项目会重建索引,首次跳转略慢属正常
- 如果用过 Remote - WSL,先在命令面板执行
Remote-WSL: Close Remote Connection,再删,否则部分子目录被锁住删不掉
构建产物残留:.vscode 目录里藏着被忽略的缓存
很多项目自动生成的 .vscode 文件夹里,除了 settings.json 和 tasks.json,还悄悄塞了 ./cache/、./.next/(Next.js)、./dist/ 或 ./out/。这些不是 VSCode 自身缓存,但会被它持续监听、扫描、索引,拖慢整个工作区响应。
- 检查
.vscode下是否存在cache、dist、out、.next、.nuxt等目录,直接rm -rf(macOS/Linux)或 Shift+Del(Windows) - 别依赖
git clean -fdx,它默认不碰.vscode,得加-e .vscode才能扫到这些隐藏缓存 - 如果项目用了 TypeScript +
tsbuildinfo,顺手删掉tsconfig.tsbuildinfo文件,它常因增量编译中断而损坏,导致 TS Server 反复崩溃
插件自己建的缓存:Python/Rust/ESLint 不会告诉你它在哪存了 3GB
像 ms-python.python、matklad.rust-analyzer、dbaeumer.vscode-eslint 这类语言插件,会在自己扩展目录下建私有缓存,比如 ~/.vscode/extensions/ms-python.python-2024.12.0/cache/ 或 ~/.vscode/extensions/matklad.rust-analyzer-*/server/cache/。这些路径不会出现在 VSCode 设置里,但占空间、拖性能、还容易损坏。
- 先进
~/.vscode/extensions/(Windows:%USERPROFILE%\.vscode\extensions),找目标插件文件夹(如ms-python.python-*) - 进去后手动删
cache/、.cache/、__pycache__/、server/cache/、rust-project-cache/等目录 - 别删
node_modules/——那是插件运行必需的,删了会导致插件直接失效 - 删完重启 VSCode,插件会重建缓存,但不会再加载上次损坏的索引
一键清理命令:避免漏掉 GPUCache 和 CachedData
手动翻路径容易漏掉 GPUCache(独立于 Cache 的 GPU 渲染缓存)和 CachedData(预编译 JS 模块,大项目极易堆积)。一行命令覆盖全部关键点,比图形界面更可靠。
- PowerShell(Windows):
Get-ChildItem "$env:APPDATA\Code\Cache" -Recurse | Remove-Item -Force -Recurse<br>Get-ChildItem "$env:APPDATA\Code\GPUCache" -Recurse -ErrorAction SilentlyContinue | Remove-Item -Force -Recurse<br>Get-ChildItem "$env:APPDATA\Code\CachedData" -Recurse -ErrorAction SilentlyContinue | Remove-Item -Force -Recurse<br>Get-ChildItem "$env:USERPROFILE\.vscode\extensions" | Where-Object {$_.Name -match '-cache$'} | Remove-Item -Recurse -Force - Bash(macOS/Linux):
rm -rf ~/Library/Caches/com.microsoft.VSCode/{Cache,GPUCache,CachedData}<br>find ~/.vscode/extensions -name "*-cache" -type d -exec rm -rf {} + - 运行前务必确认所有
Code.exe/Code Helper/node.exe进程已退出,否则部分目录删不干净,磁盘空间也不会释放
真正难清理的从来不是构建产物本身,而是 VSCode 和插件在背后默默生成、又从不主动回收的那些“隐形缓存”——它们不显示在项目里,却决定你每次 Ctrl+Click 跳转要等几秒。


















