vs code 界面变中文必须安装官方简体中文语言包并在用户数据目录下创建 locale.json 文件,内容为 {"locale":"zh-cn"},且需重启 vs code 才生效;settings.json 中的 locale 字段自 1.70 版起已失效。

直接改 settings.json 无法让 VS Code 界面变中文——这是个常见误解,且从 VS Code 1.70 版本起已彻底失效。
为什么改 settings.json 里的 "locale": "zh-cn" 没用
VS Code 从 1.70 开始完全弃用了 settings.json 中的 locale 字段。你加了这行,它既不报错也不读取,静默忽略。界面语言只由独立的 locale.json 文件控制,且该文件必须位于用户数据目录下,不能放在工作区或设置目录里。
- 常见错误:在
settings.json里写"locale": "zh-CN"(大写 CN)、"locale": "zh_cn"(下划线)或"app.language"(不存在字段) - 更隐蔽的问题:误把
locale.json放到项目根目录下的.vscode/locale.json,这个路径只影响工作区级配置,对 UI 语言无效 - 系统终端 locale(如 macOS 的
LANG=zh_CN.UTF-8)可能干扰启动行为,但不可靠,不应依赖
locale.json 文件必须放对位置才能生效
这个文件不是可选配置,是唯一生效路径。它默认不存在,需手动创建或通过命令生成。关键在于路径必须精准对应你的操作系统:
- Windows:
%APPDATA%\Code\User\locale.json - macOS:
$HOME/Library/Application Support/Code/User/locale.json - Linux:
$HOME/.config/Code/User/locale.json
文件内容极简,仅一行 JSON:{"locale":"zh-cn"}。注意:zh-cn 必须全小写、连字符,不能是 ZH-CN 或 zh_CN;保存时编码必须为 UTF-8 无 BOM,否则部分版本会解析失败。
Remote-SSH / WSL 环境要单独配 locale.json
本地设好了中文,连上远程服务器或 WSL 后还是英文?因为 Remote-SSH 和 WSL 启动的是独立的 VS Code Server 进程,它读取的是远程机器上的 locale.json,和本地完全无关。
- 必须在远程机器上重复相同操作:关闭所有远程窗口 → 找到远程系统的对应路径 → 创建或编辑
locale.json→ 写入{"locale":"zh-cn"} - 如果远程是 Linux,且你用
code命令从 shell 启动,还要确认远程 shell 的LANG变量没覆盖配置(例如export LANG=C会强制英文) - 别指望“一次设置,处处生效”——本地、WSL、Remote-SSH 是三套隔离的语言环境
Reload Window 不等于重启,语言不会变
执行 Configure Display Language 后弹出提示,点 Reload Window 是最常踩的坑。这个操作只刷新当前窗口 DOM,不重建语言上下文,界面仍为旧语言。
- 必须点
Restart,或手动退出所有 VS Code 进程(Windows 检查任务管理器中是否有残留的Code.exe或Code Helper) - macOS/Linux 下,若用终端
code .启动,关掉 GUI 窗口后终端进程可能仍在运行,需pkill -f "code"彻底清理 - 改完
locale.json后不重启,哪怕等十分钟再打开,也绝不会自动生效——VS Code 只在启动时读一次该文件
真正起效的只有两件事:确保官方 Chinese (Simplified) Language Pack for Visual Studio Code 已安装,以及 locale.json 在正确路径下存着正确的值。其他所有路径,包括插件市场里名字近似的第三方“汉化包”,都可能导致部分 UI 仍是英文,甚至引发乱码或崩溃。











