GitHub Copilot 聊天
GitHub Copilot Chat 是 GitHub Copilot 生态系统的高级功能,旨在直接在其开发环境中为开发人员提供交互式对话式 AI 助手。 它允许开发人员实时就代码进行自然语言对话、提出问题并接收智能响应和建议。 在本单元中,我们将介绍:
- 如何使用 GitHub Copilot 对话助手 生成代码。
- 使用 GitHub Copilot 对话助手 进行调试。
- 如何使用 GitHub Copilot 对话助手 生成代码解释。
- 使用斜杠命令通过 GitHub Copilot 执行操作。
- 使用自定义 GitHub Copilot 代理改进提示。
若要在集成开发环境中访问 Copilot(IDE),请单击左侧导航栏上的聊天图标。
在某些情况下,GitHub Copilot 对话助手 非常有用:
复杂代码生成 当你需要实现复杂的算法、数据结构或为特定的设计模式生成样板代码时,Copilot 对话助手 可以帮助简化流程。 它可以帮助创建复杂的正则表达式、构造详细的 SQL 查询或开发高级数据结构,例如 Python 中的气泡排序。
调试帮助 如果你在代码中遇到错误,则 Copilot 对话助手 在分析错误消息和建议潜在修复方面可能很有价值。 它可以帮助识别逻辑错误,并针对有问题的代码部分提供逐步解释。 实现此结果的一种方法是使用 Copilot 内联聊天,突出显示包含错误的代码片段,右键单击并选择 Copilot,然后选择内联聊天。
例如,你可能会问:“我在此方法中得到了
NullReferenceException。 你可以帮我吗?”
代码解释 Copilot 对话助手 还可用于更好地了解复杂的代码片段。 它可以将代码分解为更简单的术语,解释不熟悉的代码的用途和功能,并提供有关最佳做法和潜在优化的见解。 例如,你可以问:“你能解释一下此 async/await 代码在 Python 中是如何工作的吗?”
如何改进 GitHub Copilot 对话助手 回复
你可以通过某些关键功能显著改进 GitHub Copilot 对话助手 回复的质量和相关性。 让我们来深入了解它们。
范围引用
为了提高 GitHub Copilot 对话助手 提供的回复的准确性和相关性,使用引用正确界定你的问题范围非常重要。 下面介绍执行该操作的方法:
文件引用:可以通过在文件名之前添加一个
#file:文件在问题中指定特定文件。例如,如果你在处理名为
controller.js的文件,则可以使用 #file 命令选择它并直接在你的问题中将其引用为#file:controller.js。 此功能告知 Copilot 对话助手 在生成响应时专注于该文件的内容。环境参考:可以将 Copilot 对话助手 与终端一起使用,以获取基于命令输出的帮助。 这样,Copilot 就可以协助调试,并根据终端中发生的情况提供建议。 例如,询问“@terminal如何修复此错误?” 允许 Copilot 分析终端输出并建议相关解决方案。
/ 命令
GitHub Copilot 对话助手 中的斜杠命令可用于快速指定查询的意图。 这可以使你的请求更有侧重点,从而显著提高你收到的回复的质量。 下面是一些常用的斜杠命令:
/doc:向指定的或选定的代码添加注释。 例如,可以键入
/doc后跟要记录的代码,Copilot 会生成适当的注释。/explain:提供所选代码的说明。 如果需要了解特定代码段的作用,此命令非常有用。 例如,
/explain the #file:controller.js提供该文件的详细说明。/fix:针对所选代码中的问题建议修复方法。 如果遇到问题,你可以突出显示有问题的部分,并使用
/fix来接收解决问题的建议。/generate:帮助根据要求生成新代码。 例如,
/generate code to find the root of a number in client.js创建一个函数来执行任务。/optimize:分析所选代码并就其运行时间或效率提出改进建议。 例如,
/optimize the计算method in controller.js侧重于提高该特定方法的性能。/tests:自动为所选代码创建单元测试。 你只需突出显示代码并使用
/tests using Mocha便可生成测试。
模型选择和高级功能
GitHub Copilot 对话助手 提供不同的 AI 模型来优化开发工作流。 某些环境提供模型选择选项,让你可以根据特定需求在不同的功能级别之间进行选择:
标准模型(GPT-4o):
- 为大多数开发任务提供快速可靠的响应
- 每个请求消耗 1 个 PRU
- 非常适合常规编码帮助、代码说明和基本调试
- 示例:简单函数生成、语法帮助、基本重构建议
高级模型(o1-preview、o1-mini):
- 为复杂问题提供增强的推理功能
- 每个请求消耗 2 个 PRU(是标准费率的两倍)
- 更适合复杂的分析、复杂算法和体系结构决策
- 示例:多线程代码的高级调试、复杂的算法设计、安全分析
在处理需要深层推理的具有挑战性的问题时,高级模型可以提供更彻底的分析和全面的解决方案。 但是,在为不同类型的任务选择模型时,请考虑 PRU 使用情况。
Copilot 代理
GitHub Copilot 代理是你可以构建并与 GitHub Copilot Chat 集成的自定义工具,可根据你的特定需求提供额外的功能。 除了斜杠命令之外,你还可以在 IDE 中的 Copilot 对话助手 中使用特定代理来处理不同的任务:
还可以使用“/new”智能操作根据要求从头开始生成全新的项目。 例如,可以提示 Copilot 使用以下命令创建新项目:
/new generate a new HTML file with pages and JavaScript for advanced calculations
点击“创建工作区”以继续生成代码,就像你拥有包含所请求代码的新项目一样。
@terminal:此代理可用于解决命令行相关问题。 例如,你可以要求它查找目录中的最大文件,或解释你运行的最后一个命令。
@vscode:使用此代理询问与 Visual Studio Code 相关的问题,例如如何在 IDE 中调试或更改设置。
通过有效地利用这些工具和技术,你可以显著提高从 GitHub Copilot 对话助手 收到的回复的质量,使你的编码体验更加高效和富有成效。
共享有关 GitHub Copilot 对话助手 的反馈
大多数具有 Copilot 对话助手 集成的 IDE 都有内置的反馈机制。 例如,在 Visual Studio Code 中,可以在 GitHub Copilot 对话助手 建议的开头找到反馈选项。 将鼠标悬停在建议上,您应该会看到“点赞”和“点踩”按钮。
单击大拇指向上按钮,可将建议评价为有用。
单击大拇指向下按钮,可将建议评价为无用。