GitHub Copilot 体验

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

介绍

  • 什么是GitHub Copilot

        GitHub Copilot是由GitHub和OpenAI公司共同开发的基于云的AI编程工具,目前支持Visual Studio Code、Visual Studio、Neovim和JetBrains集成开发环境集成开发环境(IDE),同时兼容Python、JavaScript、TypeScript、Ruby、Go和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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/39929.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Cerebral Cortex:静息态fMRI功能连接可以预测男女关系的相容性

即使在信息技术显著发展的情况下,基于自我报告的特征和偏好来预测异性恋个体最初的相容性也并不成功。为了克服自我报告测量和预测相容性的局限性,我们使用了来自静息状态功能磁共振成像(fMRI)数据的功能连接,这些数据携带丰富的个体特异性信…

被讨厌的勇气:目的论

目录 1. 弗洛伊德式的决定论2. 决定我们的不是过去的经历,而是赋予这些经历的意义。2.1. 场景:闭门不出的男子2.2. 场景:愤怒2.3. 场景:梦想小说家2.4. 生活方式 3. 要勇于改变 我们的生活方式3.1. 拒绝改变3.2. 千里之行&#xf…

解析后人类时代类人机器人的优越性

如今,机器人在我们的日常生活和社会中已无处不在。新型机器人亦是层出不穷,比如可以替代人类从事迎宾、安保、保洁等工作的服务机器人以及行为举止如家人或宠物般的陪伴机器人等等。而使这些新型机器人动作自然流畅的便是配置在其主体的电机与传感器的组…

心理学与生活 - 发展与教育

文章目录 延迟满足婴儿气质情感依恋咿呀学语性别认同游戏人间学习方式行为塑造 延迟满足 延迟满足的能力对孩子的人格形成和未来能够获得的成就非常重要如果孩子们意识到学会转移注意力和思想就能够实现自我控制,那么他们就成功了一大步“冷”系统是认知的策略性的…

怎样摆脱焦虑型依恋?

转载:远叔https://www.zhihu.com/question/21126414/answer/1346533425 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 心理学上通常将人类的人格特性分为三种:安全型,焦虑型以及…

chatgpt赋能python:用Python做游戏辅助指南

用Python做游戏辅助指南 随着游戏越来越受欢迎,越来越多的玩家开始使用各种辅助工具来提高自己的游戏技能和竞争力。Python是一个非常强大的编程语言,可以用于处理和分析大量的游戏数据,同时也可以用于编写游戏辅助脚本和软件。在这篇文章中…

广告流量反作弊风控中的模型应用

作者:vivo 互联网安全团队- Duan Yunxin 商业化广告流量变现,媒体侧和广告主侧的作弊现象严重,损害各方的利益,基于策略和算法模型的业务风控,有效保证各方的利益;算法模型可有效识别策略无法实现的复杂作弊…

Microsoft Edge 大规模崩溃,这是又跟谷歌搜索互掐了?

昨天,有部分网友反馈微软的 Edge 浏览器似乎出了问题,在地址栏输入任何字符时浏览器都会发生崩溃,即使关闭重启也依然无法正常使用。但是把微软必应设置为默认浏览器后,就可以修复… 图源:Reddit 谷歌回应了&#xff…

“不要用 Edge 默认的必应,我被骗了”

整理 | 郑丽媛 出品 | CSDN(ID:CSDNnews) 在搜索引擎中输入关键词,我们可以很快捷地找到所需信息——一般来说,的确是这样的。 然而最近,国外有一位网友 derekantrican 发现,同一个关键词&…

快捷指令快速调用

快捷指令快速调用 今天在玩手机的时候,随便翻到 辅助功能,在里面发现了一个轻点背面的功能,以前听过感觉很鸡肋,没想到点进去一看发现大有门道,居然还能调用快捷指令,那不就很方便了吗 在添加快捷指令之后…

OpenAI CEO:ChatGPT比想象的更有用 但不会取代传统搜索

雷递网 乐天 2月5日 ChatGPT激发了全世界的想象力,从教授到广告商、黑客和法官,每个人都在思考如何最好地利用其功能。但是这一切背后的人是怎么想的呢? 对开发人工智能聊天机器人的公司OpenAI的首席执行官Sam Altman来说,ChatGPT…

浏览器如何截全屏的图

1.进入F12调试模式 2.快捷键: window:Ctrl Shift P mac:command Shift P 3.输入指令full,会提示有一个选项,该选项即为截取全屏,如下图: 此外,还有:node 模式以及当前范围,输入指令 captu…

解决验证码乱码

问题:在测试环境正常,但是发到线上服务器就乱码 经过检查发现是代码中设置的字体服务器中没有对应字体 Graphics2D g2 image.createGraphics();[图 片] 在服务器加上 Algerian字体(字体从windows中复制到服务器),重启服务就好了。

亚马逊测评系统有哪些?

本人做了3年测评,用遍了市面上的各种系统网络环境有些经验想和大家分享一下,我也是踩了坑多坑,被割过很多次韭菜,今天给大家分享下,希望能的让大家少走一些弯路,避免一些坑。 现在市面上的网络环境有非常多…

浏览器主流内核分析,浏览器版本过低升级方法

我们在工作生活中几乎每天都需要用到浏览器,但是,尽管用了这么多年的浏览器,仍然有很多人对浏览器内核不是很了解。比如,常见的浏览器内核有几种吗,浏览器版本过低怎么办,我们应如何升级浏览器版本&#xf…

候鸟浏览器cookie登录教程

1.下载一个候鸟浏览器(下载链接: https://www.mbbrowser.com ),随便找个邮箱注册个候鸟账号,候鸟浏览器里面是谷歌浏览器,可能需要梯子(v.p.n)才能打开,建议用香港IP 2.…

不用插件!教你一键显示浏览器自动保存的密码

本文转自:https://pcedu.pconline.com.cn/1114/11141924.html 现在的浏览器大多都有智能填表功能,通俗点说,就是当你在一个网站填写好账号密码并登录后,浏览器会自动保存下来,然后在下次打开该网站时自动填好上次保存的…

那个超级浏览器好(跨境浏览器哪个好)

什么是超级浏览器? 什么是跨境浏览器? 超级浏览器是一款可以进行多任务的最佳网页浏览器。 也有人说,超级浏览器是一款专门为跨境电商卖家们打造的多账号防关联的工具,是一个能够为卖家们搭建安全稳定的登录环境,来方便卖家们的…

基于java控制台的商城管理系统(一)

最近参加了一个培训班,暂时还没有开课,闲着无聊,就想用自己仅有的一点java基础做一个小项目练练手,巩固一下基础,补充一下知识。 需求: 1.登录页面; 2.用户(父类)User…

用python爬取店铺信息,并生成json文件

一、json简单介绍 JSON是用于存储和交换数据的语法,是一种轻量级的数据交换格式。经常用于接口数据传输、序列化、配置文件等 json的形式有2种:键值对形式)、数组形式 python可以通过json库,解析字符串或文件中的内容转为json字符…