插件更新卡在“Checking for updates…”是因VSCode默认连接境外微软扩展市场导致网络超时;改用清华镜像源、禁用自动更新并手动触发、清理残留插件目录可彻底解决。

为什么插件更新卡在“Checking for updates…”
VSCode 插件更新慢,本质是客户端反复尝试连接微软官方扩展市场(vsextensions.blob.core.windows.net),而该域名默认走境外 CDN,国内用户常遭遇 DNS 解析慢、TLS 握手超时、TCP 重传高等问题。你看到的“Checking for updates…”状态,往往不是 VSCode 在“检查”,而是在等网络请求失败后重试——默认最多重试 3 次,每次间隔约 5 秒。
改 extensionGallery SERVICE URL 为清华镜像源
这是最直接有效的解法。VSCode 1.80+ 支持通过配置项覆盖扩展市场地址,无需改 hosts 或代理即可绕过境外节点。
- 打开命令面板(
Ctrl+Shift+P),输入并选择Preferences: Open User Settings (JSON) - 添加或修改如下字段(注意大小写和引号):
{"extensionGallery": {"serviceUrl": "https://mirrors.tuna.tsinghua.edu.cn/vscode/"} } - 重启 VSCode。之后所有更新请求将直连清华 TUNA 镜像,实测平均响应时间从 2–8 秒降至 200ms 内
- ⚠️ 注意:
serviceUrl必须全小写,且不能拼成SERVICE URL(旧文档常见错误);路径末尾不加斜杠
禁用自动更新 + 手动触发更可控
自动更新不仅抢带宽,还会在后台静默下载大体积插件(如 Remote-SSH、GitHub Copilot),导致编辑器卡顿。关掉它,把控制权拿回来:
- 在
settings.json中设"extensions.autoUpdate": false - 需要更新时,用快捷键
Ctrl+Shift+P→ 输入Extensions: Check for Extension Updates手动触发 - 配合
Developer: Show Running Extensions,可一眼看出哪些插件有新版本,避免盲目全量更新 - 对高频更新插件(如
esbenp.prettier-vscode),建议只在项目升级 Prettier 版本后才同步更新,而非追每日构建
清理残留插件目录防止更新阻塞
插件更新失败后,VSCode 可能留下半安装的临时文件夹(如名字含 .unpacked、.tmp 或空 package.json 的目录),下次更新时仍会扫描它们,引发 IO 错误或假死。
- 关闭 VSCode
- 进入扩展目录:
Windows:%USERPROFILE%\.vscode\extensions
macOS/Linux:~/.vscode/extensions - 删除所有名称含
.unpacked、.tmp、.unfinished的文件夹,以及内容为空或只有node_modules子目录的文件夹 - 重启 VSCode 后首次更新会稍慢(重建缓存),但后续稳定性显著提升
真正影响更新体验的,从来不是“要不要更新”,而是“谁在更新、怎么更新、更新什么”。镜像源解决通路问题,手动触发解决节奏问题,清理目录解决状态污染问题——三者缺一不可。尤其当团队共用一套插件配置时,残留目录问题会随多人协作快速放大,务必定期清理。


















