Mac上改VSCode界面语言本质是修改~/Library/Application Support/Code/User/locale.json文件,内容须为{"locale":"zh-cn"}或{"locale":"en"},严格符合JSON格式,且需彻底退出VSCode(含Code Helper进程)后重启生效。

Mac 上改 VSCode 界面语言,本质就是改对 locale.json 文件——它不靠设置 UI、不走命令面板(尤其 1.80+ 版本已移除 Configure Display Language),只认这个文件的内容和位置。
macOS 下 locale.json 的正确路径和权限
文件必须放在用户级数据目录下,路径是:~/Library/Application Support/Code/User/locale.json。注意不是 ~/.vscode/locale.json,也不是项目根目录下的 .vscode/locale.json——后者会被优先读取,但属于工作区覆盖层,容易导致多环境语言混乱。
- 若该路径不存在,先手动创建目录:
mkdir -p ~/Library/Application\ Support/Code/User - 用 VS Code 自己新建并保存该文件,能天然避免 UTF-8 BOM 问题;别用记事本或某些终端编辑器直接写,易带不可见字符
- 确认文件所有者是当前用户(
ls -l ~/Library/Application\ Support/Code/User/locale.json),非 root 或其他用户权限可能导致静默忽略
locale.json 内容必须严格合法
VSCode 对 JSON 格式零容忍:错一个字符,就回退到英文,且不报错、不提示。
- 唯一允许的内容:
{"locale":"zh-cn"}(中文)或{"locale":"en"}(英文) - 双引号必须是英文半角,不能是中文引号、单引号、反引号
- 值必须小写,
"zh-cn"有效,"ZH-CN"、"zh_CN"、"zh-hans"全部无效 - 不能有尾部空格:
{"locale":"zh-cn" }❌ - 不能有多余逗号:
{"locale":"zh-cn",}❌ - 不能加注释:
// 这是错的❌
改完不生效?检查三个隐藏覆盖源
VSCode 语言优先级是:启动参数 > 工作区 .vscode/locale.json > 用户级 locale.json。你以为改了,其实被盖住了。
- 检查当前项目根目录是否存在
.vscode/locale.json,存在且内容为{"locale":"zh-cn"}就会强制覆盖用户设置 → 直接删掉 - 检查终端 alias 是否带
--locale=zh-cn:运行alias | grep code,若有则临时取消(unalias code)再启动 - Remote-SSH 或 WSL 场景下,本地改了没用——远程机器上也有独立的
locale.json,需登录后在~/.vscode-server/data/Machine/*/User/locale.json修改
彻底退出 + 重启才是关键动作
VSCode 不热重载界面语言。窗口关了、托盘图标还在,进程就还在,新配置不会加载。
- 必须按
Cmd + Q或点击菜单栏 Code → Quit Visual Studio Code - 检查活动监视器里是否还有
Electron或Code Helper进程,有就手动结束 - 不要用
code .从终端重启——它可能继承旧环境变量或启动参数;双击 Dock 图标或 Launchpad 启动最稳妥 - 启动后右下角状态栏会显示当前语言代码(如
zh-cn),点它可快速验证
最常被忽略的是:改完文件却没杀干净后台进程,或者误把 locale.json 放进了错误路径。一旦出问题,删掉文件再重启,VSCode 会自动 fallback 到默认英文,这是最安全的兜底方式。



















