离线服务器装中文包必须走“install from vsix→configure display language→彻底重启”三步,缺一不可;双击或拖拽.vsix无效,因vscode 1.70+禁用文件系统级加载,仅复制文件不注册id、不触发资源加载,导致ui仍为英文且无报错。

离线服务器上装中文包,必须走 Extensions: Install from VSIX + Configure Display Language + 彻底重启三步,缺一不可;双击.vsix、拖拽进窗口、手动复制 extensions 文件夹,全都不生效。
为什么直接双击或拖拽 .vsix 文件无效
VSCode 自 1.70 版起已禁用文件系统级加载机制。双击或拖入只是把 vscode-language-pack-zh-hans-*.vsix 复制到 ~/.vscode/extensions/(Linux/macOS)或 %USERPROFILE%\.vscode\extensions\(Windows),但不会注册扩展 ID、不触发语言资源加载流程,也不写入激活状态。现象是:右下角仍显示 en,设置页、命令面板、调试视图全是英文,且无任何错误提示。
验证是否真正安装成功:打开扩展面板(Ctrl+Shift+X),搜索 ms-ceintl.vscode-language-pack-zh-hans,必须看到“已启用”状态;否则就是静默失败。
离线安装的唯一可靠路径
在目标服务器上操作(非本地下载后拷贝完事):
- 提前从官网下载对应版本的官方语言包:
vscode-language-pack-zh-hans-*.vsix(发布者必须为MS-CEINTL,ID 必须是ms-ceintl.vscode-language-pack-zh-hans) - 确认 VSCode 版本兼容:运行
code --version,比对.vsix文件名中的主版本号(如1.104.2对应^1.104.0) - 启动 VSCode →
Ctrl+Shift+P→ 输入Extensions: Install from VSIX→ 选中该.vsix文件 → 点Install - 安装完成后,必须立刻执行
Configure Display Language→ 明确选zh-cn(小写、连字符、无空格)→ 点提示里的Restart(不是Reload Window)
远程服务器上中文不生效?重点检查这三处
本地装了中文包,对 SSH/WSL 远程窗口完全无效——语言包和 locale 配置都需在远程环境单独部署:
- 点击右下角状态栏的
SSH: xxx→ 选择Install 'Chinese (Simplified) Language Pack' in SSH: xxx - 安装完后,同样要运行
Configure Display Language并选zh-cn→ 点Restart - 若远程无图形界面(如纯终端 SSH),需手动编辑远程机器上的
locale.json:
– Linux:$HOME/.config/Code/User/locale.json
– Windows:%APPDATA%\Code\User\locale.json
– macOS:$HOME/Library/Application Support/Code/User/locale.json
内容严格为:{"locale":"zh-cn"}(UTF-8 编码、无 BOM、无多余空格或逗号)
常见失效原因和绕过技巧
很多“装了还是英文”的问题,其实和插件无关,而是环境残留或配置冲突:
- 后台进程未彻底退出:Windows 杀光所有
Code.exe;macOS/Linux 执行pkill -f "Code Helper"和pkill -f "Electron" - 系统 locale 干预:Linux/macOS 下检查
echo $LANG,若为en_US.UTF-8,可临时运行LANG=zh_CN.UTF-8 code启动 - 不要手动改
settings.json加"locale": "zh-cn"—— 这个字段在那里不被识别,只认locale.json - 如果命令面板搜不到
Configure Display Language,说明语言包根本没注册成功,先卸载再重装
最易被忽略的是:装完 .vsix 后没执行 Configure Display Language,或者点了 Reload Window 就以为完成了。这个命令才是告诉 VSCode “现在开始用中文渲染 UI” 的开关,而重启是强制加载语言资源的必要动作——不杀干净旧进程,新 locale 就不会生效。











