离线安装语言包进度条不动,根本原因是VS Code静默等待网络响应、签名验证失败或版本不匹配;需确认工作区已打开、检查package.json引擎版本、修改为本地精确版本并重打包vsix,再配locale.json为{"locale":"zh-cn"}并彻底重启。

离线安装语言包进度条不动,基本可以断定不是插件损坏,而是 VS Code 在静默等待网络响应、校验失败或路径解析中断——它不报错,只卡在“Installing…”。
为什么拖拽或命令行安装后进度条不动
VS Code 离线安装时仍会尝试发起网络请求(如签名验证、缓存检查、语言服务器元数据加载),一旦断网或证书不可达,就挂起而不提示。尤其在 1.85+ 版本中,默认启用扩展签名验证,离线环境下无法联网校验 .vsix 内嵌证书,直接静默失败。
- 拖进窗口没反应?确认已打开工作区(至少一个文件夹),纯空白启动时拖放被忽略
- 右下角提示“Installing extension…”但无后续?大概率是
package.json中的engines.vscode字段与本地版本不匹配,触发兼容性拦截 - 命令面板执行
Extensions: Install from VSIX后无弹窗?检查文件是否真为原始.vsix:用unzip -l your.vsix看第一行是否为extension/package.json;若显示零散文件,说明已被解压或 ZIP 结构破坏
code --install-extension 报 “not compatible with Code” 怎么修
这不是系统级错误,而是 VS Code 在加载阶段比对 package.json 中声明的最低支持版本与本地 code --version 输出不满足语义化匹配规则(例如插件要求 "^1.91.0",而你本地是 1.90.2)。
- 运行
code --version,取完整版本号(如1.96.3) - 用
7-Zip(Windows)或unzip -p plugin.vsix extension/package.json | grep engines(Linux/macOS)查看当前声明 - 解压
.vsix,编辑extension/package.json,将"engines": {"vscode": "^1.91.0"}改为"engines": {"vscode": "1.96.3"}(填你本地精确版本) - 重新打包为 ZIP,再把后缀改为
.vsix(注意:不是重命名,是改后缀;确保 ZIP 内结构不变) - Windows 下别用资源管理器双击解压,改用 PowerShell:
Expand-Archive或 7-Zip
装完重启还是英文?三个关键点必须同时满足
语言包安装成功 ≠ 界面变中文。VS Code 必须完成三件事:插件注册成功、locale.json 配置被正确读取、所有进程彻底重启以刷新 nls bundle 缓存。
-
locale.json必须放在用户级路径:
Windows:%APPDATA%\Code\User\locale.json
macOS/Linux:~/.config/Code/User/locale.json - 内容只能是:
{"locale": "zh-cn"}(小写、短横线、双引号包裹;zh-hans或zh_CN在多数版本中无效) - 保存为 UTF-8 无 BOM 编码(用 VS Code 自带保存选项即可)
- 彻底退出 VS Code:关掉所有窗口 + 杀掉系统托盘里的
Code Helper进程(Windows 任务管理器 / macOS 活动监视器里确认无残留) - 别双击桌面快捷方式——可能启动旧版实例;从开始菜单或应用坞重新启动
最容易被忽略的是:VS Code 1.76+ 才默认注入 vs/nls.js 模块,老版本即使装了语言包也无效果;另外,ARM 架构机器(如 M 系列 Mac)不能装 x64 构建的 .vsix,Help → About 里看架构再选对应平台下载。


















