“Extension is corrupt”或静默失败主因是VSCode在解压/签名校验阶段拒绝继续,非文件真损坏;常见于package.json缺失、signature.sig被剥离或ZIP结构破坏,需用unzip -t验证完整性,结构完整可加--force强制安装。

code --install-extension 报 “Extension is corrupt” 或静默失败
这不是文件真损坏,而是 VSCode 在解压或签名校验阶段拒绝继续——它不报具体错,只停在“Installing…”或直接跳过。常见触发点是 package.json 缺失、signature.sig 被剥离,或 ZIP 结构被资源管理器破坏。
实操建议:
- 用
unzip -t plugin.vsix(Linux/macOS)或Expand-Archive plugin.vsix -WhatIf(PowerShell)验证压缩包完整性;报broken或missing就必须重下 - 别用 Windows 资源管理器双击打开再保存 .vsix:会重写 ZIP 元数据,导致
signature.sig失效 - 用 7-Zip 或
unzip -l plugin.vsix确认根目录下有extension/package.json和signature.sig两个关键文件 - 若确认结构完整但依然失败,加
--force参数强制覆盖:code --install-extension python.vsix --force
安装后插件列表里没出现,或显示“已安装”但不生效
VSCode 安装成功 ≠ 插件被加载。离线环境下,它可能把文件写进 ~/.vscode/extensions/,但启动时因引擎版本不匹配、依赖缺失或 locale 配置错误而跳过激活。
实操建议:
- 运行
code --version,取输出如1.96.3的完整版本号;再解压 .vsix 中的extension/package.json,检查"engines": {"vscode": "^1.90.0"}字段;本地版本必须满足语义化兼容(如1.96.3 ≥ 1.90.0),否则静默拒载 - 插件有依赖(如
ms-python.python依赖ms-toolsai.jupyter),离线时只装主包会导致状态异常;需从 Marketplace 页面的Dependencies区域逐个下载对应 ID 的 .vsix 并一起安装 - 打开输出面板(
Ctrl+Shift+U),选Log (Window),搜localization或插件 ID,看是否出现Loaded extension或Failed to load—— 这才是真实状态
中文语言包装完仍是英文界面
语言包只是资源文件,VSCode 不会自动启用。所谓“安装成功”,往往只是文件落盘,但 locale.json 没写对、路径错、值写错,或进程没彻底重启,都会导致界面纹丝不动。
实操建议:
-
locale.json必须放在用户级配置目录:%APPDATA%\Code\User\locale.json(Windows)、~/Library/Application Support/Code/User/locale.json(macOS)、~/.config/Code/User/locale.json(Linux),内容仅且必须为:{"locale":"zh-cn"}(小写、短横线、双引号) - 不要用命令面板模糊搜索 “change language”,必须输入完整命令名
Configure Display Language,并在弹出列表中**手动选择zh-cn**(不是zh-hans,也不是Chinese) - 选完后必须点
Restart,而不是关掉窗口再手动打开——后台Code Helper进程仍在运行,配置不会重载
“无法验证安装源” 或 “Signature verification failed”
这是 VSCode 1.77+ 启用严格签名验证后的典型表现。它不是网络问题,而是本地校验失败:证书过期、系统时间偏差 >±5 分钟、镜像源缓存包签名失效,或非官方下载的 .vsix 被剥离了 signature.sig。
实操建议:
- 先运行
date(Linux/macOS)或time(Windows PowerShell),确认系统时间误差在 5 分钟内;超时会导致证书校验直接失败,且无提示 - 用
code --install-extension plugin.vsix --verbose查看详细日志,重点找Signature verification failed或Invalid signature block - 若确定来源可信但签名仍失败,唯一安全绕过方式是:解压 .vsix → 编辑
extension/package.json中的"engines"字段,将"^1.90.0"改为本地精确版本如"1.96.3"→ 用zip命令或 7-Zip 重新打包 → 改后缀为.vsix→ 再安装


















