VSCode扩展缓存主要位于~/.vscode/extensions、~/.vscode/Cache、~/.vscode/CachedData,以及Chromium内核生成的Code Cache、GPUCache和workspaceStorage等目录,清理这些可显著释放磁盘空间且不影响功能。

VSCode扩展缓存藏在哪?~/.vscode/extensions 和 Cache 目录都得清
VSCode 的扩展本身体积不小,尤其像 Python、Remote - SSH、GitLens 这类带预编译二进制或语言服务器的扩展,安装后会在多个位置留下副本和缓存。最占空间的是:~/.vscode/extensions(已安装扩展主目录)、~/.vscode/Cache(HTTP 缓存、扩展 marketplace 响应缓存)、以及 ~/.vscode/CachedData(语法高亮、语义 token 等运行时生成缓存)。
常见错误现象:删了 extensions 文件夹但 C 盘没释放多少空间——因为 Cache 和 CachedData 可能比 extensions 本身还大,尤其是长期没清理过、频繁切换工作区或启用大量扩展的用户。
-
~/.vscode/extensions下每个子目录对应一个扩展,可按修改时间排序,手动删掉你明确不用的(比如旧版本 Python 扩展残留) -
~/.vscode/Cache和~/.vscode/CachedData可直接整个删除,VSCode 启动后会重建必要缓存,不影响功能 - Windows 用户注意路径是
%USERPROFILE%\AppData\Roaming\Code,不是AppData\Local;macOS 是~/Library/Application Support/Code;Linux 是~/.config/Code
别漏掉 Code Cache 和 GPUCache:Chromium 内核的隐藏磁盘杀手
VSCode 基于 Electron,底层用 Chromium 渲染器,因此会生成和浏览器一样的渲染缓存,位置在:%USERPROFILE%\AppData\Roaming\Code\Cache(Windows)、~/Library/Caches/com.microsoft.VSCode(macOS)、~/.cache/Code(Linux)。这些目录里常有几百 MB 甚至上 GB 的 Code Cache、GPUCache、ShaderCache,且不会随 VSCode 关闭自动清理。
使用场景:如果你常用大文件编辑、频繁预览 Markdown/PDF、或开启多窗口调试,这类缓存增长极快。
- 关闭 VSCode 后再删,否则部分文件被占用删不掉
- Windows 上
AppData\Roaming\Code\Cache和AppData\Local\Programs\Microsoft VS Code\Cache是两处,后者是旧版安装路径残留,也得查 - macOS 的
~/Library/Caches/com.microsoft.VSCode通常比Application Support下的缓存还大,优先清这里
用户数据里的 Workspaces 和 History 也可能悄悄吃空间
%USERPROFILE%\AppData\Roaming\Code\User\workspaceStorage(Windows)这类路径下,VSCode 为每个打开过的文件夹生成一个 GUID 命名的子目录,里面存着搜索索引、符号缓存、折叠状态等。大型项目(如 Node.js monorepo、TypeScript 工程)的 workspaceStorage 单个就能到 500MB+。还有 User\history 存着最近打开的文件路径记录,虽小但也是冗余。
性能影响:workspaceStorage 过多不仅占空间,还会拖慢 VSCode 启动和文件搜索响应速度。
- 可以安全删除
workspaceStorage下所有子目录——下次打开对应文件夹时会重建,只是首次加载稍慢 - 若你只保留当前主力项目,可先用资源管理器排序“修改日期”,把半年以上没动过的 workspaceStorage 文件夹移走备份再删
-
User\history和User\globalStorage(某些扩展存的数据)也可清,但删globalStorage前确认里面没关键配置(比如ms-python.python的 interpreter 缓存)
自动化清理脚本怎么写?别信一键清理工具
网上很多“VSCode 清理工具”只是简单删目录,反而可能误删 User\settings.json 或 keybindings.json。自己写个轻量脚本更可控,关键是:只动缓存,不动配置。
Windows PowerShell 示例(保存为 clean-vscode-cache.ps1):
Remove-Item "$env:APPDATA\Code\Cache" -Recurse -Force Remove-Item "$env:APPDATA\Code\CachedData" -Recurse -Force Remove-Item "$env:APPDATA\Code\GPUCache" -Recurse -Force Remove-Item "$env:APPDATA\Code\extensions" -Recurse -Force # 慎用,建议先备份 # 不碰 $env:APPDATA\Code\User\*
macOS/Linux bash 示例:
rm -rf ~/Library/Caches/com.microsoft.VSCode rm -rf ~/Library/Application\ Support/Code/Cache rm -rf ~/Library/Application\ Support/Code/CachedData
- 脚本执行前必须确保 VSCode 已完全退出(任务管理器里没有
Code.exe或Electron进程) - 永远不要在脚本里删
User目录整层——只删它下面的workspaceStorage、Cache类子目录 - 第一次运行建议先
mv而非rm,观察几天无异常再彻底删
真正麻烦的从来不是路径记不住,而是删完发现某个扩展的本地语言服务器没了,或者 workspace 符号索引重建卡住——这些没法靠脚本判断,得你心里有数哪些扩展依赖本地缓存。











