vs code 语言设置必须通过 configure display language 命令生成合规 locale.json 文件,路径和内容需严格匹配:windows 在 %appdata%\code\user\,macos 在 $home/library/application support/code/user/,linux 在 $home/.config/code/user/,内容仅限单行 {"locale":"zh-cn"}(双引号、小写、连字符、无空格/bom/注释),且须重启生效;手动创建、错误路径、格式偏差、高优先级覆盖、权限不足或编码错误均导致静默回退英文界面。

locale.json 文件路径和内容必须完全匹配 VS Code 要求
VS Code 只读取特定路径下的 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
文件内容必须是严格单行 JSON:{"locale":"zh-cn"}(双引号、小写、连字符、无空格、无 BOM、无注释、无逗号)。
Configure Display Language 命令未真正执行或选错值
这个命令不是“可选步骤”,而是唯一能安全生成合规 locale.json 的入口。跳过它,手动创建或改 settings.json 都不会生效。
- 按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS),**严格输入**Configure Display Language(大小写、空格不能错) - 下拉列表中只认
zh-cn——zh、zh-CN、Chinese (Simplified)、zh-hans都不匹配,且不报错 - 选完后弹出提示,**必须点 Restart**;点 “Don’t Restart” 或仅关闭窗口再手动打开,后台进程仍在,配置不加载
locale.json 被更高优先级设置覆盖
VS Code 的语言设置有三层优先级:启动参数 > 工作区 .vscode/settings.json > 用户级 locale.json。哪怕你本地配对了,也可能被其他层干掉。
- 检查当前项目根目录下是否存在
.vscode/settings.json,里面是否写了"locale": "en"或类似字段 - 远程开发(SSH / Dev Container)时,远程端有独立的
locale.json,需在远程窗口里再次执行Configure Display Language - 企业环境可能通过 GPO 或策略插件锁定 locale,此时
locale.json即使存在也会被忽略
权限、编码或进程残留导致写入失败
执行命令后 locale.json 没变、为空、或内容乱码,大概率不是命令没点,而是写入被系统拦截。
- 关闭所有 VS Code 实例(包括托盘图标、Remote-SSH 连接、WSL 后台服务)
- 确认路径所在目录可写:Windows 下常见于安装在
C:\Program Files且未提权;macOS/Linux 下注意~/.config/Code/User/所有者是否为当前用户 - 别用管理员身份运行 VS Code —— UAC 会阻止高完整性进程向用户目录写入,反而让
locale.json写不进去 - 手动编辑时务必用 UTF-8 无 BOM 编码保存(记事本默认带 BOM,推荐用 VS Code 自身保存)
真正容易被忽略的是:VS Code 不验证 locale.json 是否合法,只尝试解析;一旦失败就静默 fallback 到英文,连日志都不打。所以看到英文界面,第一反应不该是“重装插件”,而是立刻查这个文件是否存在、路径对不对、内容是不是那一行干净的 JSON。











