点此获取更多相关资料
简介
GitHub Copilot 是一款 AI 结对程序员,可帮助您更快、更少地编写代码。GitHub Copilot 由 GitHub、OpenAI 和 Microsoft 开发的生成式 AI 模型提供支持。它可作为 Visual Studio Code、Visual Studio、Neovim 和 JetBrains 集成开发环境 (IDE) 套件的扩展。
如何使用
环境准备
- 科学上网:具备流畅访问 GitHub 官网的网络环境。
- IDE:支持 JetBrains IDEs、Visual Studio 等集成开发环境。
环境安装
1.进入官网GitHub-Copilot注册信息。
2.GitHub-Copilot 收费 10 美元一个月,需要先填写信用卡信息,但是可以免费试用 30 天,所以可以在 30 天到期前取消续费。
3.准确填写信用卡信息后点击 Submit 就完成了。
4.打开IDE,以下以 Pycharm 为例,打开 Settings -> Plugins -> Marketplace ,搜索 GitHub Copilot 点击 Install 后等待安装完成点击 Restart IDE。
5.安装完插件后,在 Pycharm 进行登录,点击 Tools -> GitHub Copilot -> Login to GitHub。
6.点击 Copy and Open,点击验证码粘贴到弹出的浏览器中,点击 Continue 后,点击授权 Authorize GitHub Copilot Plugin。
7.等待 Pycharm 加载后就可以使用 GitHub Copilot 了。
实践演练
使用说明
1.PyCharm 右下方状态栏中,红圈表示 GitHub Copilot 的logo,表示开启 GitHub Copilot 插件。
2.不论是编写代码中的注释,还是一句执行代码,或是一个代码块、一个函数,GitHub Copilot 都会随着你的输入过程,不断提供代码补全建议。
注意事项
1.GitHub Copilot 也可能猜错你打算写的代码,但只要你继续输入,它就会给出新的建议。
2.对于任何给定的输入,GitHub Copilot 可能会提供多种建议。可以根据需求选择要使用的建议,也可以拒绝所有建议。
3.用户可以启用或禁用 GitHub Copilot:单击 PyCharm 右下方状态栏中的状态图标选择启用或禁用 GitHub Copilot 的建议 。
相关快捷键
OS | 查看下一个建议 | 查看上一个建议 | 接收建议 | 拒绝建议 | 显示建议 |
---|---|---|---|---|---|
macOS | command+] | command+[ | tab | esc | option+ |
Windows | Alt+] | Alt+[ | tab | esc | alt+ |
Linux | Alt+] | Alt+[ | tab | esc | alt+ |
使用 Copilot 编写一个快速排序
-
输入相关注释以及开头。
2.它会自动开始补全代码。灰色部分是它提示的代码,点击 tab后就可以接收它的建议了。
合并两个列表,并且排序
1.输入注释与要求:
合并两个列表,并且排序
2.根据提示的需求,一直按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
3.编写一个单元测试用例,测试是否实现,编写一个函数名为def test_merge_list():
,其他使用自动补全,最终单元测试用例生成的结果为:
def test_merge_list():
assert merge_list([1,2,5], [3,4,6]) == [1,2,3,4,5,6]
总结
1.Copilot 的环境安装与使用都非常简单,可以把它当作一个在 IDE 中使用的ChatGPT。
2.一些明确的代码逻辑,可以交给它完成。
3.Copilot并非所有的输出都是正确的,在使用的过程中,需要适当进行纠错。