了解 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 的提示设计”了解详细信息。
检查 Copilot 工作
虽然 Copilot 非常强大,但仍然难免出错,始终需要验证它提出的代码建议。 遵循以下使用技巧来确保获得准确、安全的建议:
- 在实现代码之前,要首先了解建议的代码。 为确保你完全了解 Copilot 的建议,可以要求 Copilot Chat 解释代码。
- 仔细审查 Copilot 的建议。 不仅要考虑建议代码的功能和安全性,还要考虑代码的可读性和可维护性。
- 使用自动测试和工具检查 Copilot 的工作。 可以借助 Lint 分析、code scanning 和 IP 扫描等工具,来自动执行额外的安全性和准确性检查。
Tip
(可选)可以检查 Copilot 的工作是否与现有的公共代码相似。 如果不想使用类似的代码,可以关闭与公共代码匹配的建议。 请参阅“以单个订阅者身份管理 Copilot 策略”或“管理组织中的 Copilot 策略”。
为 Copilot 提供指导以获得有用的输出
可以对 Copilot 进行多项调整,来获得更有价值的响应:
- 为 Copilot 提供有用的上下文:
- 如果正在 IDE 中使用 Copilot,请打开相关文件并关闭不相关的文件。
- 在 Copilot Chat 中,如果某个特定请求不再是有用上下文,请从对话中删除该请求。 如果特定对话的上下文帮助不大,请启动一个新的对话。
- 如果使用的是 Copilot Chat in GitHub,请提供具体的存储库、文件、符号等作为上下文。 请参阅“在 GitHub 中向 GitHub Copilot 提问”。
- 如果在 IDE 中使用 Copilot Chat,请使用关键字使 Copilot 侧重于特定的任务或上下文。 请参阅“在 IDE 中向 GitHub Copilot 提问”。
- 重写提示以生成不同的响应。 如果 Copilot 未提供有用的响应,请尝试重新复述提示,甚至将请求分解为多个较小的提示。
- 选择最佳可用建议。 使用代码完成功能时,Copilot 可能会提供多个建议。 可以使用键盘快捷键来快速查看所有可用的建议。 有关适用于操作系统的默认键盘快捷键,请参阅“在环境中配置 GitHub Copilot”。
- 提供反馈以改进未来的建议。 可以通过多种方式提供反馈:
- 对于代码完成,请接受或拒绝 Copilot 的建议。
- 对于 Copilot Chat 中的单个响应,请单击响应旁边的拇指向上或向下图标。
- 有关在 IDE 中使用 Copilot Chat 的信息,请参阅“在 IDE 中向 GitHub Copilot 提问”以获取环境特定的说明。
- 对于 Copilot Chat in GitHub,请在反馈讨论部分留言评论。
随时关注 Copilot 的功能
Copilot 会定期增加新功能,以创建新功能、提升现有功能和改进用户体验。 要关注 Copilot 的功能,请参阅 changelog。