vsix离线安装数据库插件必须从官方市场直链下载,否则缺失lsp二进制或签名失效;需用--allow-unverified绕过证书验证,并在联网机预触发lsp下载后复制完整扩展目录至内网机,同时确保依赖扩展一并安装。

离线安装数据库连接管理插件(比如 bradlc.vscode-tailwindcss、ms-mssql.mssql、redhat.vscode-yaml 或更常见的 mtxr.sqltools)失败,不是因为“没网装不了”,而是因为这些插件普遍带语言服务器(LSP)、依赖其他扩展、且对 engines.vscode 版本极其敏感——装上≠能用。
怎么下载真正能用的 .vsix 文件
数据库类插件(尤其是 mtxr.sqltools、ms-mssql.mssql)的 VSIX 必须从官方市场直链获取,否则大概率缺失 LSP 二进制或签名失效:
- 打开插件市场页,例如 https://www.php.cn/link/7b9543028298685920afeacd01e4242f
- 右键点击右侧 Resources 区域的 Download Extension 按钮 → 复制链接地址 → 粘贴到新标签页打开 → 下载
- 别用 GitHub Release 页面的 zip 或 tar.gz,那些不是 VSIX,也**不包含打包好的 LSP 可执行文件**
- 下载后重命名,例如
sqltools-0.29.0.vsix,避免版本混淆
code --install-extension 报错的三个硬卡点
命令行安装数据库插件时,code --install-extension 极其脆弱,报错信息几乎不提示原因:
-
command not found: code→ 不是 PATH 问题,是 VSCode 从未启用 Shell Command:在 VSCode 中按Ctrl+Shift+P→ 输入Shell Command: Install 'code' command in PATH→ 回车执行 -
INVALID_SIGNATURE→ 离线环境无法连微软证书服务器,必须加--allow-unverified:运行code --install-extension sqltools-0.29.0.vsix --allow-unverified - 装完
code --list-extensions能看见,但连接数据库时报 “Cannot find server” 或状态栏一直转圈 → 插件进程被后台 VSCode 实例锁住:Windows 用任务管理器结束所有Code.exe,macOS/Linux 运行pkill -f "Code",再重试
装上了却连不上数据库?LSP 根本没落地
像 mtxr.sqltools、ms-mssql.mssql 这类插件,VSIX 只是前端壳子,首次使用才会下载对应平台的 LSP 服务(如 sqltools-server-win32-x64.exe)。离线环境卡在 “Downloading SQLTools Server…” 是常态。
- 正确做法:在一台**能联网的同系统机器**上,用相同 VSCode 版本打开一个
.sql文件 → 触发下载 → 等状态栏显示 “SQLTools Server Ready” - 然后拷贝整个扩展目录:
~/.vscode/extensions/mtxr.sqltools-0.29.0/(含out和server子目录)→ 覆盖到内网机相同路径 - 注意:Windows 路径含中文或空格(如
C:\用户\张三\.vscode\extensions\...)会导致 LSP 启动失败,务必用纯英文路径
最常被忽略的一点:数据库插件往往强依赖其他扩展,比如 mtxr.sqltools 默认需要 mtxr.sqltools-driver-mysql 或 mtxr.sqltools-driver-postgres 才能连对应库;而 ms-mssql.mssql 依赖 ms-python.python 提供的底层通道。离线部署前,必须用 code --list-extensions 在联网机导出全量 ID 列表,一并处理。











