vscode中flutter插件更新卡住,90%非插件问题,而是网络不通(如dns污染、代理劫持)、扩展主机解压校验失败、缓存损坏或未彻底重启所致;需通过developer tools查network请求、换国内镜像源、清理extensionscache、用extensions: install from vsix安装并验证.vsivx完整性。

VSCode 里 Flutter 插件更新卡在“正在下载”或“正在安装”,90% 不是插件本身问题,而是网络通路、代理策略或缓存状态错乱导致的静默阻塞。
为什么 Update All 点了没反应,或者进度条一直不动
VS Code 的插件更新逻辑不走 http.proxy 设置,也不读取系统环境变量,而是直接发起 HTTPS 请求到 marketplace.visualstudio.com。国内用户常因 DNS 污染、防火墙拦截或代理配置错误导致请求超时(状态码 0 或 pending),但 UI 不报错,只卡住。
- 打开命令面板(
Ctrl+Shift+P),运行Developer: Toggle Developer Tools,切到Network标签页,再点一次更新,观察是否有marketplace.visualstudio.com或vscode-api域名的请求失败 - 终端执行
curl -v https://marketplace.visualstudio.com,确认是否能返回 200;若超时,说明网络层已断 - 禁用 Clash/Fiddler/火绒等代理或安全工具——它们常劫持 HTTPS 流量但不转发证书,导致 VS Code 连不上
插件已下载完成却卡在“正在安装…”阶段
这不是网络问题,而是 VS Code 扩展主机(Extension Host)在解压或校验 .vsix 包时卡死,常见于离线安装、签名验证失败或缓存索引损坏。
- 别拖拽
.vsix文件进窗口——必须用命令面板运行Extensions: Install from VSIX,否则跳过签名校验和依赖检查 - 检查插件依赖:比如
ms-python.python需要ms-toolsai.jupyter,离线安装时缺一不可 - 删掉磁盘缓存索引:
~/.vscode/extensionsCache(macOS/Linux)或%USERPROFILE%\.vscode\extensionsCache(Windows),再重启 VS Code - 手动验证
.vsix完整性:对比 Marketplace 页面右下角提供的 SHA256 值,避免下载中断导致包损坏
更新后 Flutter 功能异常,比如热重载失效或设备列表为空
插件更新后未重启 VS Code,或旧版缓存残留,会导致语言服务(LSP)、调试适配器(Dart Debug Adapter)与新版本不兼容,表现为热重载无提示、flutter devices 不同步、F5 启动失败。
- 更新后必须完全退出 VS Code(包括托盘进程),再重新启动——热重载不可靠,LSP 不会自动 reload
- 清空插件缓存:
~/.vscode/extensions/下对应插件文件夹(如dart-code.dart-code-*)里的node_modules目录,再重启 - 检查
launch.json是否硬编码了旧版deviceId;若填的是adb devices里已 offline 的设备 ID,F5 会静默失败 - 右下角状态栏必须显示设备名 + ⚡️ 图标才算进入真调试态;仅显示设备名是
flutter run模式,不支持断点和热重载
真正难排查的不是“更新失败”,而是“看似成功更新了,但某个关键子模块(比如 Dart Analyzer 或 Flutter Outline Provider)悄悄卡在激活阶段,既不报错也不退出,后续所有插件排队等它”。这种问题必须靠 Developer: Show Running Extensions 看 Activation Time 和 Status 双指标交叉验证,单看控制台日志容易漏掉。











