离线安装中文包唯一有效方式是通过命令面板执行extensions: install from vsix;若失败则需手动编辑locale.json为{"locale":"zh-cn"}并彻底重启vscode。

离线安装中文包必须用 Extensions: Install from VSIX 命令
双击 .vsix 文件、拖进窗口、甚至用 code --install-extension 命令行,都可能静默失败——VSCode 自 1.70 版起已禁用直接加载机制,只认内置安装器注册的扩展。现象是:右下角仍显示 en,设置页、终端、调试面板全英文,且无任何报错提示。
真正生效的唯一路径是:在 VSCode 内打开命令面板(Ctrl+Shift+P),输入并执行 Extensions: Install from VSIX,选中文件后点击确认。这一步会注册扩展 ID、触发资源加载、写入启用状态。
- 若命令面板里搜不到该命令,说明 VSCode 根本没启动成功(比如被残留进程卡住)或版本太旧(低于 1.60)
- 安装后不要点“Reload Window”,必须点“Restart”——仅重载窗口不读取
locale.json - 安装完立刻检查扩展面板,搜索
ms-ceintl.vscode-language-pack-zh-hans,确认状态为“已启用”
locale.json 是强制生效的最终手段
当 UI 卡死、命令面板打不开、或需批量部署时,手动编辑 locale.json 是最可靠方式。VSCode 启动时优先读它,优先级高于 settings.json 中的 locale 字段。
操作前务必彻底关闭所有 VSCode 进程:
- Windows:任务管理器 → 结束所有
Code.exe进程 - macOS:活动监视器 → 终止所有
Electron和Code Helper进程 - Linux:
pkill -f "Code Helper"+pkill -f "Electron"
然后用任意编辑器打开对应路径下的 locale.json,严格写入这一行(UTF-8 无 BOM,无空格,无逗号):
{"locale":"zh-cn"}
保存后全新启动 VSCode,界面立即切换为中文。
脚本化部署要绕过 UI,直接调用 code 命令 + 清理残留
自动化脚本不能依赖命令面板,必须组合 code --install-extension 和进程清理逻辑。但要注意:code --install-extension 对路径极其敏感,常见失败原因包括:
- 路径含中文、空格或特殊符号(如
C:\Users\张三\Desktop\zh.vsix)→ 改用纯英文路径,如C:\vsix\zh.vsix -
command not found: code→ 先在 VSCode 里运行Shell Command: Install 'code' command in PATH -
Extension is not compatible→ 不是版本号错,而是架构不匹配(ARM Mac 装了 x64 包)→ 检查文件名是否含darwin-arm64
一个最小可行脚本示例(PowerShell):
$vsixPath = "C:\vsix\vscode-language-pack-zh-hans-1.95.2.vsix" pkill -f "Code Helper" pkill -f "Electron" code --install-extension $vsixPath # 等待安装完成后再写 locale.json 并重启
离线包必须验证发布者和版本兼容性
装了也切不出中文,90% 是因为用了非官方包。正确包必须满足三项:
- 发布者 ID 是
ms-ceintl(不是Chinese Language Pack或其他名字) - 下载文件名形如
MS-CEINTL.vscode-language-pack-zh-hans-1.95.2.vsix - 解压后打开
package.json,确认"engines": {"vscode": "^1.95.0"}与本地code --version输出的第一段匹配(如输出1.95.2→ 取1.95)
内网批量部署时最容易忽略的是:只拷 .vsix 文件过去,等于只送了“安装包”,没送“弹药”。必须配套清理进程、写 locale.json、全新启动,三步缺一不可。











