GitHub Copilot 体验

LHS 475 b NASA’s Webb Confirms Its First Exoplanet | NASA

介绍

  • 什么是GitHub Copilot

        GitHub Copilot是由GitHubOpenAI公司共同开发的基于云的AI编程工具,目前支持Visual Studio CodeVisual StudioNeovimJetBrains集成开发环境集成开发环境(IDE),同时兼容PythonJavaScriptTypeScriptRubyGo和Java等多种语言。

        GitHub Copilot于2021 年 6 月 29 日由 GitHub 首次发布,2021 年 10 月 29 日作为插件在 JetBrains 上发布,最终2022 年 6 月 21 日结束“技术预览”,开放订阅服务给个人用户。

  • GitHub Copilot主要功能和用途

        GitHub Copilot 为程序员提供辅助功能,如:将代码注释转换为建议代码和自动完成代码块、重复代码段以及整个方法,翻译代码甚至生成单元测试。

  • 为什么它是一个值得关注的工具

        专属AI结对编程伙伴,专业代码建议,让漫漫长夜撸代码的你不再孤单

        提升重复性工作效率

        新语言学习利器

  

GitHub Copilot的工作原理

  • GitHub Copilot使用的人工智能技术

        GitHub Copilot 由OpenAI Codex 提供技术支持,它是Generative Pre-trained Transformer 3 (GPT-3)的修改生产版本,GPT-3 是一种使用深度学习生成类人文本的语言模型。Codex 模型还接受了十几种编程语言的千兆字节源码的训练。

  • 说如何学习并生成代码

         Copilot 的 OpenAI Codex 接受了一系列自然语言、公共 GitHub 存储库和其他公开可用源代码的训练。这包括来自 5400 万个公共 GitHub 存储库的159 GB Python 代码的过滤数据集。

如何使用GitHub Copilot

  • 如何安装和配置GitHub Copilot插件

目前支持Github Copilot插件的IDE有:

本文以IDEA为例演示安装配置过程,其他IDE情况类似

1. 首先我们需要一个github账号,然后用该账号订阅Copilot服务

GitHub: Let’s build from here · GitHub

点击Setting进入设置中心

点击左侧菜单栏的“Copilot”

点击“Try Copilot Free for 60 Days”并填写相关信息,准备愉快的白嫖60天

当然白嫖前提是绑定一张跨币种银行卡(如:visa),或绑定PayPal账号,支付0叨了搞定

        如果60天体验后你觉得为Copilot技术付费值得,可以选择支付 10叨了/月或100叨了/年(超值惊喜送两个月)

2. 搞定Copilot账号,接下来下载和安装Github Copilot插件

3. Github Copilot插件登录github账号,提示Successful Logged就说明登录成功啦,接下就可以愉快的玩耍了

如何在实际项目中使用Copilot(本文以Java为例)        

        启用Copilot插件后,照日常习惯开始编码即可;按Tab或回车即可自动生成建议代码,再次按Tab接受建议代码,Esc拒绝建议代码。

快捷键:

  • 接受代码建议 - Tab
  • 关闭代码建议 - Esc
  • 显示下一条建议 — Alt + ] 或 Option (⌥) + ]
  • 显示上一条的建议 — Alt + [ 或 Option (⌥) + [
  • 触发建议 — Alt + \ 或 Option (⌥) + \
  • 独立窗口打开十个建议 - Ctrl + Enter

有时候建议不一定那么有效,可能会打断思路或者让人烦躁,那么你可以右下角/Tools禁用Copilot

  • 给出最佳实践和技巧,以便更好地利用该工具

根据注释生成代码

如常用算法、正则表达式直接信手拈来,脑洞大开的时候到了

既然能根据注释生成代码,那么反过来应该也行,虽然这注释有时候有点不尽人意

根据上下文自动填充代码

        这个功能就比较灵活了,比如:按照一定规律输入后Copilot将预判后续输入,按照出入参建议代码等;你可以在实际编码过程中不断解锁插件的新玩法

GitHub Copilot Labs插件

        可以直接将代码翻译代码成自然语言,或翻译成其他编程语言(如:JavaScript转Python);不过IDEA插件目前还没有支持,Visual Studio Code已支持

        既然说到代码翻译,那不得不提同父异母的ChatGPT玩的也很6;ChatGPT可以直接将代码解释为自然语言,如果你觉得打开浏览器不方便,还可以尝试CodeGPT插件接入API直接在IDEA内操作(需要操作配置OpenAI的API Key);当然ChatGPT也有更多如优化代码、找bug、写单元测等功能,感兴趣可以了解 https://chat.openai.com/chat

单元测试

        GitHub Copilot 甚至还能写个简单的单元测试

Q&A功能

        可以使用 q: 向Copilot提问,就像使用ChatGPT一样,可以帮助我们阅读代码

 

GitHub Copilot与其他代码生成工具的对比

  • 其他主要竞争对手

Tabnine

Github Copilot 的主要竞争对手。它是一个基于 AI 的代码完成助手,可直接在 Visual Studio Code 或 IntelliJ Idea IDE 中为开发人员提供扩展片段建议和目标行代码完成。

CodeGeeX

CodeGeeX 是一个免费的、基于 AI 的编码助手,它可以在当前行或后续行中建议代码。

GPT-Code-Clippy (GPT-CC)

GPT-Code-Clippy (GPT-CC) 是 GitHub Copilot 的开源版本,构建于 OpenAI 的 GPT-3 之上

Amazon CodeWhisperer

Amazon CodeWhisperer 是一种基于机器学习的服务,可根据开发人员在其 IDE 中编写的注释和代码建议代码片段,从而帮助开发人员更高效地编写代码

GitHub Copilot的隐私和安全性问题

  • GitHub Copilot可能涉及的隐私问题

        Copilot 服务基于云服务,必须实时与 GitHub Copilot 服务器通信。这种不透明的架构加剧了对单个击键的遥测和数据挖掘的担忧。

  • 如何保护用户隐私

        可以在GitHub中设置Copilot不允许使用本地代码改善产品;商业相关等有安全性风险的代码目前不建议使用该插件,等产品后续迭代完善后再考虑接入。

结论

  • GitHub Copilot的优点和局限性

        运用人工智能为我们提供代码建议,减少我们的重复性劳动提升生产力;有时候还能够给我们带来一些灵感,帮助我们把代码写的更好。

        其一是目前推荐还不够精准,也没有用户个人的一些风格特色,假如推荐代码太长可以做个缩放,优化下用户体验不然10叨了感觉花的不值;然后就是你需要梯子翻长城才能使用,价格有点小贵,当然这不是它的缺点。

  • 未来发展趋势

        虽然现在的Copilot看起来也就比人工智障厉害一点点,有时候也比不上其他代码生成工具精确;但是它的迭代速度和潜力是我们所不容小觑的。

        同时基于OpenAI的应用已经开始在各领域崭露头角了,如:去年就开始火起来的AI绘画工具Midjourney,近期大热的ChatGPT,以及上周微软刚发布的Office 365 Copilot等,能在各个方面提升人们的工作效率。相信在用户不断的训练和模型不断优化,不久的将来GitHub Copilot一定能更胜任副驾驶这个位置;

         国产AI紧跟脚步,就在上周百度发布了知识增强大语言模型文心一言,令人充满期待。

直播回放:百度直播

最后

        本篇是GitHub Copilot的初级用法介绍,更多探索欢迎交流;新技术出现时单纯的焦虑是无效的,需要更多的了解和应用,唯一不变的就是变化,勇敢的拥抱变化吧

ps:本篇blog参照ChatGPT建议编写,基础功能现学现卖,如果有描述不正确的地方欢迎斧正哈

参考文档:

GitHub Copilot · Your AI pair programmer · GitHub

GitHub Copilot documentation - GitHub Docs

The Ultimate Manual to GitHub Copilot

https://platform.openai.com/docs/introduction

https://en.wikipedia.org/w/index.php?title=GitHub_Copilot&_welcomesurveytoken=2q62o94rcsid4um8b3mhbrogt06gog8h&source=welcomesurvey-originalcontext

10 个最好的 AI 工具,让你成为 100 倍的开发者 | Lenix Blog

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值