插件显示“已安装”但没反应,需先手动启用并确认lsp服务是否落地;离线时仅安装.vsix无法触发pyright-server等语言服务器下载,必须在有网机完整激活后整目录迁移扩展文件夹,并彻底重启vscode。

插件显示“已安装”但没反应?先查启用状态和 LSP 是否落地
离线环境下,VSCode 安装 .vsix 只是把前端代码注册进系统,不等于功能就绪。尤其对 ms-python.python、johnsoncodehk.volar、dbaeumer.vscode-eslint 这类语言插件,真正干活的 pyright-server、volar-server、eslint-cli 都在首次打开对应文件时才尝试下载——而离线时这一步直接卡死。
你看到状态栏一直显示 “Downloading…” 或 Output 面板里反复出现 Failed to fetch、spawn ENOENT,就是这个原因。不是安装失败,是服务没起来。
- 安装后必须手动点击「启用」,或重启 VSCode;插件有权限声明(如
"workspace")时,首次启用还会弹窗确认 - 打开一个
.py/.vue/.js文件,观察状态栏和 Output → 对应通道(Python / Vue Server / ESLint)是否有日志输出 - 若 Output 里只有空行或报错,说明 LSP 二进制缺失——此时只拷
.vsix文件完全无效
为什么拖进去了却没启用?焦点、全屏和远程桌面会静默拦截
拖拽 .vsix 到主窗口无反应,90% 不是插件问题,而是 VSCode 根本没收到拖放事件。Windows/macOS/Linux 下都一样,只要满足以下任一条件,拖放就会被系统丢弃:
- VSCode 窗口没有系统焦点:任务栏图标未高亮,或你刚从浏览器切回来没点编辑器空白处
- 处于全屏模式(F11)、远程桌面(RDP/TeamViewer/VirtualBox 共享文件夹)、或 SSH 远程连接中
- 拖入的是解压后的文件夹、
.zip、或双后缀文件(如volar.vsix.zip)——用unzip -l volar.vsix确认顶层含extension/目录
解决办法很简单:退出全屏、切回 VSCode 并点击编辑区任意位置获得焦点、再拖原始 .vsix 文件到编辑区中央(不是侧边栏、不是设置页)。
code --install-extension 报 “not compatible with Code” 怎么快速定位
这个错误不是警告,是硬性拒绝:VSCode 版本低于插件 package.json 中 "engines": {"vscode": "^1.85.0"} 声明的最低要求。它不会提示你该升版本,也不会降级适配。
- 运行
code --version,取输出第一段(如1.85.2→ 实际校验用1.85) - 解压
.vsix,执行unzip -p plugin.vsix extension/package.json | grep engines查声明版本 - 检查 Help → About 里的架构(
arm64/x64)是否与插件构建目标一致;ARM Mac 装 x64 插件会静默跳过 native 模块加载 - 路径含空格或中文?必须加英文双引号:
code --install-extension "/path/to/my plugin.vsix"
真正能用的离线方案:完整迁移扩展目录,不是只拷 .vsix
想让插件在离线环境真正工作,唯一可靠方式是:在有网机器上触发一次完整激活,然后把整个扩展目录原样复制过去。这不是偷懒,而是因为关键二进制藏在子目录里,且目录名格式(publisher.name-version)必须严格匹配。
- 以 Volar 为例:在有网机打开一个
.vue文件 → 等状态栏变绿 → 查看 Output → Vue Server 面板显示Server started→ 关闭 VSCode - 拷贝整个目录:
~/.vscode/extensions/johnsoncodehk.volar-1.12.0/(Linux/macOS)或%USERPROFILE%\AppData\Roaming\Code\Extensions\johnsoncodehk.volar-1.12.0\(Windows) - 必须包含
node_modules/@volar/vue-language-server/bin/下的volar-server二进制,漏一个就启动失败 - 拷完后,彻底退出 VSCode(包括右下角托盘进程),再启动——否则缓存不刷新,旧状态还在
最易被忽略的一点:Volar 和 Vetur 不能共存。离线环境一旦两者都启用,补全失效、CPU 暴涨、类型推导全错——这不是兼容性问题,是设计冲突,必须禁用 Vetur。











