GitHub Copilot 在代码编辑器中键入内容时提供内联建议和交互式聊天体验。 您可以通过键入@mssql
后输入您的提示,来询问聊天参与者问题或提供提示。
开始吧
确保已连接到数据库,并使用 MSSQL 扩展打开活动编辑器窗口。 通过此连接, @mssql
聊天参与者可以了解数据库环境的上下文,从而提供准确的上下文感知建议。 如果没有数据库连接,聊天参与者将没有架构或数据上下文来提供有意义的响应。
以下示例使用 AdventureWorksLT2022
示例数据库,可以从 Microsoft SQL Server 示例和社区项目 主页下载该数据库。
为了获得最佳结果,请调整表和架构名称以匹配自己的环境。
确保聊天包含 @mssql
前缀。 例如,键入 @mssql
后跟问题或提示。 这可确保聊天参与者了解你请求与 SQL 相关的帮助。
在 Visual Studio Code 中与 MSSQL 的聊天参与者聊天
@mssql
使用 GitHub Copilot Chat 中的聊天参与者将智能的上下文感知帮助引入 SQL 开发工作流,所有这些帮助都直接在 Visual Studio Code 中。 无论是编写查询、演变架构还是与应用程序代码集成,GitHub Copilot 都可以帮助你设计和理解关系模型、生成或优化 T-SQL 代码、创建种子数据、基架 ORM 迁移,甚至使用自然语言解释业务逻辑或安全问题,所有这些问题都是根据连接的数据库上下文定制的。
下面是通过聊天参与者可以询问的常见用例和示例:
列出或浏览数据库架构中的对象
在数据库中询问有关表、列、架构和对象元数据的问题。
- 显示当前数据库的架构中的所有
SalesLT
对象,按类型分组。 - 列出表的
SalesLT.Customer
列、数据类型和可为 null 性。 - 当前数据库中定义了多少个表、视图和过程?
编写简单查询
获取编写用于筛选、聚合和联接的常见 SQL 查询的帮助。
- 编写 T-SQL 查询,根据最新订单日期列出过去 30 天内下订单的所有客户
SalesLT.Customer
。 - 生成一个查询,该查询计算
SalesLT.SalesOrderHeader
表中每个客户的平均订单总数,按降序排序。 - 更新上一个查询,以包含表中每个客户的
SalesLT.Customer
全名。
说明关系或概念
请求对架构关系、查询逻辑或与开发相关的功能的简化说明。
- 描述当前数据库中
SalesLT.SalesOrderHeader
表和SalesLT.Customer
表之间的外键关系。 - 我是刚接触 T-SQL 的开发者。 说明
SalesLT.SalesOrderHeader
如何与SalesLT.Customer
相关,以及涉及到哪些密钥。 - 说明矢量数据类型在 SQL Server 中的工作原理以及何时将其用于 AI 方案。
生成迁移或集成代码
请求帮助生成基于 SQL 或 ORM 的迁移脚本。
- 创建一个 T-SQL 脚本,在
SalesLT.SalesOrderDetail.ProductID
上添加一个外键约束,该约束引用SalesLT.Product.ProductID
。 - 生成一个 Sequelize 迁移,以将
SalesLT.SalesOrderDetail.ProductID
中的外键添加到SalesLT.Product.ProductID
,假设它们都存在。
将内联建议与 GitHub Copilot 配合使用
首先,可以在新的编辑器窗口中键入 T-SQL 查询,例如 SELECT * FROM SalesLT.Customer
,并观察 GitHub Copilot 提供的内联建议。 键入时将显示建议,可以通过按 Tab
或 Enter
接受它们。
或者,可以直接在编辑器中键入相同的查询 SELECT * FROM SalesLT.Customer
。 然后,将其突出显示以显示✨ 智能动作图标,该图标出现在突出显示的查询旁边。 此图标提供对其他 GitHub Copilot 选项(例如 Modify using Copilot
调整查询、 /doc
生成文档或询问与查询相关的 GitHub Copilot 常规问题的能力)的快速访问。
选择“使用 GitHub Copilot 查看”时,会看到如下所示的内联建议:
还可以通过快捷方式(⌘+I
适用于 macOS/ Ctrl+I
for Windows/Linux)调用 GitHub Copilot,并提出问题或请求对查询的修改。
反馈:“GitHub Copilot”内联建议
为了帮助我们优化和改进 MSSQL 扩展的 GitHub Copilot,请使用以下 GitHub 问题模板提交反馈: GitHub Copilot 反馈
提交反馈时,请考虑包括:
测试方案 – 告诉我们你关注哪些领域,例如架构创建、查询生成、安全性、本地化。
效果良好 - 描述任何感觉流畅、有用或超出预期的体验。
问题或漏洞 – 包括任何问题、不一致或令人困惑的行为。 屏幕截图或屏幕录制特别有用。
改进建议 - 分享改进可用性、扩大覆盖范围或增强 GitHub Copilot 响应的想法。