必须通过命令面板执行“extensions: install from vsix”安装中文语言包,手动复制.vsix文件或使用code --install-extension均无效;locale.json须严格为{"locale":"zh-cn"}且utf-8无bom,保存至用户级配置路径;安装后需彻底终止所有vscode进程并全新启动。

必须用 Extensions: Install from VSIX 命令安装 .vsix 文件
双击 .vsix 文件或拖进 VSCode 窗口,从 VSCode 1.70 版起就不再生效——它只是把文件复制到 ~/.vscode/extensions/(Linux/macOS)或 %USERPROFILE%\.vscode\extensions\(Windows),但不会注册扩展 ID、不触发语言资源加载,也不会写入激活状态。现象是右下角仍显示 en,设置页、命令面板、调试视图全英文,且无任何错误提示。
正确做法是:打开 VSCode → 按 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS)→ 输入 Extensions: Install from VSIX → 回车 → 在弹出的文件选择框中定位并选中你下载的 MS-CEINTL.vscode-language-pack-zh-hans-*.vsix 文件 → 点击 Install。
- 安装后务必在扩展面板搜索
ms-ceintl.vscode-language-pack-zh-hans,确认状态为“已启用” - 若未显示或显示“已禁用”,说明安装未成功,需先点击
Uninstall再重试 - 不要用
code --install-extension xxx.vsix命令行方式,它在离线环境常静默失败
locale.json 必须写成 {"locale":"zh-cn"} 且保存为 UTF-8 无 BOM
zh-cn 是 VSCode 主程序硬编码识别的简体中文标识;zh-hans 在 1.95+ 版本中仅加载部分 UI 字符串,设置页、终端、调试面板等关键区域仍为英文。填错值(如 zh_CN、ZH-CN、chinese 或带空格的 "zh-cn ")会导致 VSCode 直接忽略该字段。
路径必须是用户级配置文件:
- Windows:
%APPDATA%\Code\User\locale.json - macOS:
$HOME/Library/Application Support/Code/User/locale.json - Linux:
$HOME/.config/Code/User/locale.json
内容严格只写这一行:{"locale":"zh-cn"},无多余空格、逗号或注释,保存编码为 UTF-8 无 BOM。
装完必须彻底重启所有 VSCode 进程再启动
仅“重新加载窗口”(Developer: Reload Window)不足以激活语言配置。VSCode 启动时才读取 locale.json 并协商加载语言资源,中途修改不生效。
常见失效原因就是后台进程残留:
- Windows:打开任务管理器,结束所有
Code.exe进程(包括后台服务) - macOS:在活动监视器中查杀所有
Electron和Code Helper进程 - Linux:执行
pkill -f "Code Helper"和pkill -f "Electron"
确认无残留进程后,再全新启动 VSCode —— 不要双击旧快捷方式(可能指向卸载残留路径),改从开始菜单、应用坞或终端输入 code 启动。
验证语言包版本与 VSCode 主版本是否匹配
语言包 .vsix 文件内含 package.json,其中 "engines": {"vscode": "^1.104.0"} 表示仅兼容 VSCode 1.104.x 系列。若本地运行 code --version 输出为 1.105.2,而你装的是 1.104 的包,就会出现兼容性警告甚至静默失败。
验证方法:
- 右键解压 .vsix 文件(本质是 zip),打开内部
package.json - 对比
engines.vscode字段与code --version输出的主版本号(取小数点前两位) - 不匹配时,去官网下载对应版本的
vscode-language-pack-zh-hans-*.vsix(发布者必须是MS-CEINTL)
别信网盘链接或“汉化合集”,第三方打包几乎都过期或签名失效;也别手动拷贝别人电脑上的 ms-ceintl.vscode-language-pack-zh-hans-* 文件夹——缺少 .metadata 注册记录,VSCode 启动时不识别。











