GitHub Copilot如何与 MSSQL 扩展配合使用

GitHub Copilot 与 Visual Studio Code 的 MSSQL 扩展集成提供了多个入口,人工智能(AI)可在这些入口中为 SQL 开发提供帮助。 每个图面具有不同的功能、对数据库架构的不同访问权限,以及不同的理想用例。 本文介绍哪些图面处理哪种方案,因此你可以为每个任务选择合适的工具。

关键结论

  • 聊天 @mssql 参与者、代理模式工具、架构设计器和数据 API 生成器在连接到数据库时都具有 架构意识 。
  • 内联补全(在 .sql 文件中输入时显示的幽灵文本)直接来自 GitHub Copilot 的模型,无法识别您连接的数据库架构。
  • 若要在编写 SQL 时获得支持架构的建议,请在聊天中使用 @mssql 聊天参与者,而非内联幽灵文本。

GitHub Copilot 功能一览

Surface 提供者 是否支持架构感知? 最适用于
聊天参与者 (@mssql) MSSQL 扩展 是(已连接数据库) 问题、说明、查询编写
代理模式工具 MSSQL 扩展贡献工具 是(通过工具调用) 多步骤工作流,委托的更改
计划模式 Visual Studio Code 是(通过 @mssql 提供的上下文) 编写 SQL 数据定义语言(DDL)之前的分析
斜杠命令 MSSQL 扩展 是的 常见任务的结构化提示
行内补全 直接使用 GitHub Copilot 模型 否 输入时的通用幽灵文本
使用 GitHub Copilot 的模式设计器 嵌入在 MSSQL 架构设计器中 是的 借助 AI 进行视觉架构设计
借助 GitHub Copilot 的数据 API 构建器 嵌入到 MSSQL 数据 API 生成器中 是的 REST、GraphQL 和模型上下文协议(MCP)终结点的实体配置

聊天参与者: @mssql

@mssql聊天参与者由 MSSQL 扩展提供。 当您在 GitHub Copilot 对话助手视图中输入 @mssql 时,该扩展程序会接收您的提示以及有关当前活动数据库连接的元数据。 该扩展可以:

  • 读取架构信息(表、列、关系、存储过程)
  • 在发送到模型的提示中包含架构上下文
  • 返回引用了您数据库中真实对象的响应

聊天参与者是获取支持架构感知的 AI 辅助的主要途径。 当你在聊天中提及 @mssql 时,它会为提问模式和编辑模式的交互提供支持。

有关场景驱动的演练,请参阅快速入门:与@mssql参与者聊天(提问模式)。

代理模式工具

代理模式允许GitHub Copilot自主规划和执行工作。 MSSQL 扩展提供一组工具(例如 connect、list_databases、run_query),代理模式可以代表你调用这些工具,并且始终需要经过你的批准。

与聊天参与者(其需要明确提及 @mssql)不同,当 MSSQL 扩展处于活动状态时,代理模式会自动识别并使用该扩展的工具。 你可以编写自然语言提示词,例如“连接到我的 LocalDev 配置文件,并显示 AdventureWorks 中的表”,而代理模式会选择要调用哪些工具。

智能体模式通过其工具具备模式感知能力。 每个工具调用都会从连接的数据库返回实际数据。

有关完整的工具参考和示例提示,请参阅快速入门:使用 GitHub Copilot 智能体模式。

计划模式

计划模式是 Visual Studio Code 的一项功能,可让 GitHub Copilot 在不作任何更改的情况下对请求进行分析。 当你将聊天切换到计划模式时,GitHub Copilot 会生成一份书面计划(通常保存为 plan.md),你可以先查看该计划,再交由代理模式或 Schema Designer 执行。

计划模式非常适合数据库设计。 自然语言的产品需求文档会在编写任何 SQL DDL 之前,转化为一个经过严密推导的数据模型,其中包括表、关联表、外键指向和约束。

有关将计划模式与产品要求文档(PRD)配对的演练,请参阅 快速入门:将计划模式用于规范驱动数据库设计。

行内补全

行内补全是指在编辑器中输入时出现的提示文本。 在.sql文件中,这些建议直接来自GitHub Copilot的模型。

行内补全无法识别您已连接的数据库架构。 Visual Studio Code 的行内补全应用程序接口 (API) 实际上仅支持单一提供商:当启用 GitHub Copilot 时,第三方扩展(包括 MSSQL 扩展)无法提供支持架构的幽灵文本。 对于基于架构的 SQL 建议,请改用 @mssql聊天参与方。

这是平台行为,而不是 MSSQL 扩展限制。 它适用于所有想要提供内联 SQL 补全的第三方扩展。 若要深入了解内联补全功能,请参阅快速入门:在 SQL 文件中使用 GitHub Copilot 内联补全。

具有嵌入式GitHub Copilot的架构设计器

MSSQL 扩展的架构设计器在其画布中直接嵌入了 GitHub Copilot。 这是与聊天和代理模式 不同的管道 。 架构设计器有自己的提示基础结构和自己的应用架构上下文的方式。 可以要求GitHub Copilot从所选代码创建表、添加关系、生成测试数据或导入外部项目,并实时观看可视化关系图更新。

具有GitHub Copilot的架构设计器具有架构感知性,因为它直接在连接的数据库上运行。

有关方案驱动的示例,请参阅快速入门:使用嵌入式GitHub Copilot方案直观地设计架构。

具有嵌入式GitHub Copilot的数据 API 生成器

Data API 生成器画布还内嵌了 GitHub Copilot 聊天界面。 可以使用自然语言来配置实体、权限和输出类型(REST、GraphQL、MCP)。 与架构设计器一样,此图面具有架构感知性,并使用其自己的提示管道。

有关完整工作流,请参阅 数据 API 生成器。

自定义指令适用于所有界面

无论使用哪种图面,GitHub Copilot都会应用为项目创作的任何自定义说明。 配置文件 (.github/instructions/*.instructions.md) 用于向 GitHub Copilot 传授您团队的规范,这些配置会被注入到所有 applyTo 通配符匹配的请求中。

这意味着,你的命名约定、文件模板以及对数据类型的偏好,同样会影响提问模式、代理模式、计划模式和内联补全。 有关如何设置此设置,请参阅快速入门:使用自定义说明将GitHub Copilot与 T-SQL 约定保持一致。

隐私和数据处理

所有调用都会通过 GitHub Copilot 的隐私保护代理进行路由。 提示和补全内容不会被存储,也不会用于训练这些模型。 有关详细信息,请参阅限制和已知问题和GitHub Copilot信任中心。

共享您的体验

为了帮助我们优化和改进 MSSQL 扩展的 GitHub Copilot,请使用以下 GitHub 问题模板提交反馈: GitHub Copilot 反馈

提交反馈时,请考虑包括:

  • 测试的方案:告诉我们你关注哪些领域,例如架构创建、查询生成、安全性、本地化。

  • 效果很好:描述任何感觉流畅、有帮助或超出预期的体验。

  • 问题或错误:包括任何问题、不一致之处或令人困惑的行为。 屏幕截图或屏幕录制特别有用。

  • 改进建议:分享改进可用性、扩大覆盖范围或增强 GitHub Copilot 响应的想法。