vscode插件市场打不开或显示旧版本,需彻底清理cache和cacheddata缓存目录(windows:%userprofile%\appdata\roaming\code\cache与cacheddata;macos:~/library/caches/com.microsoft.vscode与~/library/application support/code/cacheddata;linux:~/.config/code/cache与cacheddata),并确保完全退出vscode进程后操作,重启后首次加载变慢属正常重建行为。

VSCode插件市场打不开或显示旧版本,其实是本地缓存没清干净
VSCode 的插件市场(Extensions view)会把扩展的元数据、图标、描述等缓存到本地磁盘,而不是每次实时拉取。缓存位置隐蔽、格式非标准,手动删错目录会导致插件列表空白或反复报 Failed to fetch extensions。关键不是“删不删”,而是“删哪几个、按什么顺序、删完要不要重启进程”。
缓存文件夹位置因系统和 VSCode 版本略有差异
所有缓存都集中在用户数据目录下的 Cache 和 CachedData 子目录里,但路径写法不同:
- Windows:
%USERPROFILE%\AppData\Roaming\Code\Cache和%USERPROFILE%\AppData\Roaming\Code\CachedData - macOS:
~/Library/Caches/com.microsoft.VSCode和~/Library/Application Support/Code/CachedData - Linux:
~/.config/Code/Cache和~/.config/Code/CachedData
注意:CachedData 里是压缩过的扩展详情快照(含版本号、分类、截图 URL),Cache 里是 HTTP 响应缓存(含 CDN 图片、JSON 接口返回体)。两个都得清,只清一个会卡在“加载中”或显示过期信息。
必须退出 VSCode 再清理,否则缓存文件被进程锁住
VSCode 启动后会持续读写 Cache 目录,即使关闭了窗口,后台进程 Code Helper (Renderer) 或 electron 进程仍可能持有句柄。直接删会失败,或删完重启后自动恢复部分缓存内容。
- 任务管理器 / Activity Monitor /
htop中确认没有残留的Code或Electron进程 - 命令行强制退出(macOS/Linux):
killall -9 Code;Windows 可用taskkill /f /im Code.exe - 删完再启动 VSCode,首次打开 Extensions 视图会明显变慢——这是正常现象,说明它正在重建缓存
删完别急着装插件,先验证网络请求是否走通
清缓存只是让 VSCode 重新拉取数据,但如果网络被代理、hosts 劫持或企业防火墙拦截,依然会卡在 Fetching extensions...。可以快速验证:
- 打开 VSCode 开发者工具(
Ctrl+Shift+I/Cmd+Option+I),切到 Network 标签页 - 在 Extensions 视图搜索任意关键词(如
eslint),观察是否有gallery.visualstudio.com或vscode-auth.github.com的 200 响应 - 若全是 403/timeout,问题不在缓存,而在网络策略或
http.proxy配置项
真正容易被忽略的是:某些组织策略会把 https://marketplace.visualstudio.com 的证书链替换成内部 CA,而 VSCode 默认不信任该 CA —— 此时即使缓存清得再干净,也拿不到有效响应。











