自定义聊天响应并设置上下文

可以要求 GitHub Copilot Chat 提供代码建议、解释代码、生成单元测试和建议代码修复。 Visual Studio 中的聊天可以为你提供响应,并生成与编码做法和项目要求匹配的代码,前提是你提供了正确的上下文。 无需在每个聊天提示中重复添加此信息,而是将此上下文存储在文件中,并自动将其包含在每个聊天请求中。

本文介绍如何通过向 Copilot Chat 提供更多信息来获取更好的答案:

详细了解 Visual Studio 中的 AI 辅助开发 ,以及如何 在 Visual Studio 中使用 Copilot Chat

先决条件

若要开始在 Visual Studio 中使用 GitHub Copilot Chat,需要:

GitHub 将提供对 GitHub Copilot Chat 的支持,您可以通过 https://support.github.com联系到他们。

提示指南

Visual Studio 17.12 及更高版本中的引导性聊天体验有助于优化提示,以阐明上下文以获取更好的答案。 当上下文不清楚时,GitHub Copilot Chat 现在会指导你澄清问题。

GitHub Copilot Chat 引导聊天体验的屏幕截图。

启用自定义说明

使用自定义说明功能,可以自动将预先指定的上下文详细信息添加到聊天问题。 Copilot Chat 在生成响应时,会使用那些根据您的具体上下文定制的指令,比如团队的工作方式、使用的工具或项目的具体信息。

若要配置自定义说明,请:

  1. 在存储库的根目录中创建/添加自定义说明文件.github/copilot-instructions.md
  2. 通过工具>选项>启用 Visual Studio 中的功能GitHub>Copilot> 选择(预览版)启用从 .github/copilot-instructions.md 文件加载的自定义说明,并将其添加到 requests 中。

自定义说明在聊天视图或内联聊天中不可见。 但是,当 Copilot 使用时,.github/copilot-instructions.md 该文件将列在响应的“引用”列表中。

使用提示文件

现在可以在存储库中创建可重用的提示文件,以运行或共享常用提示。

若要创建提示文件,请执行以下作:

  1. 请像平常一样在提示框中编写提示,使用 # 引用解决方案中的特定信息,例如方法、类和文件。 甚至可以引用其他提示文件以获取共享说明。
  2. 将提示复制到 markdown 文件中,并将其与 .prompt.md 扩展名 .github/prompts 一起保存在存储库根目录中的文件夹中。

若要使用提示文件,请执行以下操作:

  1. 在聊天输入框中键入 #prompt: 以引用您 .github/prompts 文件夹中的任何提示文件,或单击聊天输入框中的 ➕ 图标,将其添加为上下文。
  2. 添加任何额外详细信息,或者只需按原样输入提示。

在 GitHub Copilot Chat 中使用提示文件的屏幕截图。

使用斜杠命令设置常见任务的上下文

Copilot Chat 中的斜杠命令可帮助你快速设置常见开发任务的意向。 通过使用特定的斜杠命令来形成问题,你可以获得更好的答案,而无需写出较长的问题。

可以在 聊天窗口中使用斜杠命令,或者借助 内联代码帮助,直接将命令嵌入到你想要修改的代码中。 帮助修改或添加到编辑器中打开的代码文件的命令将同时在内联代码助手和聊天窗口中工作,而用于更常规编码问题的命令只能在聊天窗格中工作。

命令 用法 聊天窗口 内联聊天
/文档 为指定的或选定的代码添加注释。
例子:
- /doc DeleteBasketAsync method in BasketService.cs
- 选择所需的代码并输入 /doc
是的 是的
/解释 获取代码说明。

例子:
- /explain the AddItemToBasket method in BasketService.cs
- 选择所需的代码并输入 /explain
是的 是的
/修复 为所选代码中的问题建议修补程序。
例子:
- /fix the SetQuantities method in BasketService.cs
- 选择所需的代码并输入 /fix
是的 是的
/生成 生成代码以回答指定的问题。
示例:/generate code to add two numbers in Calculator.cs
是的 是的
/帮助 获取有关使用 Copilot Chat 的帮助。
示例:/help
是的 是的
/优化 分析和改进所选代码的运行时间。
例子:
- /optimize the AddItemToBasket method in BasketService.cs
- 选择所需的代码并输入 /optimize
是的 是的
/测试 为所选代码创建单元测试。
示例:选择所需的代码并输入 /tests using XUnit Framework
是的 是的

内联聊天视图和聊天窗口中斜杠命令的屏幕截图。

借助 Visual Studio 2022 版本 17.13,当用户键入斜杠命令时,该命令会以自然语言展开提示以显示命令将使用的上下文。

后续步骤