前言
我们知道 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
,/fix
,explain
等指令。
根据指令后边的解释,要生成测试,当然选/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效率脱胎换骨!从此,没人敢怀疑我们的编程效率!