code --install-extension 必须用绝对路径,相对路径会静默失败;需确保code命令已通过“Shell Command: Install 'code' command in PATH”注册,且插件路径正确、权限可写、签名兼容。

code --install-extension 命令必须用绝对路径
相对路径在任何系统下都会静默失败,VSCode CLI 不做路径补全或提示,执行后无输出、插件不出现,其实根本没读到文件。
常见写法错误示例:./prettier.vsix、~/Downloads/python.vsix、ext\ms-python.python.vsix(Windows 反斜杠未转义)
- Linux/macOS 正确写法:
code --install-extension /home/user/vscode-ext/prettier-9.10.3.vsix - Windows 推荐统一用正斜杠:
code --install-extension C:/ext/ms-python.python-2024.6.0.vsix - 路径含空格或中文时,必须加英文双引号:
code --install-extension "D:/my ext/comate-3.2.1.vsix"
command not found: code 错误的真正原因和解法
这不是 PATH 配置问题本身,而是 VSCode 从未注册过 shell 命令。即使 PATH 里有 code,也可能指向旧版本或残留二进制。
唯一可靠做法:打开 VSCode → 按 Ctrl+Shift+P → 输入 Shell Command: Install 'code' command in PATH → 回车执行。
验证是否生效:终端运行 code --version,应立即输出类似 1.85.2 的结果;若仍报错,说明 VSCode 进程未重启,关掉所有窗口(包括托盘图标)再试。
报 INVALID_SIGNATURE 或 Extension is not compatible 的应对逻辑
离线环境无法连接微软证书服务器,--allow-unverified 是绕过签名校验的合法参数,不是“降级安全”——它只跳过签名检查,不跳过版本、架构、依赖等其他校验。
Extension is not compatible with VS Code 错误几乎都源于 package.json 中的 engines.vscode 字段不匹配:
- 用
unzip -p your.vsix extension/package.json | grep engines(macOS/Linux)或 PowerShell 的Expand-Archive -Path your.vsix -DestinationPath tmp & cat tmp/extension/package.json查看真实要求 - 本地 VSCode 版本为
1.84.3,但插件要求"^1.85.0"→ 不兼容,换低版本插件或升级 VSCode - Help → About 中显示
arm64,却装了x64构建的 .vsix → 功能静默失效,无报错
装完不生效?别只看 Extensions 列表
VSCode 显示“已安装”只是把文件解压进 ~/.vscode/extensions/,不代表插件已激活或其依赖已就绪。
典型假成功场景:
- Python 插件装完,打开
.py文件,状态栏卡在Downloading pyright...→ 离线环境下自动下载失败,需提前在联网机上触发并同步整个ms-python.python-*目录 - Prettier 安装成功,但保存不格式化 → 实际是
editor.defaultFormatter仍为vscode.typescript-language-features,或javascript.format.enable未关 - 插件依赖其他扩展(如
esbenp.prettier-vscode依赖bradlc.vscode-tailwindcss),但只装了主包 → 功能缺失且无提示
验证是否真生效:重启 VSCode 后,按 Ctrl+Shift+P → 输入 Developer: Show Running Extensions,确认目标插件状态为 Active,而非 Inactive 或空白。


















