vscode离线安装中文语言包必须通过命令面板执行“extensions: install from vsix”并重启后运行“configure display language”选择zh-cn,双击或拖拽.vsix文件无效;locale配置必须为"zh-cn"(小写连字符),且需彻底终止后台进程确保生效。

VSCode离线安装中文语言包必须用Install from VSIX命令
直接双击.vsix文件或拖进VSCode窗口,99%不会生效——VSCode自1.70起已禁用这种安装方式,会静默失败且无提示。离线部署唯一可靠路径是通过命令面板调用内置安装器。
常见错误现象包括:安装后右下角状态栏仍显示en、设置页/命令面板全英文、重启多次无变化。根本原因是VSCode没把语言包注册进扩展系统,只是把文件存进了~/.vscode/extensions/目录但未激活。
- 在联网设备上下载官方
vscode-language-pack-zh-hans-*.vsix(认准发布者MS-CEINTL,ID为ms-ceintl.vscode-language-pack-zh-hans) - 复制到目标机器任意路径,比如
~/Downloads/ - VSCode中按
Ctrl+Shift+P→ 输入Extensions: Install from VSIX→ 回车 - 在弹出的文件选择框中定位并选中该
.vsix文件,点击Install - 安装完成后必须执行
Configure Display Language并选zh-cn,再点Restart
locale.json里zh-cn和zh-hans到底该用哪个?
答案是:都可能生效,但行为不一致——zh-cn走标准BCP 47匹配,覆盖全部UI;zh-hans只触发部分语言资源加载,在某些VSCode版本(如1.95+)会导致设置页、调试面板仍为英文。
这不是拼写偏好问题,而是VSCode内部语言协商机制决定的:它优先匹配locale字段值与语言包ID后缀是否一致。官方语言包ID是ms-ceintl.vscode-language-pack-zh-hans,但VSCode主程序默认只认zh-cn作为简体中文的“显示语言标识”。
- 推荐始终写
"locale": "zh-cn"(小写、连字符、双引号包裹) - 不要写
zh_CN、ZH-CN、chinese或空格前后有误 - 如果改完
locale.json没反应,先检查文件是否保存为UTF-8无BOM编码 - 路径必须是用户级配置:
~/.config/Code/User/locale.json(Linux)、%APPDATA%\Code\User\locale.json(Windows)
银河麒麟等国产系统离线部署的三个隐藏坑
银河麒麟V10 SP1、UOS 20等系统预装的VSCode常被定制过,扩展市场不可用是表象,深层问题是签名验证拦截、沙箱策略限制、或底层Electron版本不兼容——这些不会报错,只会让Install from VSIX卡在“正在安装”不动。
此时不能靠重试或换路径解决,必须确认三件事:
- 确认VSCode版本≥1.85:旧版对
.vsix签名验证更宽松,但语言包资源不全;新版需严格匹配签名,建议从官网下载最新64位二进制包手动替换 - 检查是否启用SELinux或AppArmor:麒麟系统默认开启安全模块,可能阻止VSCode写入
~/.vscode/extensions/,临时禁用测试(sudo setenforce 0) - 避免用
root权限运行VSCode:以普通用户启动,否则locale.json会被写入/root/.config/Code/User/,而GUI会读当前登录用户的配置
装完VSIX重启后还是英文?先杀干净后台进程
VSCode的“重启窗口”命令(Developer: Reload Window)或点击Restart按钮,只重载渲染进程,不终止主进程和插件宿主进程。残留的Code Helper或Code --no-sandbox进程会继续读取旧的locale缓存,导致界面语言不更新。
这不是配置错误,是进程管理逻辑本身的设计缺陷——尤其在国产系统上,托盘图标常驻进程更顽固。
- Linux/macOS:终端执行
pkill -f 'code.*--.*' && pkill -f 'Code Helper',再手动启动VSCode - Windows:打开任务管理器 → 结束所有
Code.exe和Code Helper (Renderer).exe进程 - 验证是否清干净:启动VSCode后立刻按
Ctrl+Shift+P→ 输入Developer: Toggle Developer Tools→ 控制台里搜locale,应显示zh-cn - 如果右下角状态栏仍显示
en,点击它手动选中文(简体),这是最直接的兜底操作
真正卡住人的从来不是怎么装,而是装完以为结束了——VSCode的语言切换是“资源+配置+进程”三者同步生效的结果,漏掉任一环,界面就钉死在英文上。











