locale.json是vs code唯一生效的语言配置文件,路径必须为用户级固定路径,内容仅限{"locale":"zh-cn"}单行合法json,改后需彻底退出并重启。

locale.json 是 VS Code 唯一生效的语言配置文件,其他任何地方写 locale 都无效——包括 settings.json、工作区配置、命令行参数(除非临时调试)。
必须确保 locale.json 路径和文件名完全正确
VS Code 只读取用户级(user-level)的 locale.json,且路径严格固定:
- Windows:
%APPDATA%\Code\User\locale.json - macOS:
$HOME/Library/Application Support/Code/User/locale.json - Linux:
$HOME/.config/Code/User/locale.json
常见错误包括:
- 误放到项目目录下的
.vscode/locale.json(工作区级配置不控制界面语言) - 文件名写成
locale.txt、Locale.json(大小写敏感)、locale.json.bak - 路径中多了一层
Machine/或Data/(那是 Remote-SSH / WSL 的服务端路径,不是本地主实例)
内容格式必须是严格合法的单行 JSON
文件内容只能是这一行,不能多空格、不能少引号、不能带注释:
{"locale":"zh-cn"}
关键细节:
- 值必须是小写
zh-cn(不是zh_CN、ZH-CN、zh-hans) - 必须用英文双引号,不能用中文引号或单引号
- 末尾不能有多余逗号,不能换行,不能有 BOM(用 VS Code 自己新建并保存可天然规避)
- 如果文件里已有其他字段(比如
{"locale":"zh-cn","theme":"dark"}),整个文件会被静默忽略
编辑前必须彻底退出 VS Code
哪怕右下角没窗口,后台进程仍在运行也会导致配置不生效:
- Windows:打开任务管理器,杀掉所有
Code.exe和Code Helper.exe - macOS:活动监视器中结束
Code Helper和Electron相关进程 - Linux:执行
pkill -f "code"或手动检查ps aux | grep code
改完保存后,直接双击图标启动,不要用终端 code . 启动——某些 shell 环境会透传 $LANG 覆盖 locale.json。
Remote-SSH / WSL 必须单独配 locale.json
你在本地设好 locale.json,远程连接后仍是英文,不是失败,而是两个独立实例:
- Remote-SSH 连上后,运行命令
Developer: Open User Data Folder,进User/目录编辑locale.json - WSL 中先确认 VS Code Server 已启动(
code --list-extensions有输出),再进路径类似~/.vscode-server/data/Machine/abc123.../User/locale.json - 远程端的语言包也得单独安装,不会从本地同步过去
最易被忽略的一点:终端面板、调试控制台、Git 输出、部分插件 UI 显示英文,和 locale.json 是否生效无关——它们走各自语言环境,不是 VS Code 主界面的翻译漏了。











