离线中文包必须使用官方发布的.vscode-language-pack-zh-hans.vsiv文件,仅允许安全修改package.json中的engines.vscode版本号以匹配本地vscode主版本,其他任何改动均会导致签名失效或加载失败。

离线中文包不是“自己做”,而是用官方源打包
VSCode 不允许第三方构建可分发的、能被主程序识别的语言包;所谓“制作自己的离线中文包”,实际是下载并验证官方 vscode-language-pack-zh-hans 的 .vsix 文件,确保它能在目标环境中安装生效。你无法绕过 Microsoft 的签名和 contributes.localizations 声明机制——没有 MS-CEINTL 签名、没在 package.json 中正确声明语言 ID 和资源路径的包,VSCode 1.85+ 会直接拒绝加载。
必须从官网下载对应版本的 .vsix 文件
手动拼 URL 或从非官方镜像站下载,极大概率拿到过期或篡改包。正确做法是:
- 打开官网页面:https://www.php.cn/link/60f79dfd80ed019c1c155704b89568bc
- 滚动到底部,点击 Download Extension(不是“Install”按钮)
- 得到文件名形如
MS-CEINTL.vscode-language-pack-zh-hans-1.104.2025082016.vsix—— 注意版本号要与你本地code --version输出的主版本一致(如1.104.2→ 匹配^1.104.0) - 右键解压该
.vsix(本质是 ZIP),检查根目录下extension/package.json中的"engines": {"vscode": "^1.104.0"}是否匹配
改 engines.vscode 字段是唯一合法的“适配”操作
若版本不匹配(例如你用 VSCode 1.105.0,但只下到 1.104.x 的包),不能删文件、不能重命名、不能合并资源,只能安全修改 package.json:
- 用
7-Zip或PowerShell Expand-Archive解压,避免 Windows 资源管理器破坏 ZIP 结构 - 编辑
extension/package.json,把"engines": {"vscode": "^1.104.0"}改为"engines": {"vscode": "^1.105.0"} - 重新压缩整个
extension/目录为 ZIP,再把后缀改成.vsix - 不要添加额外文件、不要改动
icon.png或nls.metadata.json,否则签名失效
打包后必须验证三项才真正“可用”
一个离线包是否可靠,不看能不能双击安装,而看它能否通过以下三关:
- 在目标机上执行
Extensions: Install from VSIX后,扩展面板中能搜到ms-ceintl.vscode-language-pack-zh-hans并显示“已启用” - 运行
Configure Display Language命令后,下拉列表中存在zh-cn选项(不是灰色不可选) - 重启后,顶部菜单栏、设置页左侧导航栏、命令面板提示文字这三处全部变为中文——任一区域仍为英文,说明语言资源未完整加载
最常被忽略的是:改完 engines 后没清空旧缓存,或没杀干净后台进程,导致新包加载失败却无报错。











