必须将 locale 值严格设为小写 zh-cn 才生效,其他如 zh_cn、zh-hans、zh-cn 或中文名称均静默失败;windows 需结束所有 code.exe 进程,macos 需终止 electron 及 code helper 进程并修改正确路径的 locale.json,linux 还需配置 gtk_im_module 环境变量及用户权限。

Windows 下装中文包必须杀光 Code.exe 进程才能生效
Windows 用户最容易卡在“点了 Restart Now 没反应”。根本原因是 VS Code 的后台进程(Code.exe)没被完全终止,新启动的窗口仍复用旧进程的 locale 上下文。任务管理器里哪怕只残留一个 Code.exe,locale.json 的修改就不会加载。
实操建议:
- 安装完
Chinese (Simplified) Language Pack for Visual Studio Code后,先按Ctrl+Shift+P执行Configure Display Language,选zh-cn - 弹出重启提示时,**不要点 Restart Now**——先手动打开任务管理器,结束所有
Code.exe和Code Helper.exe进程 - 再双击桌面快捷方式或运行
code命令全新启动 - 验证:看顶部菜单栏是否中文,右下角状态栏是否显示
zh-cn
macOS 用户要盯紧 Electron 进程和 Application Support 路径
macOS 的 VS Code 是基于 Electron 的,但它的配置文件路径和进程名和 Windows/Linux 不同。很多用户改了 locale.json 却无效,是因为编辑了错误路径,或没杀掉 Electron 主进程。
实操建议:
- 正确路径是:
$HOME/Library/Application Support/Code/User/locale.json,不是~/.vscode或~/Library/Preferences - 活动监视器里要结束两个进程:
Electron(主窗口)和Code Helper (Renderer)(插件宿主) - 如果用终端启动 VS Code(如
code .),关掉终端窗口后仍可能残留进程,务必进活动监视器确认 - 改
locale.json时内容只能是:{"locale":"zh-cn"},UTF-8 无 BOM,不能有换行或逗号
Linux 用户需注意权限、环境变量与 GTK 输入法链路
Linux 下中文包装得上、locale 设对了,但菜单栏中文而编辑器打不出汉字,这通常不是汉化问题,而是输入法未接入 Electron 渲染层。VS Code v1.89+ 默认启用 ozone 渲染,旧式 IME 配置会失效。
实操建议:
-
locale.json路径为:$HOME/.config/Code/User/locale.json,确保该目录属主是当前用户(chown -R $USER:$USER ~/.config/Code) - 必须设置环境变量:
export GTK_IM_MODULE=fcitx5(Fcitx5)或export GTK_IM_MODULE=ibus(IBus),并写入~/.profile(不是~/.bashrc) - 终端启动前加参数验证:
code --log=trace --disable-gpu,日志中搜resolved locale,确认输出为zh-cn - 若日志里仍是
en,检查是否有VSCODE_CLI环境变量干扰,或/usr/share/code/argv.json里硬编码了 locale
所有系统共通的致命坑:locale 值只认 zh-cn,其他全静默失败
无论 Windows/macOS/Linux,Configure Display Language 命令或 locale.json 里写的值,只要不是严格小写的 zh-cn(连字符、无空格、无下划线),VS Code 就当它不存在——不报错、不警告、界面照旧英文。
常见无效写法:
-
zh_CN(下划线,Unix 风格,VS Code 不认) -
zh-hans(BCP 47 变体,插件 ID 用这个,但运行时 locale 不接受) -
ZH-CN(大写,JSON 解析通过但 locale 匹配失败) -
"Chinese"或"Chinese (Simplified)"(字符串匹配,命令面板里不会出现)
真正起效的只有 zh-cn。它不是“推荐写法”,是唯一被解析器硬编码识别的值。别试图“优化”或“标准化”,VS Code 就是这么设计的。











