VSCode本地缓存存的是加速启动、编辑、搜索和插件响应的运行时产物,包括语法树快照、符号索引、HTTP响应体、扩展安装包副本等,半年不清易超5GB;Cache存原始网络响应(如HTML、JSON、CDN资源),CachedData存处理后的结构化快照(如语义着色token、IntelliSense符号表),二者必须同时清理,否则导致插件列表空白或Failed to fetch错误。

VSCode本地缓存到底存了什么?
VSCode本地缓存不是单一文件,而是分散在多个目录里的运行时产物,核心目标是加速启动、编辑、搜索和插件响应。它不保存你写的代码,但会大量缓存你“怎么写”和“写的是什么”的中间结果——比如语法树快照、符号索引、HTTP响应体、扩展安装包副本。这些内容加起来,半年不用清理就很容易突破5GB。
%APPDATA%\Code\Cache 和 CachedData 的区别与风险
Cache 存的是网络请求的原始响应:插件市场页面HTML、扩展图标图片、gallery.visualstudio.com 返回的JSON元数据、甚至CDN资源。而 CachedData 存的是编辑器内部处理后的结构化快照:某次打开TypeScript项目时生成的语义着色token序列、IntelliSense符号表压缩包、工作区级的文件路径哈希映射。
-
Cache删完重启后首次打开Extensions视图会卡顿几秒,因为要重新拉所有接口; -
CachedData删完首次打开大项目时,智能提示和跳转会明显变慢,因为符号索引要重建; - 两个目录必须同时清,只清一个会导致界面显示错乱(比如插件列表空白但能搜到)或反复报
Failed to fetch extensions; - Windows下路径是
%APPDATA%\Code\Cache和%APPDATA%\Code\CachedData,别误删%LOCALAPPDATA%\Microsoft\vscode-cpptools\(那是C++专用缓存,独立存在)。
extensions 目录里哪些子文件夹可安全清理?
VSCode卸载插件只是禁用入口,不会删磁盘文件。%USERPROFILE%\.vscode\extensions 下那些带年份(如 ms-python.python-2024.12.0)、后缀 -old 或 -backup 的文件夹,基本都是历史残留。它们体积常达300–800MB,因为含完整 node_modules 和预编译二进制。
- 可删:
ms-python.python-2023.*、ms-vscode.vscode-typescript-next-old、任何含__pycache__或.cache的子目录; - 不可删:
ms-python.python(当前启用版本,无年份后缀)、package.json和extension.js所在根目录; - Linux/macOS建议先用
du -sh ~/.vscode/extensions/* | sort -hr | head -5定位最大几个,再逐个判断; - Windows PowerShell命令需关掉所有
Code.exe后执行:Get-ChildItem "$env:USERPROFILE\.vscode\extensions" | Where-Object {$_.Name -match '-old$|-backup$|202[0-2]\.'} | Remove-Item -Recurse -Force。
workspaceStorage 和 globalStorage 能不能动?
User\workspaceStorage 存每个打开过的项目的状态快照(断点位置、折叠代码段、终端历史),删掉后重开项目会自动重建,没副作用;User\globalStorage 是插件自定义的全局数据区,比如GitLens的提交图缓存、Prettier的格式化配置快照——这里不能批量删,得看具体插件文档。
-
workspaceStorage可放心清,尤其当你长期打开几十个项目又从不关VSCode时,这个目录可能占1–2GB; -
globalStorage里若发现某个插件子目录异常巨大(如gitlens下的repository-cache),可单独进该目录删其cache或db子文件夹; - 千万别删
User\settings.json或User\keybindings.json,那是你的全部个性化配置; - 删前确认没有正在运行的
Code Helper (Renderer)进程,否则文件句柄被占,删不干净还可能触发VSCode异常重启。
最易被忽略的一点:清理不是一劳永逸。VSCode会在你每次打开新项目、安装新插件、搜索新扩展时持续写入这些目录。建议把 CachedData 和 Cache 加入定期清理脚本,而不是等C盘红了才想起来动手。


















