安装卡在0%或报“failed to fetch”,先看network面板有没有请求发出:若无请求或长期pending,多为本地防火墙静默丢包或dns污染;若请求发出但超时/403,则是企业策略拦截或代理错误;若返回证书错误,则需设http.proxystrictssl为false临时排查。

安装卡在0%或报“Failed to fetch”,先看Network面板有没有请求发出
VS Code根本没发请求,就不是插件或版本问题,而是网络链路被拦在第一层。打开 Help → Toggle Developer Tools,切到 Network 标签页,点一次安装,观察是否有对 https://marketplace.visualstudio.com/_apis/public/gallery/ 的请求:
- 如果请求状态长期是
Pending或压根没出现 → 本地防火墙(如火绒、360)静默丢包,或系统 DNS 污染 - 如果请求发出但返回
ERR_CONNECTION_TIMED_OUT或403 Forbidden→ 企业网策略拦截、代理配置错误,或marketplace.visualstudio.com被屏蔽 - 如果请求成功但后续阶段失败(如
net::ERR_CERT_AUTHORITY_INVALID)→ 本地代理用了自签名证书,且http.proxyStrictSSL为true(默认值)
中文语言包装了但界面仍是英文,检查 locale.json 是否存在且内容正确
装插件只是提供翻译资源,真正决定 UI 语言的是 locale.json 文件。它必须满足四个硬性条件,缺一不可:
- 路径必须精准:
Windows:%APPDATA%\Code\User\locale.json
macOS:~/Library/Application Support/Code/User/locale.json
Linux:~/.config/Code/User/locale.json - 内容只能是合法 JSON:一行,双引号,小写,短横线 ——
{"locale":"zh-cn"}(不是"zh_CN"、"zh-hans"或"Chinese") - 编码必须是 UTF-8 无 BOM;多一个空格、少一个引号都会导致静默失效
- 不能写在
settings.json里 —— VS Code 1.70+ 已彻底废弃该字段
插件显示“已安装”但右键没有 Run Python File,确认是否装在了错误上下文
VS Code 的插件是按环境隔离的:Local、Remote-SSH、WSL、Dev Container 各自维护一套扩展。状态栏左下角若显示 SSH: xxx 或 WSL: Ubuntu,说明你当前处于远程上下文,而 ms-python.python 只装在了 Local 环境。
- 执行
File → Close Remote Connection切回 Local 窗口,再运行code --list-extensions | grep python(macOS/Linux)或code --list-extensions | findstr python(Windows)验证 - 若需在 Remote 环境使用 Python,必须单独在远程机器上安装:打开 Remote 终端,执行
code --install-extension ms-python.python - 别信 Extensions 面板里的“已安装”视觉反馈——它可能只反映当前上下文的缓存状态,不反映真实安装结果
手动安装 .vsix 失败,重点校验 ZIP 结构与引擎兼容性
离线安装不是把文件拖进去就完事。VS Code 在加载前会校验包结构和 package.json 中的 engines.vscode 字段,任一环节出错都表现为“Download failed”或无声失败。
- 用
unzip -l your-plugin.vsix确认根目录下有extension/package.json,且其中"engines": {"vscode": "^1.91.0"}的版本号与你本地code --version输出的主版本一致 - 重打包必须用
zip命令或 7-Zip;Windows 资源管理器解压再压缩会破坏 ZIP 元数据,导致安装静默失败 - 安装后仍不生效?删掉
~/.vscode/extensions/下对应插件文件夹,再重试 —— 缓存残留常让新版覆盖失败
所有这些排查动作里,最容易被跳过的是彻底退出 VS Code 进程。托盘里残留的 Code Helper 会让 locale.json 和插件注册状态无法刷新,哪怕你点了 Restart,也未必真重载了语言环境。











