VSCode缓存清理需先终止所有进程再精准删除四类目录;否则会导致插件灰显、视图卡死或启动白屏。必须关闭Code Helper、GPU、node/Electron等后台进程,再清理Cache、GPUCache、CachedData及带-cache后缀的插件子目录,缺一不可。

VSCode 没有官方“缓存清理工具”,所谓“工具”其实是手动精准删目录 + 强制进程退出的组合操作;用错路径或漏杀进程,反而会导致插件灰显、Extensions 视图卡死、甚至启动白屏。
必须先干掉所有 Code 进程,否则删了也白删
VSCode 启动后,即使关掉所有窗口,Code Helper (Renderer)、Code Helper (GPU)、node.exe(Windows)或 Electron(macOS/Linux)仍在后台锁着缓存文件。直接删目录会失败,或删完重启又自动恢复。
- Windows:打开任务管理器 → “详细信息”页 → 结束全部
Code.exe、Code Helper.exe、node.exe - macOS:活动监视器 → 搜索
Code→ 强制退出所有匹配项(含带括号的子进程) - Linux:终端执行
pkill -f "code"或killall code - 如果用过
Remote-WSL,务必先在 VSCode 里执行Ctrl+Shift+P→ 输入Remote-WSL: Close Remote Connection,再运行wsl --shutdown
只清这四个地方,别碰 User 和 GlobalStorage
缓存分散在多个位置,但只有以下四类可安全全删——删完重启自动重建,不丢 settings.json、快捷键、信任工作区或登录态:
-
Cache:Chromium 渲染层 HTTP 缓存(含 Marketplace 图片、JSON 响应),路径:
Windows:%APPDATA%\Code\Cache
macOS:~/Library/Caches/com.microsoft.VSCode/Cache
Linux:~/.cache/Code/Cache -
GPUCache:GPU 渲染缓存,常达几 GB,路径同上 Cache 目录(Windows 还在%APPDATA%\Code\GPUCache) -
CachedData:预编译 JS 模块和语言服务快照,路径:
Windows:%LOCALAPPDATA%\Programs\Microsoft VS Code\CachedData
macOS:~/Library/Application Support/Code/CachedData
Linux:~/.config/Code/CachedData -
*-cache插件子目录:更新中断残留的损坏包,如ms-python.python-2024.12.0-cache,路径:
Windows:%USERPROFILE%\.vscode\extensions\
macOS/Linux:~/.vscode/extensions/
⚠️ 只删带-cache后缀的文件夹,别碰ms-python.python-2024.12.0这类正式版本目录
删完重启变慢?这是重建缓存的正常信号
首次打开 Extensions 视图明显卡顿、搜索框转圈、图标延迟加载——说明清理生效了,VSCode 正在重新拉取 marketplace 元数据、解压插件、重建渲染资源。这不是故障,是必经过程。
- 若卡在“Fetching extensions…”超 30 秒,打开开发者工具(
Ctrl+Shift+I)→ Network 标签页,搜gallery.visualstudio.com,看是否返回200;全是403或timeout,问题不在缓存,在网络(代理、hosts 劫持、企业防火墙) - 删完立刻又涨回几 GB?大概率开着 Remote 开发(SSH/Dev Containers)或用了本地模型插件(如
ms-python.python),它们会在Remote或CachedData下另建缓存,需单独处理 - 想快速定位磁盘大户?PowerShell 一行命令查前五大目录:
cd "$env:APPDATA\Code"; Get-ChildItem -Directory | ForEach-Object { $size = (Get-ChildItem $_.FullName -Recurse -File | Measure-Object -Property Length -Sum).Sum; [PSCustomObject]@{Folder=$_.Name; SizeMB=[math]::Round($size/1MB, 2)} } | Sort-Object SizeMB -Descending | Select-Object -First 5
真正容易被忽略的点是:CachedData 和 Cache 必须一起清,只清一个会导致 Extensions 视图显示旧版本或反复报 Failed to fetch;而 *-cache 插件目录不清理,哪怕重装插件,VSCode 仍会优先尝试加载那个损坏的临时文件夹,结果就是灰显、语言服务器起不来——这不是插件问题,是缓存没清干净。











