vs code 唯一有效设置界面语言的方式是用户级 locale.json 文件,路径和内容必须严格符合官方要求,任何格式、编码或路径偏差均导致静默失败。

locale.json 配置无效,不是报错,是静默失败——VS Code 根本不读它,直接回退英文界面。
locale.json 文件路径和内容必须完全匹配官方要求
VS Code 只在特定路径下读取 locale.json,且只接受严格格式的 JSON 内容。任何偏差都会导致它忽略该文件,不提示、不报错、不警告。
- Windows 路径:
%APPDATA%\Code\User\locale.json - macOS 路径:
$HOME/Library/Application Support/Code/User/locale.json - Linux 路径:
$HOME/.config/Code/User/locale.json - 文件内容只能是单行、无空格、无 BOM、无注释:
{"locale":"zh-cn"} - 不能写成
{"locale": "zh-CN"}(大写 CN)、{"locale":"zh_hans"}或带中文引号
手动生成 locale.json 是高风险操作
手动创建或编辑 locale.json 容易出错,尤其编码问题(如记事本默认保存为 UTF-8 with BOM)或路径错误。VS Code 本身不校验文件合法性,只做“全对才加载,否则丢弃”。
- 推荐用命令面板执行
Configure Display Language,让 VS Code 自己生成——它会自动选对路径、写对编码、填对值 - 若命令执行后文件没变,说明后台进程未彻底退出:任务管理器杀掉所有
Code.exe和Code Helper进程再试 - 已存在
locale.json但内容混乱?直接删光,只留{"locale":"zh-cn"}一行,保存时选“UTF-8 无 BOM”
settings.json 里写 "locale" 字段完全无效
很多教程教你在 settings.json 里加 "locale": "zh-cn",这在 VS Code 1.70+ 版本中已被明确弃用。它不会报错,但也不会起作用。
-
settings.json控制编辑器行为(缩进、字体、自动保存等),不控制界面语言 - 如果你看到这个字段,建议删掉,避免干扰判断
- 真正唯一生效的位置只有用户级
locale.json;工作区级.vscode/settings.json中的"locale"同样被忽略
Remote-SSH / WSL 场景下 locale.json 必须单独配置
本地设好了 locale.json,连上 Remote-SSH 或 WSL 后界面仍是英文?这不是同步问题,而是远程端根本没有 locale.json。
- 远程环境有独立的 VS Code Server,它只读自己机器上的
locale.json - 登录远程机器,在对应路径(如
~/.vscode-server/data/Machine/xxx/下某个哈希子目录)中找或新建locale.json - 内容仍为
{"locale":"zh-cn"},保存后需在远程窗口中执行Developer: Reload Window或断开重连 - 别指望本地设置能透传过去——这是设计如此,不是 bug
真正容易被忽略的是:哪怕 locale.json 内容只多一个空格、路径里有一个中文字符、或者文件保存成了 UTF-8 with BOM,VS Code 就会安静地放弃加载,界面照旧英文——你得自己去检查文件本身,而不是猜插件或网络出了问题。











