locale.json是唯一生效的语言配置文件,VS Code界面语言只认该文件,路径必须为用户数据目录下的User/locale.json,内容严格为{"locale":"zh-cn"},其他任何位置或格式的"locale"配置均无效。

locale.json 是唯一生效的语言配置文件
VS Code 界面语言只认 locale.json,其他任何地方写的 "locale" 都无效——settings.json 里加这行是白写,.vscode/settings.json(工作区)里写也无效,命令面板输错参数或漏选 zh-cn 更不会生成它。这个文件必须存在、路径正确、内容合法,且 VS Code 启动时读到它,才可能显示中文。
文件路径和命名必须严格匹配
VS Code 只在用户数据目录的固定位置查找 locale.json,路径错一个字符、大小写不对、放错目录,都会静默忽略:
- Windows:
%APPDATA%\Code\User\locale.json(不是%USERPROFILE%\AppData\Roaming\Code\User的别名路径,但两者通常等价;关键是User子目录下) - macOS:
$HOME/Library/Application Support/Code/User/locale.json - Linux:
$HOME/.config/Code/User/locale.json - 文件名必须是
locale.json,不能是locale.txt、Locale.json或locale.json.bak
内容格式只允许一种合法写法
locale.json 不是通用配置文件,它只接受单字段 JSON,且容错极低:
- 必须是纯文本一行:
{"locale":"zh-cn"} - 引号必须是英文双引号,不能用中文引号、单引号或全角符号
-
zh-cn必须小写、短横线分隔,zh_CN、zh-hans、Chinese全部无效 - 不能有多余空格、换行、逗号、注释,也不能有 BOM 头(用 VS Code 自己新建并保存可天然规避)
- 如果文件里混了其他字段(比如
{"locale":"zh-cn","theme":"dark"}),整个文件被跳过,回退英文
为什么改了还是英文?检查这三个硬性条件
常见“明明写了却没变”的原因,基本都卡在这三点:
- VS Code 进程没彻底退出:Windows 查任务管理器是否有残留
Code.exe,macOS 查活动监视器里的Electron进程,Linux 用ps aux | grep code -
locale.json被更高优先级配置覆盖:比如 Remote-SSH 连接时,远程机器上的locale.json才生效;或者启动命令带了--locale=en参数 - 语言包根本没装对:只装了第三方“汉化补丁”,没装 Microsoft 官方插件
ms-ceintl.vscode-language-pack-zh-hans,此时locale.json有值也没字典可用
真正容易被忽略的是:这个文件不支持任何形式的调试反馈——写错、路径错、编码错,VS Code 都不会报错,只会安静地显示英文界面。


















