快速入门:使用聊天和内联 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 迁移,甚至使用自然语言解释业务逻辑或安全问题,所有这些问题都是根据连接的数据库上下文定制的。

下面是通过聊天参与者可以询问的常见用例和示例:

列出或浏览数据库架构中的对象

在数据库中询问有关表、列、架构和对象元数据的问题。

按类型对对象进行分组

Show all objects in the `SalesLT` schema of my current database, grouped by type.

列出表的列和属性

List the columns, data types, and nullability of the `SalesLT.Customer` table.

对数据库中的表、视图和过程进行计数

How many tables, views, and procedures are defined in my current database?

编写简单查询

获取编写用于筛选、聚合和联接的常见 SQL 查询的帮助。

基于最近订单返回客户列表

Write a T-SQL query to list all customers from `SalesLT.Customer` who placed an order in the last 30 days based on the latest order date.

计算每个客户的平均订单总数

Generate a query that calculates the average order total per customer from the `SalesLT.SalesOrderHeader` table, sorted descending.

用另一列更新查询

Update the previous query to include the full name of each customer from the `SalesLT.Customer` table.

说明关系或概念

请求对架构关系、查询逻辑或与开发相关的功能的简化说明。

描述表之间的外键关系

Describe the foreign key relationship between `SalesLT.SalesOrderHeader` and `SalesLT.Customer` tables in my current database.

解释涉及的表关系和键

I'm a developer new to T-SQL. Explain how `SalesLT.SalesOrderHeader` is related to `SalesLT.Customer`, and what keys are involved.

说明矢量数据类型和用法选项

Explain how vector data types work in SQL Server and when to use them for AI scenarios.

生成迁移或集成代码

请求帮助生成基于 SQL 或 ORM 的迁移脚本。

向表添加外键约束

Create a T-SQL script to add a foreign key constraint on `SalesLT.SalesOrderDetail.ProductID` referencing `SalesLT.Product.ProductID`.

生成迁移脚本以添加外键

Generate a Sequelize migration to add a foreign key from `SalesLT.SalesOrderDetail.ProductID` to `SalesLT.Product.ProductID`, assuming both exist.

将内联建议与 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 的屏幕截图。

共享您的体验

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

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

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

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

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

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