应选SQLTools插件连接PostgreSQL/MySQL/SQLite等通用数据库,因其官方维护、支持广泛;SQL Server则必须用微软mssql插件,因SQLTools对其支持不稳定。
VSCode 本身不支持数据库连接或 SQL 补全,必须靠插件实现;没装对插件或连错配置,按了也没反应,表名和列名一个都补不出来。
选哪个插件:SQLTools 还是 mssql?
看数据库类型决定——不是“哪个更好”,而是“哪个能连上”:
PostgreSQL / MySQL / SQLite / Oracle / Redshift 等通用数据库 → 用
(推荐官方维护的
插件)
SQL Server(含 Azure SQL)→ 用微软官方的
插件,
对 SQL Server 支持不稳定,容易连不上或补全失效
别混着装:两个插件同时启用时,
可能绑定到错误插件,执行 SQL 时静默失败
连接配置写错一个字段,就卡在“测试连接中”
常见失败点不在密码,而在端口、实例名或协议细节:
本地 SQL Server:服务器名填
不够,得写成
(带实例名)或
(显式端口)
PostgreSQL:默认端口是
,但很多用户误填
或留空;密码字段若含特殊字符(如
、
),需 URL 编码(
替代
)
环境变量引用要加
,不能只写
;变量未定义时,插件不会报错,而是直接认证失败
连接成功后,配置实际存于
,手动编辑时注意 JSON 格式,多一个逗号就会导致整个连接面板不可用
SQL 补全不生效?先检查语言模式和光标位置
补全不是全局生效,它依赖两个硬性前提:
VSCode 1.118
微软正式发布 Visual Studio Code 1.118 版本 。本次更新重点强化了 AI 开发体验与企业管理能力,其中最引人注目的是新增 Copilot CLI 远程控制功能,允许开发者通过手机或网页远程监控和接管 AI 会话 。同时,为了提高 AI 的运行性价比,新版本优化了令牌缓存策略以降低成本 。此外,1.118 版还引入了 Chronicle 本地历史追踪、TypeScript 7.0 支持以及更严格的企业级访问管控 。
下载
文件必须是
后缀,且右下角状态栏显示语言模式为
(不是
);点一下状态栏手动切换
光标必须在有效上下文中:比如输入
后按
,才能触发表名补全;若光标在注释里、字符串中或
子句右侧空白处,补全引擎直接跳过
的列名补全只在已指定表的前提下工作,例如
后无法补全列,但
后可以
首次连接后需等待几秒,插件才完成元数据加载;此时补全图标可能转圈,强行触发会返回空列表
执行 SQL 却看不到结果?注意输出目标和语句边界
执行行为由插件控制,不是所有选中内容都会跑:
默认快捷键
(Windows/Linux)或
(macOS)只执行当前光标所在语句块,不是全文;多语句需用分号
显式分隔,否则只执行第一条
结果默认输出到 VSCode 底部的
或
面板,不是
面板;如果没看到结果,先点开侧边栏 SQL 图标,再点底部面板标签
某些 DDL(如
)执行后无返回集,面板只显示“Query executed successfully”,不是出错
如果执行后提示
,说明当前文件没关联到任何活动连接——右键 SQL 文件 → “Connect to Database” 手动绑定
最常被忽略的是:连接成功 ≠ 元数据就绪。表名补全延迟几秒属正常,但若等半分钟仍无响应,大概率是权限不足(用户没
权限)或网络策略拦截了元数据查询。这时候看插件日志比重试连接更有用。
Ctrl+Shift+ESQLToolssqltoolsSQL Server (mssql)SQLToolsCtrl+Shift+Elocalhostlocalhost\SQLEXPRESSlocalhost,143354325433@/%40@${env:PGPASSWORD}PGPASSWORD.vscode/settings.json.sqlSQLPlain TextSELECT * FROM Ctrl+SpaceWHERESQLToolsSELECT * FROM users WHERE SELECT users.Ctrl+Shift+ECmd+Shift+E;SQLToolsMSSQLOutputCREATE TABLEError: Connection not foundSELECT ON pg_tables