先确认code命令是否注册:运行which code,无输出则说明未加入path;临时用绝对路径安装,永久修复需在vscode中执行“shell command: install 'code' command in path”并重启终端。

code --install-extension 报 command not found 怎么办
这不是网络问题,是 VSCode 的 CLI 工具根本没注册进系统 PATH。官方 .deb/.rpm 包和 macOS ZIP 版默认不自动配置 code 命令,尤其在 SSH 终端、WSL 或虚拟机里更常见。
- 先运行
which code:无输出就确认命令不可见 - 临时解决:用绝对路径,如
/usr/bin/code --install-extension /path/to/xxx.vsix(Linux)或/Applications/Visual Studio Code.app/Contents/Resources/app/bin/code --install-extension /path/to/xxx.vsix(macOS) - 永久修复:在 VSCode 里按
Ctrl+Shift+P→ 输入Shell Command: Install 'code' command in PATH→ 回车执行,再重启终端 - 别加
sudo:否则插件装到 root 用户目录,普通用户启动后看不到
拖拽 .vsix 到窗口没反应是文件坏了?
不是。VSCode 图形界面安装依赖焦点、工作区状态和原始文件完整性,断网时它不报错,只静默丢弃操作。
- 确认 VSCode 窗口有焦点:任务栏图标是否高亮?全屏、RDP、TeamViewer 下拖放常被拦截
- 必须已加载一个工作区:哪怕只是空文件夹;纯启动页或远程连接未建立时,拖放事件直接忽略
- 检查文件是否真为 .vsix:运行
unzip -l plugin.vsix,应显示顶层为extension/目录且含extension/package.json - 路径含中文或空格?Windows 必须用英文双引号包裹,如
"C:\my ext\ms-python.python-2024.6.0.vsix" - 虚拟机共享文件夹(如
/mnt/hgfs)拖入常失败:先复制到本地路径(如~/Downloads/),再拖
报 “Extension is corrupt” 或 “not compatible” 怎么定位
这不是文件损坏,而是 VSCode 在加载阶段拒绝解析 package.json 或校验失败,最常被忽略的是 engines.vscode 版本声明不匹配。
- 运行
code --version,取前两位(如1.92.2→1.92) - 解压查看要求版本:
unzip -p plugin.vsix extension/package.json | grep engines,找类似"vscode": "^1.85.0"的字段 - 本地版本必须 ≥ 插件声明的最低版本;差一个小版本(如
1.92vs^1.93.0)就会静默拒绝 - ARM 架构机器(如 M-series Mac)不能装 x64 构建的 .vsix:Help → About 里看架构,再去 Marketplace 的
/versionhistory页面手动选对应平台旧版下载 - 别手动改
package.json并重打包:绕过签名验证后插件可能被禁用或功能异常
装上了但没功能?语言服务器可能根本没落地
Python、Rust、Vue、Verilog 这类插件,.vsix 只是前端壳。真正干活的语言服务器(如 pyright-server、volar-server)需首次启用时联网下载。离线环境下,它就卡在“Downloading…”或直接跳过。
- 打开对应文件类型(如
.py),观察右下角状态栏:若显示 “Starting Python Server…” 但一直不动,大概率是 LSP 未就绪 - 这类插件通常会在
~/.vscode/extensions/xxx/下留一个server子目录,但离线时该目录为空或仅含占位脚本 - 补全方案需手动下载对应 server 二进制,并按插件文档结构放入扩展目录(例如
~/.vscode/extensions/ms-python.python-2024.6.0/out/server) - 部分插件还依赖
extensionDependencies,这些子扩展也得一并离线安装
code 命令可用、验证 .vsix 文件结构完整、比对 engines.vscode 和本地版本。其他所有“看起来像失败”的现象,基本都源于这三处之一。











