根本原因是vs code 1.70+弃用settings.json的"locale"配置,仅认用户级locale.json文件;必须通过configure display language命令生成{"locale":"zh-cn"}并重启窗口,手动改settings.json或放错路径均无效。

为什么装完中文包还是英文界面
根本原因不是插件没装好,而是 VS Code 从 1.70 版本起彻底弃用了 settings.json 里的 "locale": "zh-cn" 配置。现在只认独立的 locale.json 文件,且必须放在用户级目录下——写错位置、用错配置项、或没触发生成,都会导致“明明装了却没反应”。
- 常见错误:在
settings.json里手动加"locale"字段,VS Code 完全忽略,也不报错 - 更隐蔽的问题:扩展面板里搜 “chinese” 装了非官方包(比如名字近似但发布者不是 Microsoft),这些包不提供完整 UI 翻译资源,菜单可能变中文,但设置页、命令面板、错误提示仍是英文
- 别信“装完自动生效”的说法——语言包只是“翻译字典”,真正启用靠的是
locale.json这个开关文件
Configure Display Language 命令到底干了什么
这个命令不是单纯改个设置,它会自动完成三件事:检查语言包是否已安装 → 若未安装则跳转扩展页 → 安装后在正确路径下创建或更新 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、Zh-cn或zh-CN,否则无效
Remote-SSH / WSL 下中文失效怎么办
本地设好了,远程连接后还是英文?因为 Remote-SSH 和 WSL 启动的是另一套 VS Code Server 实例,它读取的是远程机器上的 locale.json,和本地完全无关。这不是 bug,是设计如此。
- 在远程终端执行
code --list-extensions确保 Server 已运行 - 进入远程路径:
~/.vscode-server/data/Machine/(后面可能带哈希后缀) - 在此目录下新建或编辑
locale.json,内容仅一行:{"locale":"zh-cn"} - 保存后,在远程窗口中执行
Developer: Reload Window,不是 reload 本地窗口
重启没用?先查这三处
点了 Restart 还是英文,大概率不是流程错了,而是环境干扰了配置生效。最常被忽略的是进程残留和文件编码问题。
- 关干净所有 VS Code 进程:Windows 检查任务管理器是否有
Code.exe或Code Helper;macOS/Linux 用ps aux | grep code确认无残留 -
locale.json必须是 UTF-8 无 BOM 编码——用 VS Code 自己新建并保存,别用记事本或 Sublime Text 直接写 - 右下角状态栏显示
en?说明当前生效的 locale 是英文,不是没装包,而是配置没命中。优先检查文件路径和内容格式
locale.json 一旦存在,就覆盖所有其他层级的 locale 尝试。











