八个不容错过的 GitHub Copilot 功能!
GitHub Copilot是一款AI结对编程工具,可以帮助开发人员更快地编写代码。这款工具采用了AI技术,能够根据项目的上下文和风格约定自动补齐代码,因此不仅能提高程序员的速度,而且能让他们更加自信。本文将分享八个非常实用的功能与技巧!
原文链接:https://github.blog/2022-09-14-8-things-you-didnt-know-you-could-do-with-github-copilot/
声明:本文为 CSDN 翻译,未经允许,禁止转载。
Open AI Codex是一种机器学习模型,能够将自然语言转换为代码。在此模型的支持下,GitHub Copilot能够从注释和代码中提取上下文,并提示程序员接下来应该编写的代码,甚至是整个函数。Codex是GPT-3的一个版本,专门针对编程任务进行了微调。Duolingo等应用程序就使用了GPT-3来校正语法。
2022年6月,GitHub Copilot向所有个人开发人员开放。如果你想了解如何使用GitHub Copilot,请点击此处(https://docs.github.com/en/copilot/getting-started-with-github-copilot/getting-started-with-github-copilot-in-visual-studio-code)。
图源:GitHub Blog
在安装GitHub Copilot后,在你输入代码时,它就能给出提示。那么,我们如何才能最大限度地利用好这个插件呢?
首先,我建议你书写清晰易懂的注释,以帮助你的AI结对编程伙伴根据需要生成解决方案。我们总结了一些有趣且有价值的用例,帮助你深入了解GitHub Copilot有哪些惊艳的表现,希望这些例子能给你一定的启发。
协助非英语母语人士
GitHub Copilot不仅可以理解英语,还可以理解其他语言,这对于非英语母语的开发人员来说很有帮助,因为编程语言都基于美式英语。例如,CSS的属性color就是美式英语,因此对于母语为英式英语或加拿大英语的人(在这些英语中这个单词写作“colour”)来说,“color”是陌生的拼写方法。拼写错误或语法错误会导致程序出错,浪费很多时间。
在下图中,我用西班牙语写了一条注释,其中包含一个单词“importar”,翻译成英语是“import”。但GitHub Copilot很快就按照西班牙语完成了我的注释,并按照注释的描述导入了必要的库。
此外,GitHub Copilot还可以将英语单词翻译成其他语言。MilMikDev在推特上发了一则帖子,使用GitHub Copilot将一个包含了一系列单词“answer”、“question”和“date” 的数组翻译成各种语言。
创建查找数据的字典
GitHub开发者关系副总裁Martin Woodward与我们分享了下面这个技巧。GitHub Copilot很擅长创建查找数据的字典。你可以试试看,通过一条注释让GitHub Copilot创建包含两个字母的 ISO 国家代码,它就会启动补齐国家名称。你只需要编写一条注释和前几行代码,GitHub Copilot就可以生成所需的结果。
测试代码
在整个软件开发的生命周期中,编写测试是至关重要的一个步骤,但有时却很乏味。GitHub Copilot拥有出色的模式识别及模式补全(pattern completion)功能,因此可以加快编写单元测试、回归测试等。
有关如何使用GitHub Copilot进行测试的更多信息,请参见下列资源:
使用GitHub Copilot实现自动化测试:https://applitools.com/blog/using-github-copilot-to-automate-tests/
使用GitHub简化测试:https://github.com/blackgirlbytes
利用 AI 和 GitHub Copilot 编写更好的测试:https://about.codecov.io/blog/writing-better-tests-with-ai-and-github-copilot/
利用正则表达式匹配模式
GitHub Copilot可以帮助你更快地编写正则表达式。你只需编写一条注释或一个函数名,GitHub Copilot即可给出提示。
GitHub Copilot可以帮助你删除字符串中的空格。
准备技术面试
我发现很多开发人员,包括我自己,都在利用GitHub Copilot来准备面试。
具体方法如下:
首先,我会设法自己解决问题,不依赖GitHub Copilot的帮助。
如果在解决问题的过程中卡壳或感到灰心丧气,我就会激活GitHub Copilot,并利用它来寻找更好的解决问题的思路。
接着,我会删除 GitHub Copilot 生成的代码,禁用GitHub Copilot,然后根据新获得的信息,再次尝试寻找解决方案。
每当遇到挫折想放弃时,我就会通过这种方法坚持学习。即使没有导师或同伴指导我,我也不会放弃,因为我随时都可以获得新思路。GitHub Copilot就是我的数字导师。但是,请注意,不要在面试期间激活 GitHub Copilot(这是作弊)。
发送推文
当然,你可以直接通过推特应用程序发送推文,但我更喜欢通过IDE发送推文。在最近的一次直播中,我需要演示在GitHub Copilot中使用Python调用Twitter API v2,不过我很少使用Python。但在我写了几条注释之后,GitHub Copilot就生成了我需要的代码,拯救了我!
如果你也想尝试使用GitHub Copilot发送推文,请参见这篇文章(https://dev.to/github/how-to-send-a-tweet-with-github-copilot-4ih7)。
退出 Vim
刚接触 Vim 的开发人员经常遇到的一个问题是:如何退出Vim。如今 Visual Studio Code、JetBrains 和 Neovim都支持GitHub Copilot,因此你可以通过GitHub Copilot退出Vim。
通过Copilot Labs浏览新代码库
GitHub Copilot Labs是GitHub Copilot的一个补充扩展,由GitHub Next团队开发,是一个实验性质的边栏,可以帮助开发人员将代码从一种编程语言翻译成另一种,而且还会逐步解释每一段代码。
理解新的代码库很难,GitHub Copilot Labs的这两个功能可以提供一定的帮助。通过将代码翻译成开发人员更熟悉的语言并使用“解释”功能来说明代码,这样开发人员就可以更好地理解复杂的代码块。
总结
通过上述示例可以看出,GitHub Copilot可以通过多种方式帮助开发人员提高工作效率。GitHub Copilot是一个非常出色的AI结对编程伙伴,它就像你的同事一样,会审核你编写的代码。
虽然GitHub Copilot的功能十分强大,但有时会出错或引用过时的API版本。GitHub团队正在努力向用户了解情况,并提供更好的开发体验。我很高兴看到AI结对编程工具的不断发展。
— 推荐阅读 —
☞呼吁停用 C/C++,微软 Azure CTO 更青睐 Rust ☞华为手机Mate 50开售, 数源科技提供5G通信壳;可以运行安卓APP,微软正式发布 Win 11 首个大更新|极客头条 ☞Java 19 正式发布,七大特性齐发,最常用的还是 Java 11!
关注公众号:拾黑(shiheibook)了解更多
赞助链接:
关注数据与安全,洞悉企业级服务市场:https://www.ijiandao.com/
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/