VSCode 1.80+ 版本无一键切换语言功能,唯一可靠方式是手动编辑用户级 locale.json 文件(如 Windows 的 %APPDATA%\Code\User\locale.json),设为 {"locale":"en"} 或 {"locale":"zh-cn"},并彻底退出 VSCode(含托盘及远程进程)后重启。

VSCode 1.80+ 版本没有“随时切换”这回事——locale.json 一旦写入,必须彻底退出再重启才生效;所谓“随时”,其实是手动删改文件 + 杀进程的固定流程。
locale.json 文件路径和基础写法
VSCode 只读取用户级 locale.json(不是 settings.json),且只在完全退出后加载。路径如下:
- Windows:
%APPDATA%\Code\User\locale.json - macOS:
~/Library/Application Support/Code/User/locale.json - Linux:
~/.config/Code/User/locale.json
内容必须严格为一行合法 JSON:
{"locale":"en"}
或切中文:
{"locale":"zh-cn"}
常见错误包括:
- 用单引号:
{'locale':'en'}→ 静默忽略 - 大小写错误:
{"locale":"EN"}或{"locale":"en-US"}→ 不识别 - 末尾空格:
{"locale":"en" }→ 整个文件被跳过 - 加注释、换行、缩进、多余逗号 → 全部无效
为什么改了 locale.json 还是没变?优先级陷阱
VSCode 语言生效顺序是:--locale 启动参数 > 工作区 .vscode/locale.json > 用户级 locale.json。容易被忽略的覆盖项:
- 当前项目根目录下存在
.vscode/locale.json(比如之前在某个项目里切过语言)→ 直接删除它 - 终端 alias 启动,例如
alias code='code --locale=zh-cn'→ 检查~/.zshrc或~/.bashrc - Remote-SSH 场景:本地改了没用,得登录远程机器,删掉远程端的
~/.config/Code/User/locale.json
中英文来回切的实际操作节奏
没有一键按钮,但可以形成稳定动作链:
- 要切英文:关闭所有 VSCode 进程 → 删除或覆盖
locale.json为{"locale":"en"}→ 重启 - 要切中文:同上,改为
{"locale":"zh-cn"}→ 重启 - 想“随时”?只能靠脚本或快捷方式封装上述步骤,但本质仍是杀进程 + 写文件 + 重启
注意:VSCode 默认就是英文,locale.json 文件不存在时自动 fallback 到英文——所以最省事的“切回英文”,其实是删掉该文件,而不是写 {"locale":"en"}。
别信 Configure Display Language 命令
这个命令在 VSCode 1.80+(2023 年中起)已被彻底移除。你在命令面板输入 Configure Display Language,只会看到 command not found 或跳转到空设置页。这不是你环境问题,也不是插件冲突,是功能本身没了。任何教程还让你搜这个命令,说明它没更新到 1.80+ 的现实。
真正起作用的只有 locale.json 文件,且它对格式、路径、进程状态极度敏感——最容易漏掉的是没杀干净后台进程(比如托盘图标、WSL 中的 Code Helper、Remote-SSH 的 server 进程)。


















