人工智能 | 结对编程助手GithubCopilot

简介: GitHub Copilot 是一款人工智能编码助手,能够加速您的编程流程。它根据上下文即时提供建议,无论是单行代码还是完整函数。Copilot 由 GitHub、OpenAI 和 Microsoft 联合开发,可在多种 IDE(如 Visual Studio Code、JetBrains IDEs)中使用。只需在 IDE 中安装扩展并激活服务,即可享受智能代码补全功能。虽然 Copilot 有助于提升开发效率,但也需用户审慎检查其提供的建议以确保准确性。试用结束后,记得管理订阅以免产生不必要的费用。

简介

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 等集成开发环境。

环境安装

  1. 进入官网github-copilot注册信息。
  2. github-copilot 收费 10 美元一个月,需要先填写信用卡信息,但是可以免费试用 30 天,所以可以在 30 天到期前取消续费。
    在这里插入图片描述

  3. 准确填写信用卡信息后点击 submit 就完成了。

  4. 在这里插入图片描述

  5. 打开 ide,以下以 pycharm 为例,打开 settings -> plugins -> marketplace ,搜索 github copilot 点击 install 后等待安装完成点击 restart ide。

  6. 在这里插入图片描述

  7. 安装完插件后,在 pycharm 进行登录,点击 tools -> github copilot -> login to github。

  8. 在这里插入图片描述

  9. 点击 copy and open,点击验证码粘贴到弹出的浏览器中,点击 continue 后,点击授权 Authorize GitHub Copilot Plugin。

  10. 在这里插入图片描述

  11. 等待 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 的建议 。

相关快捷键

在这里插入图片描述

使用 Copilot 编写一个快速排序

  1. 输入相关注释以及开头。
  2. 在这里插入图片描述

  3. 它会自动开始补全代码。灰色部分是它提示的代码,点击 tab后就可以接收它的建议了。

合并两个列表,并且排序

  1. 输入注释与要求: 合并两个列表,并且排序

    根据提示的需求,一直按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
  1. 编写一个单元测试用例,测试是否实现,编写一个函数名为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 的订阅。 在这里插入图片描述

总结

  1. Copilot 的环境安装与使用都非常简单,可以把它当作一个在 IDE 中使用的ChatGPT。
  2. 一些明确的代码逻辑,可以交给它完成。
  3. Copilot并非所有的输出都是正确的,在使用的过程中,需要适当进行纠错。

注意:Copilot是一个收费软件,如果试用期过后不想继续使用,一定要记得取消订阅

相关文章
|
2月前
|
人工智能 自然语言处理 搜索推荐
AI写作助手哪家强?综合对比就数它!
在人工智能的迅速发展中,AI写作助手已成为许多专业人士和创作者的重要工具。它们能够极大地提升写作效率和文本质量。然而,面对市场上众多的AI写作助手,如何选择最适合自己的工具?本文将综合对比几款顶尖的AI写作助手,并特别推荐BKAI,这一领域的佼佼者。
|
6天前
|
机器学习/深度学习 人工智能 自动驾驶
AI技术性文章
【9月更文挑战第34天】本文将介绍人工智能(AI)的基本概念、应用领域以及未来发展趋势。我们将通过一个简单的代码示例来展示AI技术在实际应用中的作用,并探讨如何利用AI技术解决实际问题。
|
15天前
|
人工智能 架构师 安全
AI助手革新软件开发 其中的挑战与机会
AI助手革新软件开发 其中的挑战与机会
|
23天前
|
人工智能 自然语言处理 前端开发
基于ChatGPT开发人工智能服务平台
### 简介 ChatGPT 初期作为问答机器人,现已拓展出多种功能,如模拟面试及智能客服等。模拟面试功能涵盖个性化问题生成、实时反馈等;智能客服则提供全天候支持、多渠道服务等功能。借助人工智能技术,这些应用能显著提升面试准备效果及客户服务效率。 ### 智能平台的使用价值 通过自动化流程,帮助用户提升面试准备效果及提高客户服务效率。 ### 实现思路 1. **需求功能设计**:提问与接收回复。 2. **技术架构设计**:搭建整体框架。 3. **技术选型**:示例采用 `Flask + Template + HTML/CSS`。 4. **技术实现**:前端界面与后端服务实现。
37 1
|
3月前
|
人工智能 IDE Devops
当「软件研发」遇上 AI 大模型
大模型和软件工具链的结合,使软件研发进入下一个时代。那它第一个落脚点在哪?实际上就是辅助编程,所以我们就开始打造了通义灵码这款产品,它是一个基于代码大模型的的 AI 辅助工具。本文会分为三个部分来分享。第一部分先介绍 AIGC 对软件研发的根本性影响,从宏观上介绍当下的趋势;第二部分将介绍 Copilot 模式,第三部分是未来软件研发 Agent 产品的进展。
153 6
|
4月前
|
人工智能 搜索推荐 前端开发
人工智能(AI)在前端设计中应用
人工智能(AI)在前端设计中应用
355 0
|
5月前
|
存储 人工智能 安全
【AI 初识】人工智能开发和部署的道德考虑是什么?
【5月更文挑战第3天】【AI 初识】人工智能开发和部署的道德考虑是什么?
|
4月前
|
人工智能 搜索推荐 机器人
AI发展已经一段时间了,当前社会身边哪些功能已经在运用了AI技术?未来AI技术还将有哪些地方会运用?
AI技术现已被广泛应用在智能家居(如自动化控制与安全)、个性化教育(定制化学习与辅助教学)、精准医疗(疾病诊断与药物研发)、智能服务(如智能客服)和金融服务(风险评估)等领域。未来,预计AI将在AI PC、人机协创、超级视野、机器人和零搜索等领域发挥更大作用,实现信息主动推送、无缝沟通和创新服务。随着技术进步,AI将持续影响并改变我们的生活。【6月更文挑战第2天】
77 0
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
探索Copilot:AI辅助编程的新时代
【2月更文挑战第4天】探索Copilot:AI辅助编程的新时代
203 4
探索Copilot:AI辅助编程的新时代
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
人工智能与ChatGPT:让交流更加智能化
人工智能与ChatGPT:让交流更加智能化
188 0