vscode 中文设置不生效的根源是 locale.json 未正确生成或读取:需通过命令面板运行 configure display language 选择 zh-cn 并重启,确保文件位于用户级指定路径、内容为 {"locale": "zh-cn"},且无工作区/远程配置覆盖,同时彻底退出进程并清除缓存。

VSCode 设置中文后不生效,几乎总是因为 locale.json 没被正确写入或没被读到——不是插件没装,也不是设置没点,而是 VS Code 实际只认这个文件,且只在特定路径、特定格式下才生效。
Configure Display Language 命令根本没运行成功
这是最常见原因:你点了「安装语言包」,但没真正触发语言切换。VS Code 不会自动把插件和界面语言绑定,Configure Display Language 是唯一能生成/更新 locale.json 的入口。
- 必须用
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS)打开命令面板,完整输入Configure Display Language,不能输错字母或缩写 - 列表里选的是
zh-cn(小写、带短横线),不是zh-CN、zh、Chinese或“简体中文”文字项 - 选完后弹出的提示框里,必须点 Restart,仅
Developer: Reload Window无效——后台进程仍读旧配置 - 如果命令面板里压根没出现
zh-cn选项,说明语言包未完成初始化:去扩展页确认Chinese (Simplified) Language Pack for Visual Studio Code状态为「启用」,版本号 ≥1.89.2026052801
locale.json 文件存在但被忽略或覆盖
VS Code 只读取用户级 locale.json,路径、内容、权限三者缺一不可。手动生成、放错位置、写错格式,都会静默 fallback 到英文。
- 路径必须严格匹配:
Windows:%APPDATA%\Code\User\locale.json
macOS:~/Library/Application Support/Code/User/locale.json
Linux:~/.config/Code/User/locale.json - 文件内容只能是合法 JSON,且仅含一行:
{"locale": "zh-cn"}(双引号、小写、短横线,无注释、无多余字段) - 若该文件被企业策略、多版本管理器或脚本覆盖过,需手动清空为仅保留该键值对
- 检查方式:直接打开对应路径,确认文件存在;右下角状态栏显示
en即说明未生效
工作区或远程配置强行覆盖了 locale
VS Code 的配置有优先级:工作区级 > 用户级,远程实例(SSH/WSL)完全独立,它不继承本地设置,也不读本地 locale.json。
- 关闭当前文件夹(
File > Close Folder),再执行Configure Display Language,看是否生效——若此时变中文,说明工作区.vscode/settings.json里写了"locale": "en"类干扰项 - Remote-SSH / WSL 场景下,必须在远程机器上操作:
进入~/.vscode-server/data/Machine/xxx/(xxx 是哈希目录),新建或编辑locale.json,内容仅{"locale": "zh-cn"},保存为 UTF-8 无 BOM - 改完必须断开 SSH 连接再重连——
vscode-server不支持热重载,不重连就不会重新读这个文件
缓存残留或进程未彻底退出
即使配置全对,旧缓存也可能让部分 UI 卡在英文状态,尤其是 Windows 的资源缓存和 macOS 的字体渲染缓存;后台残留的 Code.exe 进程也会继续读旧 locale。
- 任务管理器(Windows)或活动监视器(macOS)中确认所有
Code进程已退出,尤其注意隐藏的后台进程 - 删缓存目录:
Windows:%APPDATA%\Code\Cache
macOS:~/Library/Caches/com.microsoft.VSCode
Linux:~/.cache/Code - 启动时加参数验证:
code --log trace,打开输出面板 →Log (Window),搜索--locale=,看启动参数是否为zh-cn
真正卡住的地方往往不在「怎么设」,而在「谁在覆盖」和「谁没重启」——locale.json 路径不对、远程没单独配、后台进程还活着,这三处不处理,重装十次语言包也没用。











