离线安装.vsix语言包后界面仍英文,需手动编辑用户级locale.json为{"locale":"zh-cn"}并彻底终止所有vs code进程后重启,三者缺一不可。

离线安装了 .vsix 语言包,但界面还是英文
装完 .vsix 文件不等于界面自动变中文——它只完成了“资源就位”,还没告诉 VS Code “现在用中文”。离线场景下最常卡在这一步:用户双击安装完就开新窗口,结果菜单、设置、命令面板全是英文。
真正起效必须走两步:确认 locale.json 已写入正确值,并且所有 VS Code 进程彻底退出后重启。
- 打开命令面板(
Ctrl+Shift+P),输入Configure Display Language—— 如果该命令能执行,直接选zh-cn,然后点提示里的 Restart(不是 Reload Window) - 如果命令面板打不开、没反应,或列表里压根没有
zh-cn,说明语言包虽已安装,但 VS Code 没识别到可用语言选项,此时必须手动编辑locale.json - 别依赖右下角弹窗:离线安装时,VS Code 往往不会主动弹出“Restart Now”提示,这是正常现象,不能作为是否成功的判断依据
手动改 locale.json 的路径和格式必须严格匹配
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"}(注意:双引号、小写、短横线、无空格、无逗号、无 BOM) - 不要写成
zh_CN、zh-hans、Chinese或zh—— 这些全无效;VS Code 启动时会静默忽略错误值,退回英文
离线环境最容易被忽略的进程残留问题
你以为点了“退出”就结束了?在离线机器上,VS Code 常驻后台进程更顽固。哪怕你关掉了所有窗口,Code.exe(Windows)、Electron(macOS)或 code(Linux)仍在运行,新启动的窗口会继承旧进程的环境变量和语言状态,导致改了 locale.json 也白搭。
- Windows:打开任务管理器 → 详细信息页 → 结束所有
Code.exe和Code Helper进程 - macOS:打开活动监视器 → 搜索
Electron→ 全部强制退出 - Linux:终端执行
pkill -f "code",再确认ps aux | grep code无输出 - 验证是否真重启:重新打开 VS Code 后,按
Ctrl+Shift+P,搜Configure Display Language,如果能打开并显示zh-cn,说明进程已干净
为什么有些离线机改完还是局部英文?
菜单栏、设置面板变中文了,但 Git 面板、调试控制台、终端提示符还是英文——这不是语言包没装好,而是这些模块依赖系统级 locale 或插件自身语言支持。
- Git 面板用的是系统 Git 的语言,和 VS Code 无关;想让它也中文,需单独配置 Git:
git config --global i18n.logOutputEncoding utf-8并确保系统 locale 是zh_CN.UTF-8 - 终端(Integrated Terminal)显示英文,通常是因为 shell 启动时读取的
$LANG是en_US.UTF-8;可在 VS Code 设置里搜terminal integrated env,添加"LANG": "zh_CN.UTF-8" - 某些插件(如 Remote-SSH、GitHub Copilot)自带独立语言包,它们不会随主界面切换;需单独检查插件设置或等待其后续更新适配
核心就三件事:装对 ms-ceintl.vscode-language-pack-zh-hans 的 .vsix,写对 {"locale":"zh-cn"},杀干净所有后台进程——中间漏掉任何一环,界面都会卡在英文不动。











