程序员的SK-II神仙水:GitHub Copilot,让你时刻拥有巅峰战力!

2024-08-29 18:42:23 浏览数 (3)

前言

我们知道 Github Copliot (https://copilot.github.com/) 是由 GitHub 推出的一款 AI编程助手,基于大量公开源代码训练的深度学习模型,为开发者提供编程辅助!

Github Copliot的AI编程辅助工具,能帮助开发者更快、更智能地编写代码,从而可以让开发者集中更多精力在更有价值的工作上,如问题解决和成员协作等方面。

GitHub Copilot战力提升

小二哥也算半个GitHub Copilot深度使用者。使用过GitHub Copilot后,才真正感受到使用AI Coding的高效率。GitHub Copilot的效率,相较于人工效率,那简直就是降维打击!

请相信我(或者你询问身边使用AI Coding的小伙伴),GitHub Copilot带来的效率提升,是普通程序员无论如何努力都无法赶上的

下面我们一起来看看GitHub Copilot碾压性的效率!

今天主要分享GitHub Copilot的功能!

根据上下文生成代码

Github Copilot可以根据函数名,类名,注释,来推断你想写的代码,帮你填充。

根据注释生成代码

输入”//二分查找“。咦!没有反应!(其实按”回车“键就有反应的) 这里主要演示下面图右框的功能。

右框中又出现了Refresh的按钮。我们点击一下。

右边出现了多个提示。我们选择其中一个即可。我选择了第一个Accept solution.

不仅给了一个常见的二分查找函数,还给了一个递归版的(绿框中)!

代码解释

反过来,它可以尝试理解你的代码。

选择代码,点击右键,弹出的菜单中,找到GitHub Copilot,出现了几个功能! 这里我选择Explain This(给我解释一下)

于是就弹出了大名鼎鼎的GitHub Copilot Chat窗口。

详细解释了这个函数的功能,每一行代码的含义... 这么贴心的功能,我还能说什么?只能说”英文的不友好,看不懂“

于是,我喊它”请把上述解释翻译为中文。“

编写单元测试

自动的单元测试生成,至少节省了50%的代码编写时间,提高了效率。

在代码里,点击右键打开菜单,选择GitHub Copilot,会看到Reference file in Chat--点击它。

然后会自动弹出GitHub Copilot Chat窗口。输入框中就附带有当前要测试的文件了。再输入/,就有一堆上拉提示,如/tests/simplify/fixexplain等指令。

根据指令后边的解释,要生成测试,当然选/tests啦。然后点右下角的发送按钮,向GitHub Copilot Chat提交即可。不一会儿,就出现测试类的结果啦!

使用生成测试解释代码的方法方法是类似的。将/explain替换为/tests即可。最终都是靠GitHub Copilot Chat来生成测试代码。

q/a 对话

这个q/a 对话就有点意思啦!我们知道,可以通过注释或部分代码让GitHub Copilot根据上下文提供补全建议。

但你会遇见这样的一种情况:GitHub Copilot的代码提示没有给到你想要的内容,需要你自己上手修改或调整。

另一种情况:有的小伙伴是新入手编程,要提高自己编码的技能,不希望GitHub Copilot给代码,而是给方向,比如什么功能用什么方法实现、某个方法怎么用等等。

这里来个示例。输入// q:,

GitHub Copilot给我的提示是239. Sliding Window Maximum。因为我前面写的方式正好是解决滑动窗口问题的,对应的正好也是力扣上的第239题--只能说GitHub Copilot知道得太多了

这里我继续输入问题// q: 如何读取文本文件中的内容?。文件读写是我们必须掌握的功能。我们看看GitHub Copilot怎么回答的。

GitHub Copilot给出了一个建议,用BufferReader来实现。如果你知道这个类的使用,那你就可以直接开始(不会写也没关系噢!不会的,忘记方法的,都可以问GitHub Copilot**)

但这里我要说明一点。我们看到GitHub Copilot在回答时,用来标号1,那是不是说还有其他的(我们知道读写文件的方法很多的哦~)。于是我按Tab接受他的建议,再回车...

What... 一路接受GitHub Copilot的建议下来,给我连续提供了10种方法...

因此,大家可通过q/a 对话的方法来逐步获取想要的内容!

Chat聊代码

也就是GitHub Copilot Chat。当然,这里不是是唠家常,而是聊代码!

你没有听错,copilot可以在你的代码里聊天。注意,它并不是chatGPT,无法给你常识回答(应该是被故意限制了),我们也别和它乱扯皮。

Chat中的用法就很考验大家问答的能力--就想我们所说的Prompt提示词。怎么更高效、更准确,就有待大家进一步体验啦!

当然,GitHub Copilot还有诸如错误修正、审核代码、优化代码、建议缺失等功能。也还有很多我没挖掘到的使用方式。大家尽可能多的尝试!

相信我,当你尝试使用后,很快就会习惯它,甚至是离不开它,因为GitHub Copilot将会让你的Coding效率脱胎换骨!从此,没人敢怀疑我们的编程效率!

0 人点赞