Github Copilot 快速概览及其优缺点

3,046 阅读3分钟
Github Copilot简介

Copilot 副驾驶的意思,Github Copilot是微软和Open AI联合推出的一款AI代码辅助编程工具,微软早在2018年就收购了Github,2022年又成为了Open AI最大的股东。

那么对于这款Github Copilot工具,相信熟悉软件开发方法的小伙伴肯定不陌生,和其中的「结对编程」思想一样,两个程序员同时在一台计算机上工作,一个是主程序员,又称为驾驶员,另一个是辅助,也是Copilot的初衷,辅助主程序员。

Github Copilot基于 OpenAI Codex 模型构建的, Codex 是 GPT-3 的后代;Codex模型训练数据有自然语言和Github上面的开源代码,以及其它网站的源代码。

Github Copilot费用

Github Copilot工具目前是需要花钱的,但是对学生和为开源社区做贡献的作者免费开发,未参加过之前内测的普通用户,有30天的试用期限。超过30天要付费,费用也是挺高的,目前个人每月10刀,企业每人每月19刀,个人也可以年付,相对会优惠一些,100刀一年,平均一个月不到10刀;

Githb Copilot官网

github.com/features/co…

Github Copilot工具主要作用
  1. 分析上下文代码片段并根据已有的代码和注释来推断出即将应该写什么代码;

  2. 可以根据函数名、类名、注释来推断你想写的代码,然后帮你补全;

  3. 会尝试理解你的代码,根据代码为你生成相应的注释,你只需写一个 // 前缀;

  4. 会帮你起变量名,节省了思考变量名的编码时间;

  5. 支持多种编程语言js、ts、css、html、java、python、go等;

VSCode使用Github Copilot
  1. 浏览器打开Github网站,并登录,方便后面授权用;

  2. 打开VSCode扩展,搜索Copilot,选择Github官方的Github Copilot,然后点击安装

image.png

  1. 安装好后右下角会弹出提示,使用Github授权登录,点击进行授权登录即可

image.png

image.png

image.png

image.png

看到下图机器人的icon,表示我们可以使用Github Copilot了

image.png

在编译器中使用,我这里以js代码为例,根据注释生成相关的代码,红色框框为copilot帮我生产的,只需要按Tab键补全即可

image.png

总结

Github Copilot优点

  • 会根据注释自动生成代码,提高开发效率;
  • 会尝试理解你的代码,为其生成相应的注释;
  • 会学习你项目中的代码风格,获取足够多的上下文代码片段,并根据其生成代码;
  • 支持多种编程语言,适用范围非常广;

Github Copilot不足

  • 所有代码上下文通过https传到云端(微软的服务器),虽然微软的隐私保护政策里承诺不会有任何代码被泄露。但放在国内网络安全大环境下,这样的处理数据方式,在国内公司内使用很可能会受到影响,需要用户注意。(前同事他们公司专门开会 暂时不要在公司项目开发上使用智能代码工具)

image.png

  • 对于复杂的业务代码逻辑,比如号称的「屎山」,它也不能很好的理解。
  • 它擅长的是网络上有很多公开资料的代码段落和实现方式,比如像正则校验过滤、日期格式化等通用函数可以很好的根据注释生成代码,很多时候生成的代码都需要我们手动再加工。