必须手动创建locale.json文件,路径为%appdata%\code\user\locale.json(windows)等对应系统路径,内容严格为{"locale":"zh-cn"}(utf-8无bom、小写、短横线、无空格无注释),并彻底退出vs code后重启。

locale.json 文件根本不存在?手动创建最可靠
VS Code 不会自动生成 locale.json,除非你主动执行过 Configure Display Language 命令——而这个命令在插件未就绪、权限异常或路径被占用时,经常静默失败。别等它“自动出现”,直接手动建:
- 关闭所有 VS Code 窗口,包括托盘进程(Windows 用任务管理器查
Code.exe,macOS 用活动监视器查Electron) - 按对应路径打开文件夹:
Windows:%APPDATA%\Code\User\
macOS:~/Library/Application Support/Code/User/
Linux:~/.config/Code/User/ - 新建纯文本文件,命名为
locale.json,编码选 UTF-8 无 BOM - 内容只写一行:
{"locale":"zh-cn"}(注意:双引号、小写zh-cn、无空格、无注释、无逗号)
为什么新建后还是英文?检查三个覆盖层
locale.json 生效的前提是它没被更高优先级的设置盖掉。VS Code 的语言决定顺序是:启动参数 > 当前工作区 .vscode/settings.json > 用户级 locale.json。常见干扰点:
- 终端里用
code --locale=en启动,参数强制覆盖一切 - 项目根目录下有
.vscode/settings.json,里面写了"locale": "en"或"locale": "zh-CN"(大小写错误也会导致不生效) - 快捷方式目标末尾带
--locale=...参数,每次双击都重置
临时验证方法:关掉所有窗口 → 终端执行 code --disable-extensions → 看是否变中文。如果变了,说明某个扩展或工作区配置在干扰。
文件存在但内容不对?格式错误 = 静默失效
VS Code 对 locale.json 的语法极其敏感。哪怕只是多一个空格、用了中文引号、或者写了 // 注释,整个文件都会被跳过,回退英文界面——且不报错、不提示。
- 合法写法只有:
{"locale":"zh-cn"}(必须双引号、小写、短横线、无空格) -
{"locale": "zh-CN"}❌(大写 CN 在新版中不识别) -
{"locale":"zh_cn"}❌(下划线无效) -
{"locale":"Chinese (Simplified)"}❌(只认语言标签,不认自然语言名) - 含
//或/* */注释 ❌
编辑完务必用 JSON 校验工具(比如 VS Code 自带的 JSON 模式提示)确认无红色波浪线;保存后右键 → “在资源管理器中显示” → 确认文件名确实是 locale.json,不是 locale.json.txt。
Remote-SSH 或 WSL 场景下 locale.json 失效?远程端要单独配
你在本地改了 %APPDATA%\Code\User\locale.json,但通过 Remote-SSH 连到 Linux 服务器,打开的窗口仍是英文——因为那个窗口的语言由远程机器上的 locale.json 决定,和本地完全无关。
- 登录远程机器(SSH 或 WSL 终端),执行:
code --list-extensions | grep zh-hans,确认中文包已安装 - 在远程端创建
~/.config/Code/User/locale.json,内容同上:{"locale":"zh-cn"} - 远程端也需彻底退出所有
code进程(pkill -f 'code'),再重连
本地和远程的 locale.json 是两套独立配置,不能复用路径,也不能靠同步自动传递——这是最容易忽略的盲区。











