什么是 Github Copliot
[Github Copliot] (https://copilot.github.com/) 是 Github 提供的 AI 辅助编程工具,通过 Github 开源项目代码训练出的人工智能 AI ,给用户提供辅助编程功能,特点如下:
- 基于上下文自动补全
- 将注释转换为代码
- 自动填充重复代码
- 自动补全测试
- 可以切换多个替代方案,或者展示所有方案
自动补全工具历史
早期,自动补全插件,例如,Codota
以JAVA
举例,可以完成简单的代码补全,例如创建一个数组
能帮我减少很多不必要的时间浪费。
但是,缺点就是就只有简单的自动补全,当我调用一个方法的时候 Codota 基本没有什么提示了
之后,Codota 的升级版的 Tabnine 出现,紫色标识,Tabnine 横空出世!
第一时间,我迫不及待的去试了试,然后就被恶心到卸载了
为什么呢?
主要是两个原因:
第一,基础的自动补全都很随意,我惊了,给了半个括号的,半个分号的,还有不给括号的,数组的创建还是 JDK 老版本的写法
第二,它会替换你的提示列表,让你的提示列表被干扰
如果你选择以下2,4,5,6个提示,会发现没有 Stringuting这个类,
所以,我就卸载了 Tabnine,继续使用 Codata
直到 Github Copilot 公测
新一代代码补全工具 Github Copliot
使用体验,真的是爽到我了
倒不是给他封神了,他也有很多的问题,但是在我的实际使用过程中,发现还是给了我很多的惊喜,作为自动补全的额外惊喜
- 基于上下文的自动补全(光标后的代码都是自动补全的)
- 支持从注释自动完成代码,中英文都可以
- 基于上下文预测补全代码
这里上下文中注入了elderAuthorizeService
, 之前代码写过获取当前用户id
,他就可以自动预测代码
- 也可以自动根据之前写的代码补全代码, 例如
Mybatis-plus
风格
- 还会自动补全校验判空注解
- 自动完成 vo->dto 重复工作,只要一直按
Tab
就写完了代码
其他的功能例如,自动生成测试用例,支持多种语言,支持多种IDE开发工具等等
可以去看看文档探索探索
我觉得他好用的地方在于,就应该在需要他弹出来的时候,弹出来提示,帮我完成重复的工作。
不需要他帮我完成工作,只是能够减少重复性的工作,就已经很满足了。
推荐大家去试试,你一定会喜欢的。
如何使用 Github Copilot
目前还没有开放使用,需要申请内测资格,申请方式如下:
-
打开 https://copilot.github.com/ 登录 Github 账号,添加到 whishlist
-
等待邮件,或者查看主页
-
下载插件并使用:
官方中文文档地址:点我
快捷跳转: -
开始尝试
2022-06-22 更新: 开始收费了,之前体验用户只能用到 2022年08月22号,学生和热门开源项目管理者可以免费。