vscode汉化失败主因是locale.json路径、格式、编码或权限错误,而非插件问题;必须严格使用用户级指定路径、单行utf-8无bom json{"locale":"zh-cn"},并确保远程开发时单独配置远程端locale.json。

VSCode配置locale.json汉化失败,90% 是因为文件路径错、内容格式错、编码错,或被其他进程锁住——不是插件没装,也不是命令没点,而是 VS Code 根本没读到那行有效的 {"locale":"zh-cn"}。
确认locale.json路径和权限是否正确
VS Code 只读取用户级的 locale.json,且严格限定路径。写错一级目录、多一个空格、用错斜杠,都会静默回退英文。
- Windows 路径必须是:
%APPDATA%\Code\User\locale.json(即C:\Users\{user}\AppData\Roaming\Code\User\locale.json) - macOS 路径必须是:
~/Library/Application Support/Code/User/locale.json - Linux 路径必须是:
~/.config/Code/User/locale.json - 检查当前用户对该路径是否有写权限:在终端执行
ls -la ~/.config/Code/User/(Linux/macOS)或查看 Windows 属性 → 安全选项卡 - 若曾用
sudo code启动过,该目录所有者可能变成 root,需运行sudo chown -R $USER:$GROUP ~/.config/Code修复
locale.json内容必须是严格单行合法 JSON
VS Code 对这个文件的解析极其脆弱:任何注释、换行、多余逗号、全角字符、BOM 头,都会导致整个文件被忽略,界面维持英文。
详细的 Three.js 3D 图形参考,涵盖场景设置、相机、几何体、材质、光照、动画、控制器、加载器、数学工具和调试。
- 文件内容只能是且必须是这一行:
{"locale":"zh-cn"}(双引号、小写、短横线、无空格、无分号、无逗号结尾) - 不能写成:
{"locale": "zh-CN"}(大写 CN)、{"locale":"zh_CN"}(下划线)、{"locale":"Chinese (Simplified)"}(文字值) - 必须用 UTF-8 无 BOM 编码保存:用 VS Code 自身打开该文件 → 右下角点击编码名 → 选「Save with Encoding」→ 「UTF-8」(不要选「UTF-8 with BOM」)
- 禁止在文件里加注释,例如
// 中文或/* ... */—— VS Code 不支持 JSON 注释
执行 Configure Display Language 后仍无效?绕过命令面板手动干预
命令面板里的 Configure Display Language 本质就是帮你生成并写入 locale.json。如果它不弹出 zh-cn 选项、点了没反应、或重启后仍是英文,说明底层写入已失败,此时应跳过命令面板,直接编辑文件。
- 先彻底关闭所有 VS Code 实例:Windows 检查系统托盘、macOS 查菜单栏、Linux 运行
pkill code - 用记事本(Windows)或 VS Code(确保不是管理员模式)打开对应路径下的
locale.json - 删光全部内容,只粘贴
{"locale":"zh-cn"},保存 - **不要**以管理员身份重启 VS Code;直接双击图标或终端输入
code启动 - 启动后右下角状态栏应显示
zh-cn,若仍显示en,说明文件未被读取,再核对路径和权限
远程开发(Remote-SSH / WSL)场景下容易漏掉的关键点
本地 locale.json 配置完全不影响远程端 UI。你在本地汉化成功,不代表 SSH 连进去的窗口也是中文——远程 VS Code Server 是独立进程,有自己的配置路径和语言包。
- 连接进 Remote-SSH 或 WSL 后,按
Ctrl+Shift+P→ 输入Configure Display Language→ 选zh-cn→ 点Restart Now - 远程端的
locale.json默认路径是:~/.vscode-server/data/Machine/locale.json(不是~/.config/Code/User/) - 不要手动复制本地文件过去:路径不对、权限不对、大小写敏感(Linux 下
Locale.json ≠ locale.json) - 若远程是 Snap 安装的 VS Code Server,语言包可能被沙盒拦截,建议改用
.deb或官方 tarball 安装
真正卡住人的地方,往往不是不会操作,而是以为“文件存在=生效”,却忽略了路径层级、编码细节、权限归属这些不可见但决定性的环节。每一步都得亲手验证,而不是依赖“应该可以”。










