VSCode更新失败主因是网络连接问题或Windows Installer阻塞;需检查代理、防火墙、组策略,验证update.code.visualstudio.com连通性,清理msiexec进程与临时文件,手动安装可保留所有用户数据。

检查更新时提示“无法连接到更新服务器”
这是最常见也最容易被忽略的失败原因——VSCode 根本没连上微软的更新地址 update.code.visualstudio.com,但 GUI 不报错,只静默卡住。企业网络、本地代理、防火墙甚至 hosts 重定向都可能拦截这个请求。
- 在终端执行
curl -I https://update.code.visualstudio.com/api/update/win32-x64/stable(Windows)或对应 macOS/Linux 架构路径,看是否返回200;若超时或403,说明网络层已断 - 临时绕过系统代理:启动 VSCode 时加参数
--proxy-server="",再试一次检查更新 - Windows 企业环境要查组策略:
计算机配置 → 管理模板 → Windows 组件 → 应用程序兼容性 → 关闭 Windows 更新是否被误启(它会连带禁用 VSCode 更新服务)
下载后卡在“正在安装…”且无进度
VSCode 更新不是打补丁,而是下载完整安装包(如 VSCodeUserSetup-x64-1.90.0.exe),再调用系统 msiexec.exe 静默升级。卡住往往和 VSCode 本身无关,而是 Windows Installer 服务被阻塞或权限不足。
- 打开任务管理器,杀掉所有
msiexec.exe进程(尤其 CPU 占用高或状态为“挂起”的) - 清空临时目录:
%TEMP%\vscode-updater\下全部文件(包括残留的 .exe 和 .log) - 找到已下载的安装包(通常在
%USERPROFILE%\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\code\electron-sandbox\workbench\vscode-updater\),右键选择“以管理员身份运行” - 如果仍失败,直接去官网下载最新版安装包,它会自动卸载旧版并保留全部用户数据
手动更新不丢插件和设置?真的吗
是的,完全保留——但前提是别用错安装方式。VSCode 的用户数据(插件、设置、快捷键、SSH 配置)全存在独立目录,和安装目录物理隔离。
- Windows:
%APPDATA%\Code(含extensions、User\settings.json等) - macOS:
~/Library/Application Support/Code - Linux:
~/.config/Code - 只要不是用
sudo apt remove code或 snap 强制 purge,覆盖安装就不会动这些目录
注意:便携版(Portable)或解压即用版,配置默认也在用户目录,不受影响;但如果你把 .vscode 文件夹硬塞进安装目录里,那就不保险了。
更新后插件失效或启动白屏怎么办
跨大版本升级(比如从 1.7x 升到 1.9x)后出问题,大概率是扩展兼容性断裂或缓存损坏,而非 VSCode 本体故障。
- 先用
code --disable-extensions启动,能正常打开就确认是插件导致 - 关闭 VSCode,重命名
%USERPROFILE%\.vscode\extensions为extensions.bak,再启动——VSCode 会重建干净扩展目录 - 删掉缓存:
%APPDATA%\Code\Cache和%APPDATA%\Code\CachedData(这两个目录常藏有旧版 Electron 兼容性残留) - 某些插件(如 Remote-SSH、ESLint)在 v1.92 出现已知兼容问题,回退到 v1.91.1 是合理选择,操作一样是覆盖安装
真正容易被忽略的是:插件市场加载慢或更新失败,常因网络拦截 marketplace.visualstudio.com,而不是 VSCode 自身有问题;验证时别只看 UI,打开开发者工具(Developer: Toggle Developer Tools),切到 Network 标签页,搜 vscode 或 marketplace,看请求是否 403 或超时。










