必须执行configure display language命令并选zh-cn后重启vs code,仅安装中文语言包无效;该命令是唯一能生成并写入正确locale.json的入口,其他方式(如改settings.json)在1.70+版本中已弃用。

Configure Display Language 命令没执行过
装了 Chinese (Simplified) Language Pack for Visual Studio Code,但界面还是英文——最常见原因就是跳过了这一步:Configure Display Language 命令必须手动触发,插件只提供翻译资源,不自动启用语言切换。
VS Code 不会根据插件安装状态反向修改 locale.json。你得自己调用命令:
- 按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS)打开命令面板 - 输入
Configure Display Language,回车 - 在弹出列表中**严格选择
zh-cn**(不是zh、zh-CN或Chinese) - 看到提示后务必点
Restart,不是关闭再手动打开
注意:Configure Display Language 是唯一能正确写入 locale.json 的入口,改 settings.json 无效。
locale.json 文件被覆盖或权限异常
VS Code 实际靠 $HOME/AppData/Roaming/Code/User/locale.json(Windows)、$HOME/Library/Application Support/Code/User/locale.json(macOS)或 $HOME/.config/Code/User/locale.json(Linux)控制语言。如果该文件丢失、为空、或权限为只读,就会 fallback 到英文。
检查方法:
- 直接打开对应路径,确认
locale.json存在且内容为{"locale":"zh-cn"} - 若文件不存在,说明
Configure Display Language从未成功执行 - 若存在但值不是
"zh-cn",大概率被工作区.vscode/settings.json或远程开发配置覆盖 - 终端执行
ls -l locale.json看权限(尤其 WSL 或远程场景下挂载目录常为只读)
别手动生成这个文件——它必须由 VS Code 自己写入,否则会被忽略。
多层配置冲突导致语言被强制覆盖
VS Code 支持用户级、工作区级、远程容器级三重设置,任意一级的 locale 配置都会覆盖上层。干扰源常见于:
- 工作区根目录下
.vscode/settings.json里写了"locale": "en"或类似字段 - 远程开发(SSH / Dev Container)时,远程端的
locale.json未同步或被重置 - 企业 IT 策略通过 GPO 强制锁定
locale设置
排查建议:
- 临时关闭工作区(
File > Close Folder),再运行Configure Display Language,看是否生效 - 连接远程环境前先确认本地已生效;连接后再次运行命令(远程实例有独立的
locale.json) - 启动时加参数验证:
code --log trace,查看输出面板中Log (Window)里的--locale=启动参数
缓存残留或插件损坏
即使配置正确,旧缓存也可能让部分 UI 元素卡在英文状态,尤其是 Windows 上的资源加载缓存和 macOS 的字体渲染缓存。
典型现象:
- 菜单是中文,但命令面板或右键上下文菜单仍是英文
- 设置页面部分区域显示英文,其余是中文
- 重启后第一次打开是中文,关掉再开又变英文
解决办法:
- 完全退出 VS Code:关闭所有窗口,并在任务管理器(Windows)或活动监视器(macOS)中结束所有
Code进程 - 清空缓存目录:
$HOME/AppData/Roaming/Code/Cache(Windows)或$HOME/Library/Caches/com.microsoft.VSCode.Shipit(macOS) - 卸载重装语言包:扩展面板中卸载
Chinese (Simplified) Language Pack,重启后再安装
真正麻烦的是跨平台同步或重装后忘记配 locale.json——插件装了,配置丢了,界面就回退到英文,而且没有任何报错提示。











