vscode跨版本安装中文包必须匹配engines.vscode字段,否则静默失败或界面部分英文;应下载对应主版本号的官方语言包,严格配置locale.json为{"locale":"zh-cn"}并彻底重启。

VSCode跨版本安装中文包必须匹配engines.vscode字段
语言包不是“装上就用”,它和 VSCode 主程序有明确的版本契约。如果你用 v1.104 的 .vsix 装到 v1.95 的 VSCode 上,大概率静默失败或报 Extension is not compatible;反过来(低版本包装高版本 VSCode)更危险——部分 UI 字符串加载失败,设置页、调试面板仍为英文。
验证方式很简单:右键解压 .vsix(它本质是 zip),打开里面的 package.json,找 "engines": {"vscode": "^1.104.0"} 这一行。你本地运行 code --version 输出如 1.104.2,取前两段(1.104)比对即可。
- 不匹配时别硬装,去官网下载对应主版本号的语言包(比如 VSCode 是
1.95.3,就找vscode-language-pack-zh-hans-1.95.*.vsix) - 别信“改 package.json 版本号就能绕过”的土法——VSCode 1.90+ 启用了签名校验,篡改后即使加
--allow-unverified也可能资源加载不全 - 官网直链最稳:
https://marketplace.visualstudio.com/items?itemName=ms-ceintl.vscode-language-pack-zh-hans→ 拉到底部点Download Extension
code --install-extension 在离线环境容易静默失败
命令行看似方便,但在离线机上风险很高:它依赖 code 命令已注册进系统 PATH,且后台进程必须彻底退出,否则扩展注册表写入失败,code --list-extensions 看不到,界面也不变中文。
- 先确认
code命令可用:在终端输which code(macOS/Linux)或where code(Windows),没输出说明 Shell Command 没启用——需在有网机器上打开 VSCode →Ctrl+Shift+P→ 输入Shell Command: Install 'code' command in PATH→ 回车 - 执行安装前,务必杀掉所有后台进程:Windows 用任务管理器结束全部
Code.exe;macOS/Linux 运行pkill -f "Code Helper"和pkill -f Electron - 路径含中文或空格会静默失败,把
.vsix放到纯英文路径下,例如C:/vsix/zh-hans.vsix,调用时用正斜杠:code --install-extension "C:/vsix/zh-hans.vsix" --allow-unverified
locale.json 必须严格写成 "zh-cn"(小写+连字符)
VSCode 主程序硬编码识别 "zh-cn" 为简体中文显示语言标识。"zh-hans" 或 "zh_CN" 在部分版本中可能触发基础翻译,但自 1.95+ 起,仅加载菜单栏等极少数字符串,设置页、终端、调试视图依然英文——这不是 bug,是设计行为。
文件位置和格式必须精确:
- Linux:
~/.config/Code/User/locale.json - Windows:
%APPDATA%\Code\User\locale.json - macOS:
$HOME/Library/Application Support/Code/User/locale.json - 内容只能是:
{"locale":"zh-cn"}(UTF-8 编码、无 BOM、无多余空格、双引号不可省略) - 如果
settings.json里有"locale"字段,必须删掉——它会覆盖locale.json的值
双击或拖拽 .vsix 文件几乎必然失效
VSCode 自 1.70 版起已禁用文件系统直接加载机制。双击或拖入只是把文件复制到 ~/.vscode/extensions/ 目录,但不会注册扩展 ID、不触发语言资源加载流程、不写激活状态——现象是右下角状态栏仍显示 en,扩展面板里也找不到 ms-ceintl.vscode-language-pack-zh-hans 已启用。
- 唯一可靠方式:打开 VSCode →
Ctrl+Shift+P→ 输入Extensions: Install from VSIX→ 回车 → 手动选中文件 - 装完不要只点“重启窗口”,必须点
Restart(即完全退出再启动),否则旧进程残留导致语言资源未重载 - 装完后打开扩展面板,搜
ms-ceintl,确认状态是“已启用”且版本号与你安装的一致











