VSCode退出时不会自动清缓存,所有缓存(Cache、GPUCache、workspaceStorage、插件-cache等)均保留以加速重启;可安全删除Cache、GPUCache及半年未访问的workspaceStorage子目录和-plugin-cache文件夹,但User与GlobalStorage不可删。

VSCode 退出时不会自动清缓存,必须手动干预
VSCode 没有内置的“退出时自动清除缓存”机制。所有缓存(Cache、GPUCache、workspaceStorage、插件 -cache 子目录等)在退出后原封不动保留,这是设计使然——为加速下次启动和维持 UI 状态。指望它像浏览器那样关掉就清空,会持续积累几十 GB 占用。
哪些缓存能被安全删,且删完不丢配置
这些目录可放心全删,重启 VSCode 后自动重建,不影响 settings.json、快捷键、代码片段或登录态:
-
%APPDATA%\Code\Cache和%APPDATA%\Code\GPUCache(Windows);~/Library/Caches/com.microsoft.VSCode(macOS);~/.cache/Code(Linux) -
%APPDATA%\Code\workspaceStorage下按修改时间筛选出半年以上未访问的子目录(名字是 UUID,可结合文件夹属性判断) -
%APPDATA%\Code\Extensions中带-cache后缀的文件夹(如ms-python.python-2024.8.0-cache),全是更新中断残留,删了无害
别碰 %APPDATA%\Code\User 和 %APPDATA%\Code\GlobalStorage —— 这里存着你全部人工配置。
想“伪自动”,只能靠脚本+退出流程配合
没有一键开关,但你可以把清理动作嵌入退出习惯中:
- 每次关 VSCode 前,先执行
Terminal: Clear Scrollback(清终端历史),再关闭所有终端 tab - 写个 PowerShell 脚本(Windows):
Get-Process code* | Stop-Process -Force<br>Remove-Item "$env:APPDATA\Code\Cache\*" -Recurse -Force -ErrorAction SilentlyContinue<br>Remove-Item "$env:APPDATA\Code\GPUCache\*" -Recurse -Force -ErrorAction SilentlyContinue
保存为vscode-clean-exit.ps1,双击运行后再开 VSCode - macOS/Linux 可用 alias:
alias vscode-clean-exit='pkill -f "code" && rm -rf ~/Library/Caches/com.microsoft.VSCode/*',退出前在终端敲一遍
注意:脚本必须在 VSCode 进程彻底终止后执行,否则文件被锁,删了也不释放磁盘空间。
Remote 或带本地模型的插件会让缓存“复活”更快
如果你用了 Remote - SSH、Dev Containers,或插件如 ms-python.python(含 Pylance 本地模型)、tabnine.tabnine-vscode,它们会在 %APPDATA%\Code\CachedData 或 %USERPROFILE%\.vscode-server(WSL/SSH)下另建缓存目录。这些目录不会被常规 Cache 清理覆盖,需单独处理。
最顽固的一点是:哪怕你删得再干净,只要一打开大 Markdown 文件、预览图片、加载 Marketplace 页面,Cache 就立刻开始写入——它不淘汰,只累积。真正的“自动清理”不存在,只有你控制退出节奏 + 定期手动干预这一条路。











