为什么要使用 GitHub Copilot 和 Copilot Labs:AI 结对程序员的实际用例

2025-05-27

为什么要使用 GitHub Copilot 和 Copilot Labs:AI 结对程序员的实际用例

介绍

虽然 GitHub 发布 Copilot 的时候我还没在工作,但我记得它确实激起了我的兴趣。或许,我之所以兴奋,主要是因为它很新奇,很炫酷。(而且,我喜欢在其他环境下使用预测文本,比如写邮件,那为什么不在代码编辑器里用呢?)当我获得该功能的使用权限时,我意识到了两件事:

  1. 这不是魔法。GitHub Copilot 无法读懂我的想法,它并不总是能输出完美、最新的代码。
  2. Copilot 增强了我作为程序员的信心和速度。

对我来说,Copilot 的价值在于我花更少的时间去强调语法,从而有更多的时间来解决问题。

最近,GitHub Next(一个致力于探索超越现有可能性的技术和软件未来的团队)发布了 Copilot Labs。这个实验性的 VS Code 侧边栏使开发人员能够将他们的代码从一种编程语言翻译成另一种编程语言,并以通俗易懂的语言解释代码片段。

使用 Copilot 和 Copilot Labs,您可以:

  • 根据代码中的注释和现有模式生成预测代码行
  • 阅读代码片段的解释
  • 将代码从一种编程语言翻译成另一种编程语言

这些听起来非常酷,但是什么时候会使用它们呢?

我在这篇博文中分享了我最喜欢的 GitHub Copilot 和 GitHub Copilot Labs 用例。

Copilot 是什么?

在介绍如何使用 Copilot 之前,我将向不熟悉它的人解释该功能。

GitHub Copilot 是一款 AI 结对编程工具,可帮助您更快速、更轻松地编写代码。GitHub Copilot 会从注释和代码中提取上下文,并即时提供单行代码和整个函数的建议。GitHub Copilot 由 OpenAI Codex 提供支持,这是 OpenAI 开发的全新 AI 系统。GitHub Copilot 技术预览版可作为 Visual Studio Code、Neovim 和 JetBrains IDE 套件的扩展程序使用。

TLDR:换句话说,GitHub Copilot 是一个 IDE 扩展,它根据您编写的注释和代码中的模式提供预测代码。

请注意:GitHub Copilot 处于技术预览阶段,因此并非所有用户都能使用此功能。如果您想注册技术预览版,请加入候补名单。

用例

  • 编码速度更快

无论我是软件工程师还是开发者,我都会遇到在最后一刻才写代码,或者遇到编程瓶颈的情况。阅读​​ Copilot 的建议可以让我想起如何解决日常常见的算法。你可以阅读我的一篇博客文章,了解我如何使用 Copilot 编写和理解二分查找算法。

例如:在一个项目中,我需要读取一个文件,按字母顺序排列,按字母分组,在正确的字母位置插入新元素,然后将更新后的内容写回文件。幸运的是,Copilot 帮我写了一个解决方案。如下所示:

图片描述

  • 编写测试

虽然我理解为代码编写测试至关重要,但我并不喜欢这样做。我经常要花很长时间才能开始——努力记住 mock、nock、beforeEach 和 afterAll 等关键字之间的区别。然后,当我掌握了测试模式后,要达到特定的测试覆盖率对我来说却是一个冗长乏味的过程。这时,Copilot 就派上用场了。我可以写一些注释来描述我想要测试的内容;然后,Copilot 可能会建议测试所需的代码。我也可以开始编写测试,Copilot 可能会提供其他所需测试的预期代码。了解更多信息,请阅读Colby Fayock 撰写的《使用 GitHub Copilot 实现自动化测试》

  • 撰写更好的评论

有时候,写出好的注释最终会被搁置。人们往往认为你的代码简洁易读,不需要注释,直到第二天再回头看代码时,你才发现那些象形文字根本看不懂。由于写得好的注释往往会让 Copilot 得到更好的结果,所以我更有动力去写清晰、相关的注释(我会把它们留在代码里,插入一些令人震惊的表情符号)。

  • 与同事结对编程

我也不擅长结对编程,尤其是当我还是一名经验不足的工程师时。别人注视着我的一举一动,尤其是在我写代码的时候,这让我感到焦虑。让我停滞不前的原因是我经常需要费力记住语法。有了 Copilot,我的结对编程伙伴就不用再费力地看着我无数次地在 Google 上搜索“reduce javaScript 数组方法”了。相反,它可能会建议我正确的语法。

什么是 Copilot Labs?

在介绍如何使用 Copilot Labs 之前,我将向不熟悉它的人解释该功能。

Copilot Labs 与 GitHub Copilot 扩展相互独立(且依赖后者)。随着 Copilot 持续向全面上市迈进,Copilot Labs 将成为机器学习实验应用的试验场,旨在提升开发者体验。目前,Copilot Labs 由 VS Code 侧边栏组成,其中包含以“解释此代码”和“翻译此代码”开头的多项功能。

用例

  • 适应新的代码库

无论你是找到了新工作,还是加入了一个新的开源社区,构建新代码库的思维模型都绝非易事。这可能需要几个月的时间,而且代码库也在不断发展。虽然 Copilot Labs 无法向我解释整个代码库,但我可以用它来描述新代码库中的代码块。

  • 了解您在 StackOverflow 上找到的解决方案

通常,软件开发人员会复制粘贴他们在 StackOverflow 上找到的解决方案,这完全没问题。但是,我们有必要了解复制的内容以及它为什么有效。利用 Copilot Lab 的“解释此代码”功能,我可以从 StackOverflow 复制代码,并理解代码的作用。

  • 了解不同数据结构和算法的背景

我最擅长的学习方式是阅读、观察和实践,这意味着我需要各种资源来构建一个强大的心智模型。在准备面试、大学考试和编程训练营时,我会观看视频、完成 LeetCode 练习,并撰写代码解释。Copilot Labs 是一个额外的资源,它能让我更深入地了解特定算法的工作原理。

  • 成为更好的导师

我指导早期职业开发人员。当他们还在我指导的项目中学习时,我还能提供帮助,但一旦他们毕业并开始从事涉及不同技术的工作,我就帮不上忙了。很多时候,他们请我帮助他们学习 Python 或 Ruby,但我无法提供帮助,因为我对这些语言并不熟悉。有了 Copilot Labs,我可以翻译我学员的代码片段,让他们用熟悉的语言阅读代码,更好地理解他们的代码,然后引导他们朝着正确的方向发展。它甚至可以帮助我向学员解释他们的代码是怎么回事,因为有时候,作为一名新晋开发人员,你并不清楚代码的工作原理,但事实就是如此!

想看看 Copilot Labs 的实际应用吗?观看这段 YouTube 短片,了解@mishmanners如何利用 Copilot Labs 翻译代码。

在下面的评论中分享 Copilot 和 Copilot Labs 对您有用的方式。

如果您有任何想要与 GitHub 团队分享的反馈,请使用讨论板。

文章来源:https://dev.to/github/why-use-github-copilot-and-copilot-labs-practical-use-cases-for-the-ai-pair-programmer-4hf4
PREV
[异形猎人系列 第一部分] 掌握 COBOL 编程语言的故事
NEXT
Why are people developing inside containers?