了解 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 功能的最新了解,请查看 更新日志。