必须执行code --version取前两段(如1.95)匹配官方vsix版本,下载后解压检查package.json中engines.vscode字段,安装须用Extensions: Install from VSIX命令并设locale.json为{"locale":"zh-cn"},彻底重启生效。

怎么看本地 VSCode 版本号
离线安装中文包前,必须确认 vscode 和语言包的版本号严格匹配,否则会静默失败或报 Extension is not compatible。打开终端执行:
code --version
输出形如 1.92.2 或 1.95.0,取前两段(即 1.92 或 1.95)作为匹配依据。注意:不是看 About 窗口里的“版本”字段,那里可能显示带 commit hash 的完整串,容易误判。
- Windows 用户若提示
command not found: code,先在 VSCode 里按Ctrl+Shift+P→ 输入Shell Command: Install 'code' command in PATH运行 - macOS/Linux 若已装但
code不可用,检查是否漏勾了安装时的 “Add to PATH” 选项,需重装或手动软链
怎么下载对应版本的官方 .vsix 文件
必须从微软可信源获取,不能用第三方网盘、镜像站或搜索结果页跳转的“汉化包”。正确路径只有两个:
- GitHub Release 页面:
https://github.com/microsoft/vscode-loc/releases→ 找到最新vscode-language-pack-zh-hans下的vsix文件,文件名含版本号,如MS-CEINTL.vscode-language-pack-zh-hans-1.95.0.vsix - Marketplace API 直链(更稳定):
https://marketplace.visualstudio.com/_apis/public/gallery/publishers/ms-ceintl/vsextensions/vscode-language-pack-zh-hans/1.95.0/vspackage(把1.95.0替换为你本地的主版本号)
下载后右键解压(.vsix 是 zip 格式),打开 package.json,确认 "engines": {"vscode": "^1.95.0"} 中的版本与你本地一致。不一致就换。
离线安装时为什么不能双击 .vsix
VSCode 自 1.70 起彻底禁用双击或拖拽安装机制。现象是:文件被复制进 ~/.vscode/extensions/(Linux/macOS)或 %USERPROFILE%\.vscode\extensions\(Windows),但扩展 ID 不注册、资源不加载、状态不启用——你在扩展面板里搜 ms-ceintl.vscode-language-pack-zh-hans,会发现它根本没显示为“已启用”。
- 唯一有效方式:按
Ctrl+Shift+P→ 输入Extensions: Install from VSIX→ 选中你下载的.vsix文件 -
code --install-extension命令在离线环境也常失败,因它依赖内部网络校验逻辑,且对路径敏感(含中文/空格会直接报ENOENT)
装完仍不显示中文?重点查 locale.json 和进程残留
安装成功 ≠ 界面切换成功。真正生效要靠 locale.json 配置 + 彻底重启。该文件必须放在用户级配置路径,内容仅一行:
{"locale":"zh-cn"}
路径分别为:
- Windows:
%APPDATA%\Code\User\locale.json - macOS:
$HOME/Library/Application Support/Code/User/locale.json - Linux:
$HOME/.config/Code/User/locale.json
常见失效原因:
- 写成了
zh-CN、zh_CN、chinese或带空格的"zh-cn "—— VSCode 会直接忽略整行 - 保存为 UTF-8 with BOM 编码 —— 必须是 UTF-8 无 BOM
- 后台进程未杀干净:Windows 用任务管理器结束所有
Code.exe;macOS/Linux 执行pkill -f "Code Helper"和pkill -f Electron
最易被忽略的是:装完语言包后,如果之前用过非官方插件或改过 settings.json 里的 locale 字段,那些硬编码值会覆盖 locale.json,得先删掉再试。











