快速入门:使用聊天和内联 GitHub Copilot 建议(预览版)

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 提供的内联建议。 键入时将显示建议,可以通过按 TabEnter接受它们。

或者,可以直接在编辑器中键入相同的查询 SELECT * FROM SalesLT.Customer。 然后,将其突出显示以显示✨ 智能动作图标,该图标出现在突出显示的查询旁边。 此图标提供对其他 GitHub Copilot 选项(例如 Modify using Copilot 调整查询、 /doc 生成文档或询问与查询相关的 GitHub Copilot 常规问题的能力)的快速访问。

显示用于在 Visual Studio Code 中使用 GitHub Copilot 修改 SQL 查询的智能操作图标的屏幕截图。

选择“使用 GitHub Copilot 查看”时,会看到如下所示的内联建议:

显示 GitHub Copilot 中用于优化 Visual Studio Code 中的 SQL 查询的内联建议的屏幕截图。

还可以通过快捷方式(⌘+I 适用于 macOS/ Ctrl+I for Windows/Linux)调用 GitHub Copilot,并提出问题或请求对查询的修改。

演示如何在 Visual Studio Code 中使用键盘快捷方式调用 GitHub Copilot 的屏幕截图。

反馈:“GitHub Copilot”内联建议

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

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

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

  • 效果良好 - 描述任何感觉流畅、有用或超出预期的体验。

  • 问题或漏洞 – 包括任何问题、不一致或令人困惑的行为。 屏幕截图或屏幕录制特别有用。

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