VSCode离线安装VSIX失败主因是签名校验、版本不兼容、路径含中文/空格、权限错误或locale.json未生效;需断网安装、关闭校验、检查engines.vscode、修正路径权限、正确配置语言并重启。

Install from VSIX 失败:拖进来的.vsix根本不动
不是文件坏了,是 VSCode 在加载前仍会尝试联网校验签名——哪怕你断网拖进来了,它也会先发请求,失败后才退到本地加载,而这个过程可能被跳过或中断。
- 必须先断网,再启动 VSCode,再拖入
.vsix文件(否则卡在fetch阶段) - 或提前关掉校验:
settings.json加"extensions.installVerification": false(仅调试用,验证完记得删) - 检查
.vsix解压后的package.json里engines.vscode字段,比如你用的是1.92.0,但插件写的是^1.95.0,就真不兼容 - Windows 用户特别注意路径含中文或空格(如
C:\Users\张三或C:\Program Files),VSCode 启动时传给 Node.js 子进程的路径未转义,直接崩
Extensions: Install from VSIX 命令报 Unable to load extension
提示“无法加载扩展”,往往不是 .vsix 损坏,而是解压后权限不对、临时目录被拦截,或语言包结构本身有问题。
- macOS/Linux:检查
~/.vscode/extensions/所有者是否为当前用户,执行ls -ld ~/.vscode/extensions;若属主是root,运行sudo chown -R $USER:$GROUPS ~/.vscode/extensions - 删掉临时解压目录:
~/.vscode/.extensions-tmp(Linux/macOS)或%USERPROFILE%\.vscode\.extensions-tmp(Windows),杀软常静默拦截这里 - 离线安装中文包时,别用 Windows 资源管理器双击解压再重命名——ZIP 结构会被破坏,导致静默失败;改用
7-Zip或命令行unzip -l your-plugin.vsix确认根目录下有extension/package.json
中文界面装了但全是英文?Configure Display Language 没走对流程
装了 MS-CEINTL.vscode-language-pack-zh-hans 却没反应,90% 是因为 VS Code 根本没“决定”用它——语言包只是素材库,不自动激活。
- 必须用
Ctrl+Shift+P→ 输入并执行Configure Display Language,列表里选zh-cn(不是zh、zh-Hans或模糊匹配项) - 选完后弹出提示,必须点
Restart——仅Developer: Reload Window无效,Code Helper进程不退出,配置就不加载 - 确认
locale.json文件内容是合法 JSON:{"locale": "zh-cn"}(双引号、小写、无多余逗号),路径必须准确:~/.vscode/User/locale.json(Linux/macOS)或%APPDATA%\Code\User\locale.json(Windows) - 工作区
.vscode/settings.json里的locale配置优先级高于用户设置,容易被忽略,建议先关闭文件夹再执行命令
XHR failed / connection was reset:网络层卡死,不是插件问题
控制台看到 net::ERR_CONNECTION_RESET 或 “Error while fetching extensions. XHR failed”,说明 TCP 连接在 TLS 握手后被强制中断,不是 VSCode bug,而是防火墙/WAF 主动 RST 了请求。
- 先验证基础通路:浏览器打开
https://marketplace.visualstudio.com,能进说明 DNS 和路由没问题 - 终端执行
curl -v https://marketplace.visualstudio.com,如果也失败,问题出在网络策略层,需联系 IT 调整 - VSCode 1.89+ 默认启用 TLS 1.3,但部分老旧网关只认 TLS 1.2;临时测试可加
"http.proxyStrictSSL": false(不建议长期开启) - 最稳绕过方式:手动下载
.vsix,用Extensions: Install from VSIX安装,彻底跳过 marketplace 请求
locale.json”,或者“明明拖进去了 .vsix 却连日志都不打一行”。这些环节没有显式报错,只安静地失效。


















