VSCode 默认中文需三步:安装官方语言包、用命令设zh-cn、点Reload Window;settings.json的"locale"已失效,改locale.json才生效,且须由命令生成,环境变量可能覆盖设置。

VSCode 默认打开就是中文,靠的不是“装完插件自动变”,而是三件事必须做全:装官方语言包、用 Configure Display Language 命令设 zh-cn、点 Reload Window(不是关掉重开)。
为什么改 settings.json 无效?
VS Code 1.70+ 版本已彻底弃用 settings.json 中的 "locale": "zh-cn" 配置。它不会报错,也不会警告,只是静默忽略。你手动加了这行,重启后界面还是英文——不是你操作错了,是这个路径根本没用了。
真正起效的是独立的 locale.json 文件,且必须由 VS Code 自己生成(通过命令触发),否则容易写错路径或格式。
-
locale.json正确路径是:%APPDATA%\Code\User\locale.json(Windows)、~/.config/Code/User/locale.json(Linux)、~/Library/Application Support/Code/User/locale.json(macOS) - 手写时必须是标准 JSON 格式:
{"locale":"zh-cn"},不能多逗号、不能缺大括号、不能写成locale.language等错误字段 - 如果文件被误建在项目根目录下的
.vscode/locale.json,那只会对当前工作区生效,且优先级低于用户级配置
Configure Display Language 命令到底做了什么?
这个命令不是“选个语言就完事”,它是一套自动检查 + 引导流程:
- 先检测本地是否已安装
ms-ceintl.vscode-language-pack-zh-hans(微软官方简体中文语言包) - 没装就跳转到扩展页,点击 Install 后自动返回
- 装好后自动打开正确的
locale.json(用户级),并填入{"locale":"zh-cn"} - 最后弹出提示:“需要重启窗口以应用更改”——这里必须点
Reload Window,不是Ctrl+R,也不是关掉再双击图标
很多人点了 Reload Window 还是英文,常见原因是:LANG 或 LC_ALL 环境变量从终端透传进来,强行覆盖了 locale.json 设置;或者你在 WSL/SSH 远程连接中改了远程的 locale.json,但本地窗口仍读本地配置。
全局生效的关键:别让环境变量劫持语言
VS Code 启动时会按顺序读取语言设置,优先级从高到低是:环境变量 > locale.json > 系统区域设置。所以即使 locale.json 写对了,也可能被绕过。
- Linux/macOS 下,检查终端启动 VS Code 的方式:如果用
code .启动,且终端设置了export LANG=en_US.UTF-8,VS Code 就会优先用这个 - 解决方法:在启动前临时清空,比如
LANG= code .;或在 shell 配置里把LANG改成zh_CN.UTF-8(注意这是系统 locale,和 VS Code 的zh-cn不同) - Windows 用户一般不受此影响,但若使用 Git Bash 或 MSYS2 启动,同样可能透传
LANG - Snap 版 VS Code(Ubuntu 默认源安装)有沙盒限制,语言包常加载失败,建议换用官网 .deb 包或 tarball
真正卡住人的地方,往往不是找不到按钮,而是改完配置忘了 Reload Window,或以为装了插件就自动生效,结果一直等它“慢慢汉化”。语言切换没有中间态——它只在窗口启动那一刻读一次 locale.json,之后全程静态,不缓存、不热更、不 fallback。











