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