SQLTools必须搭配对应驱动才能连接数据库:PostgreSQL需SQLTools PostgreSQL Driver,MySQL需SQLTools MySQL Driver,SQLite需SQLTools SQLite Driver;仅装主体插件必报“Driver not found”,且驱动安装后须重启VSCode。

SQLTools 适合 PostgreSQL/MySQL/SQLite,但必须配对应驱动
装了 SQLTools 主体插件却连不上数据库?大概率是漏装驱动。它本身不带任何数据库协议实现,所有连接能力都靠独立扩展提供。
- PostgreSQL → 必须额外安装
SQLTools PostgreSQL Driver(搜@tag:sqltools-driver可列出全部) - MySQL → 装
SQLTools MySQL Driver - SQLite → 装
SQLTools SQLite Driver - 驱动安装后必须重启 VSCode,否则连接向导里选不到类型
特别注意:M1/M2 Mac 连 PostgreSQL 时,libpq 版本不兼容可能报错;此时换用 PostgreSQL by Chris Kolkman 插件更稳,它自带二进制依赖。
mssql 插件专供 SQL Server,别和 SQLTools 混用
SQL Server(含 Azure SQL、SQL Managed Instance、Fabric SQL)必须用微软官方 mssql 插件。SQLTools 对它的支持不稳定,常出现连不上、补全失效或执行静默失败。
- 两个插件同时启用时,
Ctrl+Shift+E可能绑定到错误插件,导致执行无响应 - 本地 SQL Server 实例名写错是高频失败点:填
localhost不够,得写成localhost\SQLEXPRESS或localhost,1433 - Azure SQL 连接字符串中,服务器名格式为
xxx.database.windows.net,不能漏掉.database.windows.net
补全不生效?先确认语言模式和光标位置
SQL 补全不是全局开启的,它只在满足两个硬性条件时触发:
- 文件后缀必须是
.sql,且右下角状态栏显示语言模式为SQL(不是Plain Text);点一下状态栏可手动切换 - 光标必须在有效上下文:比如输入
SELECT * FROM后按Ctrl+Space才触发表名补全;若光标在注释里、字符串中或WHERE后空白处,补全引擎直接跳过 -
SQLTools的列名补全只在已指定表的前提下工作,例如SELECT users.可以,但SELECT * FROM users WHERE后不行
首次连接后需等待几秒,插件才完成元数据加载;此时补全图标可能转圈,强行触发会返回空列表。
执行结果看不到?检查语句边界和输出面板位置
执行行为由插件控制,不是所有选中内容都会跑:
-
Ctrl+Shift+E(Windows/Linux)或Cmd+Shift+E(macOS)只执行当前光标所在语句块,不是全文;多语句必须用分号;显式分隔,否则只执行第一条 - 结果默认输出到 VSCode 底部的
SQLTools或MSSQL面板,不是Output面板;如果没看到结果,先点开侧边栏 SQL 图标,再点底部面板标签 - 右键执行前,确保光标在完整语句内——不能跨行选中,也不能停在注释或字符串里
真正容易被忽略的是:连接配置里的 database 字段大小写必须和实际 DB 名完全一致(PostgreSQL 默认区分大小写),而权限不足时插件往往静默失败,不会弹出明确错误提示。


















