VS Code 的 locale.json 配置无效主因是文件未被正确读取:必须置于用户级固定路径、UTF-8无BOM编码、严格格式{"locale":"zh-cn"},且需彻底重启进程;远程开发需在远程机器对应路径单独配置。

locale.json 配置无效,90% 是文件没被 VS Code 真正读到——它对路径、内容、编码、权限四者都极其敏感,错一个就静默回退英文。
检查 locale.json 是否在正确路径且被读取
VS Code 只认用户级固定路径下的 locale.json,其他任何位置(比如项目根目录的 .vscode/locale.json、工作区设置里写 "locale")全无效。它也不会从 settings.json 读取该字段,那是旧版文档遗留的误导。
- Windows 路径:
%APPDATA%\Code\User\locale.json - macOS 路径:
$HOME/Library/Application Support/Code/User/locale.json - Linux 路径:
$HOME/.config/Code/User/locale.json
打开对应路径,确认文件存在;右键用记事本或 VS Code 自身打开,看内容是否为严格一行:{"locale":"zh-cn"}(注意:双引号必须是英文、全小写、短横线、无空格、无逗号、无注释、无 BOM)。
为什么手动创建后还是不生效
手动创建本身没问题,但极易踩坑:文件编码不是 UTF-8 无 BOM、用了全角引号、多了一个空格、保存时加了换行或自动插入了 // 注释——VS Code 遇到任一格式错误都会直接忽略整个文件,不报错、不提示,界面照常英文。
- 用 VS Code 打开该文件,底部状态栏看编码显示是否为
UTF-8(不是UTF-8 with BOM) - 删光所有内容,只输入:
{"locale":"zh-cn"},保存 - 执行
Developer: Reload Window不够,必须彻底退出所有 VS Code 进程(包括托盘图标),再重新启动
远程开发(Remote-SSH / WSL)下 locale.json 失效
本地配得再对,远程窗口仍是英文——因为 Remote-SSH 和 WSL 启动的是独立的 VS Code Server 实例,它完全不读你本地的 locale.json,只读远程机器上对应路径下的同名文件。
- 连接到远程后,在集成终端中运行:
echo $HOME,确认家目录路径 - 进入:
$HOME/.vscode-server/data/Machine/(后面是随机哈希子目录,如abc123) - 在此目录下新建或编辑
locale.json,内容严格为:{"locale":"zh-cn"} - 在远程窗口中执行
Developer: Reload Window(不是本地窗口!)
settings.json 中写了 "locale" 却没用
新版 VS Code(1.70+)已明确弃用 settings.json 中的 "locale" 字段。它不会报错,也不会警告,只是完全无视。哪怕你写成 "locale": "zh-CN" 或 "locale": "zh-hans",VS Code 都当它不存在。
- 删掉
settings.json里所有带"locale"的行,避免干扰判断 - 如果你需要同步配置(比如用 Settings Sync),可改用
settings.json中的"locale"字段(仅限 VS Code 1.80+),但必须写成"zh-CN"(大写 ZH),且优先级高于locale.json;不过该方式仍依赖语言包版本 ≥1.89.2026052801 - 更稳妥的做法仍是确保
locale.json正确,并验证远程端也单独配置
真正容易被忽略的是:VS Code 加载 locale.json 是启动瞬间完成的动作,一旦失败就不再重试——哪怕你后续改对了文件,也必须彻底重启进程才能生效。缓存、残留进程、沙盒安装(snap/flatpak)、甚至 OneDrive 同步冲突,都可能让这个看似简单的 JSON 文件变成“看不见的墙”。


















