VSCode 占用几十 GB 是缓存和插件长期堆积所致;安全清理需先彻底退出,再删 %APPDATA%\Code\Cache、GPUCache、无用 Extensions 子目录及旧 workspaceStorage;Remote 和插件本地模型缓存也需单独处理。
VSCode 占用几十 GB 不是 bug,是缓存和插件长期堆积的必然结果;直接删和部分子目录最安全、见效最快,但必须先彻底退出进程。
为什么删了 Cache 还是很快涨回去?
因为 VSCode 基于 Chromium,
目录本质是渲染进程的 HTTP 缓存 + GPU 资源副本,每次打开大文件、预览 Markdown、加载扩展 Marketplace 页面都会写入。它不随退出自动清空,也不按 LRU 策略淘汰——只要没手动删,就一直滚雪球。
和
通常共存,Windows 下路径分别是
和
,后者常被忽略但动辄几 GB
删完重启 VSCode,首次打开会稍慢(重建 UI 渲染资源),但不会丢设置或工作区
如果删完立刻又生成几个 GB,大概率是你开着远程开发(SSH/Dev Containers)或用了带本地模型的插件(如
),它们会在
或
下另建缓存目录
Extensions 目录怎么删才不伤配置?
是插件解压后的运行时目录,不是安装包本身。一个插件实际占用空间 ≈ 安装包大小 × 2~3 倍(含
、LSP server 二进制、编译产物)。禁用插件 ≠ 卸载,文件夹还在。
别只删
文件(它根本不在这个目录);要进
,按修改时间排序,挑半年没更新、已禁用、或明确不用的整个文件夹删(名字形如
)
带
后缀的子目录(如
)可直接全删,这是插件更新中断后残留的损坏包,删后重启 VSCode 会重新下载解压
别碰
和
,那是你的配置,不是缓存
如何快速定位真正占空间的大户?
图形界面看不出哪个子目录最肥,得靠命令行。PowerShell 一行就能列出前五大目录(无需管理员权限):
VSCode 1.118
微软正式发布 Visual Studio Code 1.118 版本 。本次更新重点强化了 AI 开发体验与企业管理能力,其中最引人注目的是新增 Copilot CLI 远程控制功能,允许开发者通过手机或网页远程监控和接管 AI 会话 。同时,为了提高 AI 的运行性价比,新版本优化了令牌缓存策略以降低成本 。此外,1.118 版还引入了 Chronicle 本地历史追踪、TypeScript 7.0 支持以及更严格的企业级访问管控 。
下载
你会看到
、
、
通常包揽前三。注意:
(崩溃日志)偶尔也会涨到几 GB,可清空;而
每个子目录对应一个打开过的工作区索引快照,不建议全删,按修改时间挑半年没碰过的删。
删完重启还卡?检查 Remote 和 workspaceStorage
启用过 Remote 插件的用户,
下可能存着整套远程环境镜像缓存;
里每个 GUID 命名的子目录,是 VSCode 为该工作区生成的语义索引、调试快照、搜索缓存——体积常达几百 MB,且不会随关闭工作区自动清理。
确认不用历史远程连接:直接删
整个目录
不建议全删,进该目录看各子文件夹修改时间,挑明显久未访问的删(比如最后修改是 2025 年的)
删这些目录后必须重启 VSCode,否则部分缓存仍被内存映射,磁盘空间不会立即释放
真正难清理的不是 Cache,而是那些你记不清什么时候打开过、也没再碰过的工作区留下的
快照——它们静默吃空间,且没有 UI 入口提示该删谁。定期用命令行扫一遍,比等 C 盘爆红再动手强得多。
CacheExtensionsCacheCacheGPUCache%APPDATA%\Code\Cache%APPDATA%\Code\GPUCachems-python.pythonRemoteCachedData%APPDATA%\Code\Extensionsnode_modules.vsixExtensionsms-python.python-2024.8.0-cachems-python.python-2024.8.0-cache%APPDATA%\Code\User\settings.jsonkeybindings.jsoncd "$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 5CacheExtensionsworkspaceStorageCrashpadworkspaceStorage%APPDATA%\Code\RemoteworkspaceStorage%APPDATA%\Code\RemoteworkspaceStorageworkspaceStorage