code命令找不到,主因是未注册到系统path;需在vscode中执行“shell command: install 'code' command in path”,再重启终端验证。

code命令找不到?先确认CLI是否注册进系统PATH
执行code --install-extension xxx.vsix报command not found: code,不是插件问题,而是VSCode根本没把命令行工具暴露给终端。官方.deb/.rpm/ZIP包默认不自动配置code命令。
- 先运行
which code(Linux/macOS)或where code(Windows PowerShell),无输出即未注册 - 临时解决:用绝对路径,如
/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用户目录,普通用户启动VSCode后看不到
安装卡住或静默失败?检查.vsix文件完整性与版本兼容性
拖拽安装卡在“Installing…”、命令行无报错但code --list-extensions不显示插件,大概率是文件损坏或VSCode版本不匹配——它不提示,只跳过。
- 验证文件是否完整:
unzip -t plugin.vsix(Linux/macOS)或Expand-Archive plugin.vsix -WhatIf(PowerShell),输出OK才算可用 - 查插件要求的最低VSCode版本:
unzip -p plugin.vsix extension/package.json | grep engines,看"vscode": "^1.85.0"这类字段 - 查本地版本:
code --version,取前两位(如1.92.2→1.92),必须≥插件声明的最低版本 - ARM架构(M系列Mac)不能装x64版
.vsix:Help → About里看架构,再去Marketplace的versionhistory页面手动选对应平台旧版下载
装完不生效?强制覆盖或绕过签名校验
插件目录里没生成对应文件夹,或装完重启后仍不出现,常见于残留旧版本、非官方.vsix、或签名无法离线验证。
- 加
--allow-unverified绕过签名校验:code --install-extension python.vsix --allow-unverified - 加
--force强制覆盖已存在插件:code --install-extension python.vsix --force,适用于缓存残留、文件缺失、结构不一致等情况 - 注意
--force不解决引擎版本不兼容:若engines.vscode声明^1.85.0而你用1.84.2,VSCode连解压都不会触发 - 执行前务必关掉所有VSCode进程(包括托盘后台),否则扩展主机可能锁住写入
路径含空格或中文?必须用绝对路径+引号包裹
Windows下C:\用户\张三\vsix\python.vsix、Linux/macOS下~/Downloads/python.vsix这类路径会导致静默失败——VSCode不解析波浪号,也不处理中文路径中的编码。
- Windows:路径必须用英文双引号包裹,且推荐正斜杠:
code --install-extension "C:/vsix/python.vsix" - Linux/macOS:必须用绝对路径,如
/home/user/vsix/python.vsix,禁用~/或./ - 虚拟机共享文件夹(如
/mnt/hgfs)常失败:先复制到本地路径(如~/Downloads/),再安装 - 权限被锁死时(如WSL挂载Windows分区、企业NTFS卷),可临时用
--extensions-dir指定可写目录:code --extensions-dir ~/my-extensions --install-extension python.vsix
最常被忽略的是版本声明和签名绕过之间的配合——--allow-unverified解决校验失败,--force解决覆盖冲突,但两者都救不了engines.vscode版本低于要求的情况。动手前先开终端跑两行命令验证,比反复重试快得多。











