必须同时关闭extensions.autocheckupdates和extensions.autoupdate才能止住卡顿,因默认autocheckupdates:true会同步阻塞请求marketplace.visualstudio.com,每个插件head检查在断网/低带宽下可卡15秒以上,且无法并发或中断,需编辑settings.json并完全重启生效。

为什么关掉 extensions.autoCheckUpdates 才能真正止住卡顿
VSCode 启动时卡在“正在检查扩展更新”,不是因为插件多,而是主进程同步阻塞在 marketplace.visualstudio.com 的 HTTP 请求上。即使你没开自动安装(extensions.autoUpdate),只要 extensions.autoCheckUpdates 是 true(默认值),它就会挨个对已安装插件发起 HEAD 请求查版本——低带宽下每个请求可能卡 15 秒以上,且无法并发或中断。
常见错误现象:
- 启动后编辑器长时间无响应,状态栏持续转圈
- 打开开发者工具 → Network 标签页,能看到一堆
https://marketplace.visualstudio.com/...处于Pending状态 - 禁用所有插件仍卡——只要插件已安装,检查逻辑就照常运行
实操建议:
- 必须同时设
"extensions.autoCheckUpdates": false和"extensions.autoUpdate": false,缺一不可 - 不要只在 GUI 设置里改,直接编辑
settings.json(路径:%APPDATA%\Code\User\settings.json或$HOME/.config/Code/User/settings.json) - 改完务必完全退出 VSCode(包括右下角托盘进程),再重启,热重载不生效
如何让远程开发(Remote-SSH)不因插件同步拖垮慢网体验
Remote-SSH 连接本身不慢,但 VSCode 默认会把本地启用的全部插件“推”到远程端尝试激活,尤其含语言服务器、Linter、格式化器的插件,在高延迟低带宽下会反复建立小连接、传输配置、等待响应,最终表现为输入延迟、文件树卡顿、保存无反应。
实操建议:
- 进入远程窗口后,打开扩展视图(
Ctrl+Shift+X),点击右上角… → Show Remote Extensions,只保留真正需在远程运行的插件(如ms-python.python、esbenp.prettier-vscode) - 纯本地向插件(主题、图标包、GitLens、Bracket Pair Colorizer)一律禁用或卸载,它们在远程毫无意义
- 在远程工作区根目录的
.vscode/settings.json中加:"typescript.preferences.includePackageJsonAutoImports": "off"、"editor.quickSuggestions": {"other": false},关闭实时语言服务依赖
手动安装 vsix 时绕过网络校验的必要操作
在低带宽或断网环境下,用命令行安装本地 .vsix 文件(如 code --install-extension python.vsix)仍可能失败,原因是 VSCode 默认会联网验证签名和元数据完整性,哪怕文件已下载完成。
实操建议:
- 安装前先执行:
code --install-extension python.vsix --force,--force参数跳过签名和依赖在线校验 - 若提示
Unable to verify the first certificate,说明代理或证书链异常,此时需额外加:--skip-plugins(跳过插件市场通信)或临时设"http.proxyStrictSSL": false - 离线环境部署建议批量操作:把所有
.vsix文件放同一目录,用 shell 脚本循环执行code --install-extension *.vsix --force
镜像源与 hosts 优化对插件下载的实际影响有限
很多人以为换国内镜像源(如清华、阿里)就能显著提升插件下载速度,但在低带宽场景下效果常被高估。因为 VSCode 插件分发实际走的是 Azure Blob 存储(域名 vsextensions.blob.core.windows.net),而非 Marketplace 主站;镜像源只加速了元数据查询,不加速二进制文件下载。
更有效的做法是:
- 用
ping和curl -o /dev/null -s -w '%{time_total}\n' https://vsextensions.blob.core.windows.net/...测真实下载节点延迟,再手动写入/etc/hosts(Linux/macOS)或C:\Windows\System32\drivers\etc\hosts(Windows) - 避免盲目加代理:如果代理本身也跑在低带宽链路上,反而增加 TLS 握手和转发开销;优先确认代理是否真能改善
vsextensions.blob.core.windows.net的连通性 - 公司内网若有缓存代理(如 Squid),应确保其支持
Range请求和长连接复用,否则大体积 vsix 下载会频繁断连重试
最易被忽略的一点:VSCode 的扩展更新检测是硬编码的同步阻塞行为,没有超时兜底或退化策略。这意味着哪怕你只差 1KB 就下载完一个插件,整个 UI 仍会被卡住——这不是配置问题,是设计限制,只能靠彻底关掉检查来规避。











