拖拽.vsix到主窗口没反应,需先确认:VSCode已启动并获系统焦点、未处于全屏或远程桌面环境、拖入的是原始未解压的.vsix文件。

拖拽.vsix到主窗口没反应?先确认这三件事
VSCode 离线安装最常用方式就是拖拽,但它对环境很敏感,静默失败几乎都卡在这三点:
• VSCode 必须已启动且获得系统焦点(任务栏图标高亮,或点击编辑器空白处再拖)
• 不能处于全屏模式,也不能在 RDP / TeamViewer / 远程 SSH 未就绪状态下操作(这些环境会拦截拖放事件)
• 拖进去的必须是原始未解压的 .vsix 文件——不是 .zip、不是解压后的文件夹、也不是浏览器自动加了双后缀的 prettier.vsix.zip
code --install-extension 总报错?路径和 CLI 是关键
命令行方式更可控,但失败基本都出在路径或 CLI 配置上:
• 先运行 code --version,如果提示 command not found: code,说明 CLI 未注册:在 VSCode 中按 Ctrl+Shift+P 输入 Shell Command: Install 'code' command in PATH 并执行
• 路径必须是绝对路径:Linux/macOS 用 /home/user/ext/ms-python.python-2024.6.0.vsix,Windows 推荐正斜杠写法 C:/ext/prettier-3.2.5.vsix
• 路径含空格或中文?必须加英文双引号:code --install-extension "/path/to/my ext.vsix"
• 报错 Extension is not compatible with Code?说明 .vsix 内 package.json 的 "engines": {"vscode": "^1.85.0"} 和你本地版本不匹配(比如你用的是 1.84.2)
插件显示“已安装”但没功能?别重装,查 LSP 和启用状态
很多语言类插件(如 ms-python.python、dbaeumer.vscode-eslint)离线时看似装上了,实则卡在首次激活环节:
• 安装后默认禁用,需手动点「启用」或重启 VSCode
• 首次打开 .py 或 .js 文件时,会尝试下载 pyright、eslint 等 LSP 服务,离线环境下状态栏一直显示 “Downloading…”
• 正确做法:在有网机器上完整启用一次该插件(打开对应文件 → 等下载完成 → 不卸载),然后把整个插件目录(如 ms-python.python-2024.6.0/)拷到离线机的 ~/.vscode/extensions/(Linux/macOS)或 %USERPROFILE%\AppData\Roaming\Code\Extensions\(Windows)
• 查问题:打开 View → Output,切换到对应通道(如 Python),看是否有 spawn ENOENT 或 Failed to fetch
手动解压复制到 extensions 目录为什么识别不到?目录结构必须严丝合缝
这是权限受限或策略封锁下的兜底方案,但容错率极低:
• 先用 unzip -l your-extension.vsix 查顶层目录名,例如 esbenp.prettier-vscode-9.10.3/ —— 这就是扩展 ID + 版本号,必须原样作为子目录名
• 解压后,把整个 esbenp.prettier-vscode-9.10.3/ 目录(含 package.json、node_modules 等)移入对应 extensions 路径
• 不能只复制里面的内容,也不能保留 .vsix 文件本身,更不能丢掉外层目录直接拷内容
• 复制完必须彻底退出 VSCode(包括右下角托盘进程),否则缓存不刷新,插件不会被加载


















