大家好,我是TJ

一个励志推荐10000款开源项目与工具的程序员

前几天给大家介绍过一款IDEA编码自动注释工具,可以帮助小伙伴们的编程效率,想必很多人已经下载使用了,还没看过想了解下的小伙伴点这里:IDEA编码自动注释工具,让你的开发更有效率

然而此时此刻TJ君脑海中有一个大胆的想法,如果有一款工具,能反过来根据注释自动给出编程代码,是不是程序猿们都会笑的合不拢嘴,爽歪歪?

别以为TJ君说的是天方夜谭,就在前不久的 GitHub Universe 2021开发者大会上,GitHub官方正式宣布了一款名为 Copilot工具的更新。

说起Copilot这个名字,相信一直关注GitHub的小伙伴马上脑海中会浮现出今年早些时候看到的新闻。

就在今年夏天,GitHub 官方和OpenAI联合发布了一款AI自动编程工具,其名字正是 GitHub Copilot 。就像前文TJ君想的那样,通过Copilot,程序员只需输入注释,即可自动生成代码!

当时一时间在程序猿圈子里还引起了不少的轰动,但更多的是对这个工具的疑问,还因此引发了一个快速平方根倒数算法事件

快速平方根倒数算法,是当年红极一时的雷神之锤3(Quake 3,也是TJ君当年的最爱之一)的开发者约翰·卡马克用的一段代码。

卡马克大神

这段使用多项式逼近计算平方根的代码,至今都没什么人能明白卡马克的脑子是怎么想出来的,以至于这段代码阿注释直接是what the f***?很贴切了

而有开发者在Copilot发布后不久就发现,只要输入 快速平方根倒数算法(Fast Inverse Square Root,当然是英文)作为注释,Copilot 就会逐行逐字地重现了这段神奇的算法,一字不差,甚至连那个夸张地注释都没变。

这下子仿佛在程序猿小伙伴中间投了颗原子弹,大家都在问难道Copilot只是把别人的代码拿来复制一下就是所谓地自动生成了?

那这之后各种版权问题咋搞,万一用了Copilot生成一段代码却被人起诉了怎么办?甚至有科技公司直接宣布禁止旗下员工使用Copilot开发公司产品,就是为了减少不必要的麻烦。

一时间各种针对Copilot地非议愈演愈烈,甚至传出了自动生成内容是某个公司大佬身份证这样的消息,当然后来被澄清是一个笑话。

但是GitHub并没有退缩,认为Copilot并没有简单的抄袭其他人的内容,而是经过大量训练的AI自动生成所需代码,和抄袭完全是两回事。反正这件事情后来也么了下文,当时Copilot也只支持 Visual Studio Code。

不过前几天的这次更新之后,Copilot将全面支持Neovim 和 JetBrains IDE,包含开发者常用的 IntelliJ IDEA、PyCharm 等。同时增加了对 Java 中多行补全的支持,并计划在未来几个月内支持Python、Java、Type、Ruby 和 Go之外更多的语言,似乎真的是要大干一场。

如果想用Copilot的话,需要将 IntelliJ IDEA 和 PyCharm 升级到 2021.2 或以上版本、Neovim 的版本则需要升级成 0.6 或以上版本,并且需要安装 Node.js v12 或以上版本。

安装重启之后就可以在工具栏看到安装好的Copilot

然后登陆GitHub账号,同意相关条款

那说了那么久,这款号称可以自动编码的插件具体使用效果如何呢?就让TJ君带你领略一下或许是未来的编码趋势与潮流:

例如在项目里新建了test类,Copilot马上就会给一个建议生成的主体

此时只需要轻按一下tab键,就可以接受建议自动生成,无需手打这段代码。

同样的如果输入了一个函数标题,也会自动出现推荐的函数主体内容,一样是用tab键接受。

当然,Copilot不止会给出单一的自动编码推荐,用户可以使用Alt+]或者Alt+[来逐个切换不同的推荐,就像逐个挑选一件件商品一般,选中之后轻按一下tab键使用即可。

而通过Alt+Enter可以直接打开各种推荐的列表,便于查找。

至于TJ君之前梦想的根据注释自动生成代码,有一个前提就是必须输入的注释能让机器看懂,也就是说,需要英文注释。当输入中文注释,Copilot不一定看得懂含义,毕竟中文可是博大精深滴。。。

那如果小伙伴的英语水平不错,Copilot还真的能节省不少时间,例如当用户写了如下一段关于给图像增加边框的注释:

// find all images without alternate text
// and give them a red border
void process() {

Copilot会自动生成相应的功能代码,感觉比自己写的还顺畅:

除了上述Alt+]Alt+[Alt+Enter,最常见的操作还包括使用Esc拒绝推荐和Alt + \触发关联建议。这里TJ君提到的操作模式都是基于windows操作,如果使用MAC的小伙伴要注意将ALT键换成Option键就可以了。

TJ君觉得如果对于Copilot的使用熟练了并且对英文注释的掌握没有问题的话,Copilot真的能让编程省时省力,省却许多手打基础代码的功夫,让程序猿更多的精力花在整体架构设计或者逻辑实现上。不过到底怎么样,还是要用一用才知道,所以小伙伴们赶紧来获取仓库地址和插件下载方法,赶紧试试吧,地址如下:

点击下方卡片,关注公众号“TJ君

回复“copilot”,获取仓库地址

关注我,每天了解一个牛x、好用、有趣的东东

GitHub Copilot 支持 IntelliJ IDEA啦,插件装起来!相关推荐

  1. 地表最强AI 辅助编程工具——GitHub Copilot安装教程

    GitHub Copilot 文章目录 GitHub Copilot 一.GitHub Copilot 介绍 二.GitHub Copilot 通行证注册流程 1.打开GitHub Copilot [ ...

  2. github copilot如何帮助写代码

    Github Copilot是一个基于人工智能的代码助手,可以帮助程序员在编写代码时提供自动补全和建议功能.使用Github Copilot需要以下步骤: 1.注册Github账号并安装Github ...

  3. 探索学习和入门使用GitHub Copilot:提升代码开发的新利器

    目录 引言 1. 什么是GitHub Copilot? 2. 入门使用GitHub Copilot 3. GitHub Copilot的基础知识 4. GitHub Copilot的应用场景 结论 在 ...

  4. 【AIGC使用教程】GitHub Copilot 免费注册及在 VS Code 中的安装使用

    欢迎关注[AIGC使用教程] 专栏 [AIGC使用教程]SciSpace 论文阅读神器 [AIGC使用教程]Microsoft Edge/Bing Chat 注册使用完全指南 [AIGC使用教程]Gi ...

  5. GitHub Copilot 现已登陆 Visual Studio!

    激动人心的好消息来了,GitHub 在3月29日发布博客,宣布 Github Copilot 现在可以在 Visual Studio 中使用. 我们知道 Visual Studio 的 Intelli ...

  6. 尝尝鲜:IDEA 使用 GitHub Copilot 插件

    现在要收费了,不用试了!!!! 简介: GitHub Copilot 是由微软与OpenAI在2021年6月29日共同推出了一款AI编程工具,基于 GitHub 及其他网站的源代码,可根据上文提示为程 ...

  7. 微软AI插件Github Copilot初体验

    前言 上个月看到了一款插件 微软 GitHub AI 编程工具 Copilot于是就想尝尝鲜,但是GitHub Copilot是需要申请的,只有申请通过的才能使用这款插件.就在今天我收到审核通过的邮件 ...

  8. IDEA代码提示插件,GitHub Copilot,代码自动提示

    哈喽,大家好,我是指北君. 我最近飘了啊,我自己不写代码了.原因是我最近拥有了一个 AI pair programmer(AI 结对程序员).他可以帮我更快的编码,减少了不少工作量.所以我现在上班摸鱼 ...

  9. idea 使用github copilot插件

    一.注册github账号 (如果有直接跳到二) 填写邮箱,点这个绿的 然后点这个continue 输入密码继续continue(最好是英文加数字) 接下来输入用户名,需要注意 不能 以 - 开头,只能 ...

最新文章

  1. 谷歌浏览器怎么改html5,关于谷歌浏览器不支持html5中audio的autoplay解决方法(js代码解决)...
  2. pyrender 安装
  3. 当下网络营销市场中为何企业可通过网络营销提升自我价值?
  4. 神经网络的输入对迭代次数的影响
  5. html5中加亮文本,html实现高亮关键字
  6. spring @Value注解#和$区别
  7. Spark Java API:Action
  8. 中国航天将与人工智能技术携手 未来可期
  9. idea新建module 后 mapper老是说mapper和xml没有绑定
  10. 云计算的认识和看法_云存储已经成为存储的未来,你的存储跟上节奏了吗?
  11. aptx android8,秒杀苹果无线音频!Android 8.0蓝牙音质支持aptxHD/LDAC
  12. python3最新版下载_python3.9下载-Python下载v3.9.0 官方最新版【x86|x64】-西西软件下载...
  13. 539.最小时间差-LeetCode
  14. 深度学习和机器学习的相关资料
  15. iframe如何发送请求_如何实现高性能的在线 PDF 预览
  16. java 工作流 轻量级,java轻量级工作流框架
  17. 链表上手代码---表头插入
  18. 微信小程序-数据库操作
  19. 第14章传智书城前台程序设计
  20. Android程序员该如何进阶学习以预防35岁中年职场危机?

热门文章

  1. 黄聪:百度知道中对HTML字符实体、字符编号,开头字符的使用
  2. 正则表达式原理及引擎实现
  3. linux c select 服务器源码 简介
  4. golang 切片 截取参数 简介
  5. golang 创建文件目录 os.Mkdir、os.MkdirAll 区别
  6. drupal cve-2018-7600 远程代码执行漏洞 简介
  7. mysql timestamp类型字段 自动更新为当前时间
  8. tar解压 除去目录 指定路径
  9. linux 多进程 多线程的选择
  10. java设计模式---代理模式