vscode运行sql需三者齐备:装对扩展(sqltools主插件+对应数据库驱动)、配好连接(手动编辑connections.json,填全host/port/database等字段)、手动激活连接(右键connect并确认状态栏绿色图标),缺一不可。

VSCode 本身不能直接运行 SQL 查询,必须装对扩展、配好连接、手动激活三者齐备,缺一不可。装错插件(比如只装了语法高亮)、漏点 Connect、或光标停在注释里按快捷键,都会导致“没反应”“Query is empty”“no connection found”。
SQLTools 连接 PostgreSQL/MySQL 必须装两个插件
SQLTools 主体只是个壳,真正干活的是驱动插件。只装 SQLTools 会报 Driver not found 或 Cannot resolve driver。
- 先装主扩展:
SQLTools(作者 mtxr) - 再按数据库类型装对应驱动:
SQLTools PostgreSQL Driver或SQLTools MySQL/MariaDB Driver - 装完必须重启 VSCode —— 驱动不会热加载
连接配置别信 GUI 表单,直接改 .vscode/sqltools.json
GUI 容易漏填关键字段,比如 PostgreSQL 的 database 字段默认为空,不填就连不上;MySQL 不设库名则执行 SELECT * FROM users 直接报 No database selected。
- 路径是项目根目录下的
.vscode/sqltools.json(没有就新建) - PostgreSQL 示例片段:
{ "name": "mydb", "driver": "PostgreSQL", "host": "127.0.0.1", "port": 5432, "database": "myapp_dev", "user": "postgres", "password": "pass%40123", "connectionString": "client_encoding=utf8" } - 密码含
@、/等字符必须 URL 编码,否则解析失败
Ctrl+Alt+R 没反应?检查光标位置和语句完整性
这个快捷键只在光标落在**完整语句内部**时才触发,不是任意位置都能用。常见失效原因:
- 语句末尾没加分号(MySQL 驱动强制要求)
- 光标在
--注释行、/* */块内、空行或字符串中间 - 没手动 Connect:侧边栏有连接名 ≠ 已激活,必须右键 →
Connect,看到状态栏绿色图标才算 - 快捷键冲突?按
Ctrl+Shift+P手动输入SQLTools: Run Current Statement测试
SQL Server 用户请认准 microsoft.mssql 扩展
其他名字带 “SQL Server” 的插件基本不靠谱,尤其不支持 Windows 身份验证切换、GO 批处理、或完整 T-SQL 兼容性。装错会卡在 Connecting... 或报 Named Pipes Provider, error: 40。
- macOS/Linux 必须额外装 ODBC 驱动:
msodbcsql17,否则提示ODBC Driver 17 for SQL Server not found - 新建文件后,右下角状态栏必须点成
SQL(不是T-SQL),否则Ctrl+Shift+E灰掉 - 连接字符串里实例名、端口、认证方式(SQL 账户需显式勾选)错一个就
Login failed for user
最容易被忽略的其实是连接后的上下文:一个 .sql 文件可同时关联多个连接,但执行哪条语句发往哪个库,取决于你当前选中的连接项或右键时指定的 Run Current Statement in Connection —— 不是靠文件名或路径自动判断。











