跳至主要内容

使用 GitHub Copilot 的最佳实践

了解如何充分利用 Copilot。

了解 Copilot 的优势和劣势

GitHub Copilot 是一款 AI 编码助手,可帮助您更快、更轻松地编写代码,让您将更多精力集中在问题解决和协作上。在使用 Copilot 之前,了解何时应该以及何时不应该使用它非常重要。

Copilot 最擅长的几个方面包括

  • 编写测试和重复代码
  • 调试和纠正语法错误
  • 解释和注释代码
  • 生成正则表达式

Copilot 并非设计用于

  • 响应与编码和技术无关的提示
  • 取代您的专业知识和技能。请记住,您是主导,Copilot 只是为您服务的强大工具。

为任务选择合适的 Copilot 工具

虽然 Copilot 行内建议和 Copilot Chat 共享一些功能,但这两种工具在不同情境下使用效果最佳。

行内建议最适用于

  • 在编写代码时完成代码片段、变量名和函数
  • 生成重复代码
  • 根据自然语言的行内注释生成代码
  • 为测试驱动开发生成测试代码

另一方面,Copilot Chat 最适合用于

  • 以自然语言回答有关代码的问题
  • 生成大段代码,然后对代码进行迭代以满足需求
  • 使用关键字和技能完成特定任务。Copilot Chat 内置关键字和技能,旨在为提示提供重要上下文,并快速完成常见任务。不同的 Copilot Chat 平台提供不同类型的关键字和技能。参见 在您的 IDE 中向 GitHub Copilot 提问
  • 以特定身份完成任务。例如,您可以告诉 Copilot Chat,它是一个非常关注代码质量、可读性和效率的高级 C++ 开发者,然后让它审查您的代码。

编写有深度的提示

提示工程,即构造您的请求,使 Copilot 能够轻松理解并作出回应,在 Copilot 生成有价值回复的能力中起关键作用。在编写提示时,请记住以下几点快速技巧:

  • 将复杂任务拆解。
  • 明确您的需求。
  • 提供输入数据、输出和实现等示例。
  • 遵循良好的编码规范。

欲了解更多,请参见 GitHub Copilot Chat 的提示工程

检查 Copilot 的工作

虽然 Copilot 非常强大,但它仍然是一种可能出错的工具,您应始终验证其建议的代码。使用以下技巧可确保您接受准确且安全的建议。

  • 在实现前先了解建议的代码。 为确保您完全理解 Copilot 的建议,您可以让 Copilot Chat 解释这段代码。
  • 仔细审查 Copilot 的建议。 除了考虑建议代码的功能性和安全性外,还要关注代码的可读性和后续的可维护性。
  • 使用自动化测试和工具检查 Copilot 的工作。 借助 lint、代码扫描和知识产权扫描等工具,您可以自动化额外一层的安全性和准确性检查。

提示

此外,您可能希望检查 Copilot 的工作是否与已有的公开代码相似。如果您不想使用相似代码,可以关闭匹配公开代码的建议。请参见 个人订阅者的 GitHub Copilot 策略管理组织中的 GitHub Copilot 策略与功能管理

引导 Copilot 输出有用的结果

您可以进行多项调整,以引导 Copilot 给出更有价值的响应

  • 为 Copilot 提供有用的上下文
    • 如果在 IDE 中使用 Copilot,请打开相关文件并关闭无关文件。
    • 在 Copilot Chat 中,若某条请求已不再提供有用的上下文,请将其从对话中删除。或者,如果整个对话的上下文均无帮助,请开启新对话。
    • 如果在 GitHub 中使用 Copilot Chat,请提供特定的仓库、文件、符号等作为上下文。参见 在 GitHub 中向 GitHub Copilot 提问
    • 如果在 IDE 中使用 Copilot Chat,请使用关键字将 Copilot 聚焦于特定任务或上下文。参见 在您的 IDE 中向 GitHub Copilot 提问
  • 重写提示以生成不同的响应。 如果 Copilot 未提供有用的响应,请尝试重新表述提示,甚至将请求拆分为多个更小的提示。
  • 挑选最佳可用建议。 在使用行内建议时,Copilot 可能会提供多个建议。您可以使用键盘快捷键快速浏览所有可用建议。有关您操作系统的默认键盘快捷键,请参见 在您的环境中配置 GitHub Copilot
  • 提供反馈以改进未来的建议。 您可以通过多种方式提供反馈
    • 对于行内建议,接受或拒绝 Copilot 的建议。
    • 对于 Copilot Chat 中的单独回复,点击回复旁的赞成或反对图标。
    • 在 IDE 中使用 Copilot Chat,请参见 在您的 IDE 中向 GitHub Copilot 提问,获取针对您环境的具体说明。
    • 在 GitHub 中使用 Copilot Chat,请在 反馈讨论 中留下评论。

保持对 Copilot 功能的最新了解

Copilot 会定期加入新功能,提供新能力、完善已有特性并提升用户体验。要保持对 Copilot 功能的最新了解,请查看 更新日志

© . This site is unofficial and not affiliated with GitHub, Inc.