简介
GitHub Copilot 是一款 AI 结对程序员,可帮助您更快、更少地编写代码。它从注释和代码中提取上下文,以立即建议单独的行和整个函数。GitHub Copilot 由 GitHub、OpenAI 和 Microsoft 开发的生成式 AI 模型提供支持。它可作为 Visual Studio Code、Visual Studio、Neovim 和 JetBrains 集成开发环境 (IDE) 套件的扩展。
官网地址:https://github.com/features/copilot
如何使用
环境准备
- 上网:具备流畅访问 github 官网的网络环境。
- IDE:支持 JetBrains IDEs、Visual Studio 等集成开发环境。
环境安装
- 进入官网github-copilot注册信息。
github-copilot 收费 10 美元一个月,需要先填写信用卡信息,但是可以免费试用 30 天,所以可以在 30 天到期前取消续费。
准确填写信用卡信息后点击 submit 就完成了。
打开 ide,以下以 pycharm 为例,打开 settings -> plugins -> marketplace ,搜索 github copilot 点击 install 后等待安装完成点击 restart ide。
安装完插件后,在 pycharm 进行登录,点击 tools -> github copilot -> login to github。
点击 copy and open,点击验证码粘贴到弹出的浏览器中,点击 continue 后,点击授权 Authorize GitHub Copilot Plugin。
等待 pycharm 加载后就可以使用 github copilot 了。
实践演练
使用说明
- PyCharm 右下方状态栏中,红圈表示 GitHub Copilot 的logo,表示开启 GitHub Copilot 插件。
- 不论是编写代码中的注释,还是一句执行代码,或是一个代码块、一个函数,GitHub Copilot 都会随着你的输入过程,不断提供代码补全建议。
注意事项:
- GitHub Copilot 也可能猜错你打算写的代码,但只要你继续输入,它就会给出新的建议。
- 对于任何给定的输入,GitHub Copilot 可能会提供多种建议。可以根据需求选择要使用的建议,也可以拒绝所有建议。
- 用户可以启用或禁用 GitHub Copilot:单击 PyCharm 右下方状态栏中的状态图标选择启用或禁用 GitHub Copilot 的建议 。
相关快捷键
使用 Copilot 编写一个快速排序
- 输入相关注释以及开头。
它会自动开始补全代码。灰色部分是它提示的代码,点击 tab后就可以接收它的建议了。
合并两个列表,并且排序
输入注释与要求: 合并两个列表,并且排序
根据提示的需求,一直按tab键,中间会自动产生注释以及实现的代码,以下所有的代码都是自动生成:
def merge_list(list1, list2):
# 合并两个列表,并且排序
# 1. 定义两个指针,分别指向两个列表的第一个元素
p1 = 0
p2 = 0
# 2. 定义一个新的列表,用于存储合并后的结果
result = []
# 3. 循环比较两个指针所指向的元素,将较小的元素添加到新的列表中
while p1 < len(list1) and p2 < len(list2):
if list1[p1] < list2[p2]:
result.append(list1[p1])
p1 += 1
else:
result.append(list2[p2])
p2 += 1
# 4. 将未比较完的列表中的元素添加到新的列表中
result += list1[p1:]
result += list2[p2:]
# 5. 返回新的列表
return result
- 编写一个单元测试用例,测试是否实现,编写一个函数名为def test_merge_list():,其他使用自动补全,最终单元测试用例生成的结果为:
def test_merge_list():
assert merge_list([1,2,5], [3,4,6]) == [1,2,3,4,5,6]
取消 github coilpot 订阅
这里显示 10 美元是下个月的扣费本月是没有费用产生的。点击右上角头像 -> settings -> billing and plans -> plans and usage 划到下处取消 github coilpot 的订阅。
总结
- Copilot 的环境安装与使用都非常简单,可以把它当作一个在 IDE 中使用的ChatGPT。
- 一些明确的代码逻辑,可以交给它完成。
- Copilot并非所有的输出都是正确的,在使用的过程中,需要适当进行纠错。
注意:Copilot是一个收费软件,如果试用期过后不想继续使用,一定要记得取消订阅