使用 GitHub Copilot 的最佳实践
GitHub 官方整理的 Copilot 使用要点:先弄清它擅长和不擅长的工作,再按场景在行内建议与 Copilot Chat 之间选对工具。文章还说明了如何写出清晰的提示词、审查并测试 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 检查、代码扫描和 IP 扫描等工具,你可以自动执行额外一层安全性与准确性检查。
提示:你还可以视需要检查 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 可能会提供不止一条建议。你可以使用键盘快捷键快速浏览所有可用建议。有关你所用操作系统的默认键盘快捷键,请参阅 IDE 中 GitHub Copilot 的键盘快捷键。
- 提供反馈以改进今后的建议。 你可以通过多种方式提供反馈:
- 对于行内建议,接受或拒绝 Copilot 的建议。
- 对于 Copilot Chat 中的单条回复,点击该回复旁边的点赞或点踩图标。
- 对于 IDE 中的 Copilot Chat,请参阅在 IDE 中向 GitHub Copilot 提问,了解适用于你所用环境的具体说明。
- 对于 GitHub 中的 Copilot Chat,请在反馈讨论帖中留言。
及时了解 Copilot 的功能
Copilot 会定期加入新功能,以提供新的能力、增强现有功能并改善用户体验。要及时了解 Copilot 的功能,请参阅更新日志。
许可与署名
本文译自 GitHub 发布的《Best practices for using GitHub Copilot》(原文链接),原文最后更新于 。译文由 昆仑编辑部 翻译,按 CC BY 4.0(许可证链接)发布。译文对原文做了翻译处理,可能与原文存在差异,请以原文为准;本译文不代表原作者立场,也不表示原作者认可本站。
本文译自 GitHub 文档《Best practices for using GitHub Copilot》。 创作者:GitHub, Inc.(GitHub Docs) 版权声明:GitHub Inc. © 2026 原文链接:https://docs.github.com/en/copilot/get-started/best-practices 原文源文件:https://github.com/github/docs/blob/main/content/copilot/get-started/best-practices.md 所译原文版本:2026-07-09(页面未标注日期,取 github/docs 源文件最后提交日期) 许可证:原文文字内容依 Creative Commons Attribution 4.0 International(CC BY 4.0)许可发布 许可证链接:https://creativecommons.org/licenses/by/4.0/ 许可依据:https://github.com/github/docs/blob/main/README.md#license 修改说明:昆仑编辑部于 2026-09-13 依据上述版本译为简体中文;未收录页面导航、侧栏与反馈表单等站点元素;站内相对链接改为指向原文站点的绝对链接;GitHub 提示框(TIP)改写为引用块。译文依 CC BY 4.0 提供。 免责声明:原文与译文均按“现状”提供,不附带任何担保;CC BY 4.0 第 5 条的免责与责任限制同样适用于本译文。 不背书:本译文与 GitHub 无隶属关系,不代表 GitHub 立场,也不表示 GitHub 认可或赞助本站;GitHub、Copilot 等商标归其权利人所有,不在上述许可范围内。