vs code需同时安装sqltools主体插件及对应数据库驱动(如postgresql/mysql驱动)才能连接,sqlite除外;配置通过connections.json手动编辑或命令面板生成,且必须手动执行connect操作才生效。

装错扩展组合,连不上是必然的
VS Code 本身不带数据库连接能力,必须靠扩展;但只装 SQLTools 主体插件,一定会报 No driver installed 或 Driver not found。它是个框架,不是开箱即用的客户端。
- 必须同时安装两个东西:
SQLTools(作者 mtxr) + 对应数据库的驱动,比如SQLTools PostgreSQL Driver、SQLTools MySQL/MariaDB Driver—— 缺一不可,且都要启用 - 别装名字像但作者不是
mtxr的“兼容驱动”,社区第三方驱动更新慢、SSL 或认证方式支持不全,尤其在连接云数据库(如 AWS RDS、Supabase)时容易卡在握手阶段 - SQLite 是例外:装完
SQLTools就能直接连本地.db文件,不用额外驱动
connections.json 手动编辑是常态,不是 bug
连接配置不走图形表单,而是写 JSON 文件,路径固定:~/.sqltools/connections.json(macOS/Linux)或 %USERPROFILE%\.sqltools\connections.json(Windows)。很多人以为点几下就配好了,结果文件里空空如也。
- 推荐用命令面板操作:
Ctrl+Shift+P→ 输入SQLTools: New Connection,选类型后填字段——这样能确保格式合法,避免手误多逗号、少引号 - 常见填错项:
host写成127.0.0.1却忘了 Docker 容器里要用host.docker.internal;port漏写(PostgreSQL 默认5432,MySQL 是3306,SQL Server 是1433);database名大小写敏感(尤其 PostgreSQL) - 密码别硬编码进 JSON,改用环境变量:
"password": "${env:PG_PASSWORD}",再在终端启动 VS Code:PG_PASSWORD=xxx code
执行前必须手动 Connect,否则报 no connection found
配置完 ≠ 连上了。VS Code 不会自动连接,也不会记住上次状态。每次重启、甚至切换工作区后,都得右键连接名 → Connect,看到绿色圆点才算活的。
- 如果弹出密码框但输完没反应,检查系统密钥服务是否正常(Linux 上可能是
gnome-keyring未运行;macOS 上钥匙串权限异常) - 执行查询时提示
Query failed: no connection found,90% 是因为没点 Connect,而不是配置错了 - 想快速验证连接是否有效:右键任意表 →
Select Top 100 Rows,比写SELECT * FROM ...更快,也避开大表卡死 UI
大表、长查询、导出要提前设限
SQLTools 默认不限制返回行数,也不限制查询超时。对没加 LIMIT 的 SELECT *,可能拉几十万行进内存,VS Code 直接假死,结果面板空白或无限转圈。
- 在
settings.json中加这行:"sqltools.resultsLimit": 1000,防止意外拖垮编辑器 - 导出 CSV 只导当前页结果(默认 100 行),不是全部数据;真要全量导出,得用命令行客户端或写脚本
- 执行 DDL(如
CREATE INDEX)或耗时语句时,注意有些驱动(如 MySQL)不支持后台异步执行,界面会卡住,等它完成或中断前别乱点别的地方
配置的核心复杂点从来不在语法,而在于「驱动 + 配置 + 连接动作」三者必须严格同步;漏掉任一环,VS Code 就当它不存在——它不报错,只是沉默。











