离线安装后语言不生效,因vscode不自动启用语言包,必须手动创建locale.json并写入{"locale":"zh-cn"}(utf-8无bom单行),彻底关闭进程后全新启动;settings.json中locale字段已废弃,无效。

离线安装完 vscode-language-pack-zh-hans.vsix 后,语言仍不生效?
离线安装只是把翻译资源放进 ~/.vscode/extensions/ 目录,VS Code 不会自动启用它。界面语言仍由 locale.json 中的 "locale" 字段决定,而这个文件不会因插件安装自动生成或更新。
必须手动创建并写入 locale.json 文件
命令面板(Ctrl+Shift+P)在离线环境下大概率不可用,此时唯一可靠方式是直接编辑配置文件:
- 彻底关闭所有 VS Code 进程(Windows 查任务管理器中所有
Code.exe;macOS 查活动监视器里的Electron;Linux 用pkill code) - 用任意文本编辑器打开对应路径下的
locale.json:- Windows:
%APPDATA%\Code\User\locale.json - macOS:
$HOME/Library/Application Support/Code/User/locale.json - Linux:
$HOME/.config/Code/User/locale.json
- Windows:
- 文件内容必须严格为单行、UTF-8 编码、无 BOM、无空格或换行:
{"locale":"zh-cn"} - 保存后全新启动 VS Code(不是“重新加载窗口”)
常见写错的 locale 值有哪些?
VS Code 对 locale 标识符极其敏感,以下写法全部无效,会导致回退英文:
-
"zh_CN"(下划线 → 必须是短横线) -
"zh-hans"(非标准 BCP 47 标识符,VS Code 不认) -
"Chinese"或"简体中文"(只接受小写 ASCII 代码) -
"zh-cn "(末尾带空格)或{"locale": "zh-cn"}(带多余空格或换行) -
"locale": "zh-cn"(单独一行 JSON 片段,不是合法 JSON 文件)
settings.json 里写 "locale": "zh-cn" 有用吗?
没用。从 VS Code 1.70+ 起,settings.json 中的 "locale" 字段已完全废弃(截至 2026 年 9 月)。它既不触发语言切换,也不覆盖 locale.json 的行为。如果该字段已存在,请删掉或注释掉,避免干扰判断。
真正起作用的只有 locale.json,且必须是完整、合法、无冗余字符的单行 JSON —— 这个细节最容易被忽略,也是离线部署失败的主因。











