VSCode大插件下载卡住主因是镜像配置不全:必须同时设置同域且末尾无斜杠的serviceUrl和cacheUrl于用户级settings.json,并重启;命令行安装还需环境变量VSCODE_EXTENSIONS_MSA_URL;离线安装需校验.vsiv文件完整性及product.json更新地址。

为什么大型插件(如Python、Remote-SSH)下载卡在 pending 或超时
不是网络带宽不够,而是 VSCode 对大体积插件的请求路径和协议处理有特殊逻辑:它会先走 extensions.gallery.serviceUrl 获取元数据,再单独向 vsextensions.blob.core.windows.net(或镜像等效地址)发起二进制包直连。这个二进制下载环节不继承 settings.json 配置,也不走 gallery 协议——所以即使你配好了 vscode.cdn.azure.cn,Python 插件仍可能卡住。
必须同时改 serviceUrl + cacheUrl,且域名/路径严格一致
VSCode 1.83+ 版本强制校验两个配置项是否“配对生效”。漏掉任意一个,整个镜像策略被静默忽略。
-
"extensions.gallery.serviceUrl"和"extensions.gallery.cacheUrl"必须同域(如都用https://vscode.cdn.azure.cn) - URL 结尾不能带
/(错:"https://vscode.cdn.azure.cn/"→ 对:"https://vscode.cdn.azure.cn") - 必须写在用户级
settings.json(路径:%APPDATA%\Code\User\settings.json等),工作区配置无效 - 改完后需彻底退出所有 VSCode 进程(包括托盘图标),再重启
code --install-extension 安装大插件失败?环境变量才是关键
命令行安装完全不读 settings.json,它只认环境变量 VSCODE_EXTENSIONS_MSA_URL。尤其对 Remote-SSH、Python 这类含语言服务器二进制包的插件,这一步绕不过。
- 临时生效(当前终端):
VSCODE_EXTENSIONS_MSA_URL=https://vscode.cdn.azure.cn code --install-extension ms-python.python - 永久生效(Linux/macOS):在
~/.bashrc或~/.zshrc中添加export VSCODE_EXTENSIONS_MSA_URL=https://vscode.cdn.azure.cn - Windows 用户请在系统环境变量中新增该变量,而非仅在 CMD 里 set
- 若仍报
connect ETIMEDOUT,检查是否后台运行 Clash/Surge —— 它们常劫持 DNS 却未全局代理,导致code命令解析失败
离线安装是唯一可控方案,但要注意 .vsix 文件完整性
手动下载的 .vsix 文件若损坏或版本不兼容,双击无反应或报 ENOTDIR 错误,问题往往不在网络,而在文件本身。
- 下载后先用 ZIP 工具打开,确认根目录存在
extension/package.json - 推荐用 URL 拼接法获取官方源文件(2025 年仍有效):
https://marketplace.visualstudio.com/_apis/public/gallery/publishers/ms-python/vsextensions/python/2026.6.0/vspackage(注意替换 publisher/extension/version) - 安装命令必须指定完整路径:
code --install-extension /path/to/python.vsix,相对路径容易失败 - 企业内网部署时,建议统一用脚本校验 SHA256,避免中间缓存污染


















