您的位置 首页 > 数码极客

GitHub召开全球开发者大会!20000处产品改进,Copilot重磅更新

来源:GitHub

编辑:小咸鱼 好困

【新智元导读】GitHub在其全球开发者大会上,宣布Copilot将增加对包括Neovim和JetBrains IDEs在内的编辑器的支持,重点是JetBrains的IntelliJ IDEA和PyCharm。GitHub还宣布Copilot支持Java、C、C++和C#等语言的多行代码完成,还有自上次GitHub Universe 以来,进行的20000多项产品改进。


想写出漂亮的代码,但是就是憋不出来怎么办?急!


其实,大可不必这么焦虑。


因为,写出优秀的代码和能遇见合适的人一样,都是要讲缘分的,不能强求。




不会真相信了吧?


咳咳,开个玩笑,摸鱼是不对滴,工作还是要认真上心。


毕竟,自己搞不定,还可以去GitHub上「借鉴」啊。


可是上GitHub找东西也挺麻烦的啊。


这。。。当然没关系。


还记得6月份GitHub和OpenAI联合推出的全新AI代码补全工具Copilot预览版吗?



在刚刚结束的GitHub开发者大会上,Copilot的超进化版本来了!


「Copilot」的初衷


Copilot一词,意为副驾驶。


打个比方,副驾驶员(Copilot)在简单情况下,他可以从机长手中接管飞机的控制权,驾驶飞机(如直线和水平巡航)


但是,在情况不稳定,难以驾驭的时候(如在恶劣天气着陆时),还是要让机长控制飞机的飞行。


OpenAI 联合创始人兼首席技术官Greg Brockman曾经表示,编程其实应该分为两个部分。


一是认真思考一个问题并试图理解它。


二是将这些小片段映射到现有的代码中,不管它是一个库、一个函数还是一个API。



程序员应该在第一个问题上多花时间,而不是把大量时间消耗在第二部分,毕竟,大量的代码都是在重复别人之前所做的事情。


所以,GitHub和OpenAI的Copilot,目的是让人类程序员从「不断重复前人的工作」这种情况中解脱出来,把较简单和基础的代码编写任务交给AI去完成。



Copilot就是为此而生,可以自己编写代码。


学富五车的「Copilot」


OpenAI在2020年,曾推出1750亿参数的GPT-3,参数规模直逼人类神经元的数量。


GPT-3使用了在2019年之前的互联网上的几乎所有公开的书面文本进行训练,所以它对于自然语言是有一定理解能力的,能作诗、聊天、生成文本等等。


今年夏天,OpenAI 发布了 Codex。



Codex基于GPT-3进行训练,接受了从GitHub中提取的TB级公开代码以及英语语言示例的训练。


只要你对Codex发号施令,它就会将英语翻译成代码。



随后,你的双手离开键盘,Codex会自动编程,火箭就自己动起来了。


而Copilot正是建立在OpenAI强大的Codex算法之上,获得了「海纳百川」的代码积累和前所未有的代码生产能力。



Copilot不仅仅可以模仿它见过的代码,而且还会分析利用函数名、方法名、类名和注释的上下文来生成和合成代码,为开发人员提供编辑器中整行代码或函数的建议。



它能减少工程师通过API文档做苦工的时间,还能帮忙编写测试代码。


「Copilot」超进化!


这一次,编程助手Copilot,增加了对更多代码编辑器和更多语言的支持!


Copilot将增加对包括Neovim和JetBrains IDEs在内的编辑器的支持,重点是JetBrains的IntelliJ IDEA和PyCharm,对Visual Studio Code集成开发环境的支持也仍在开发中。



GitHub还宣布Copilot会支持Java、C、C++和C#等语言的多行代码完成,这就意味着Copilot可以自己生成多行代码,能力更加强大。


此外,Copilot依然会支持它擅长的Python、JavaScript、TypeScript、Ruby和Go等语言,未来几个月还将支持更多语言。



虽然,Copilot因代码版权侵权引起过广泛争议,但GitHub的产品副总裁Ryan Salva表示,Copilot提供的是综合的代码建议,而不是逐字逐句的评论。GitHub坚持认为,用于训练Copilot的公开数据依然是在合理使用权范围内。


目前,GitHub仍在邀请更多开发人员试用Copilot技术预览版,感兴趣的小伙伴可以申请使用哦!


GitHub开发者大会上的其他亮点


全新的GitHub Issue正式公测


新功能包括项目板和动态表格等,从而可以对issue和pull request进行过滤、排序和分组。


  1. 迭代支持:可以在项目表中创建「迭代」字段类型,以按冲刺和周期对问题进行分类和分组;
  2. 自定义字段:使用对团队重要的信息来计划和跟踪工作;
  3. 公共项目:可以将project在open或private之间切换。



GitHub讨论区升级


  1. 整合GitHub Actions:在Discussion和DiscussionComment webhook事件上触发action工作流程;
  2. 讨论标签:使用自定义标签对讨论进行分类和过滤;
  3. GitHub Mobile:随时随地使用GitHub Mobile应用进行讨论。



Codespaces云开发环境更新


GitHub Codespaces可以直接通过浏览器或Visual Studio Code启动新的开发环境。将创建一个新开发环境的时间从45分钟缩短到10秒。


  1. 更简单的开发环境创建:一键创建和更新devcon开发环境的代码定义;
  2. 在CLI中加入Codespaces:支持喜欢命令行和直接SSH访问开发环境的开发者;
  3. 一个全新的REST API:用编程方式管理Codespace将会变得更加容易;
  4. 转发端口的访问控制:分享转发的端口到Codespace,并将它们标记为公共、私人或与团队成员共享;
  5. 无缝访问GitHub Container注册表:自动验证存储在GHCR中的开发容器,无需提供个人访问令牌(PAT)。



GitHub Actions:CI/CD改善以及自动化


  1. 可重复使用的工作流:工作流可以在一个单一的存储库中维护,并与整个团队共享。通过标准化部署的工作流可以让团队执行最佳的实践,并实现更快速和稳健的进展;
  2. 自动扩展自托管的运行器的API:通过扩大或缩小fleet来管理自己托管的基础设施成本,以应对特定的工作负载;
  3. 基于Open ID Connect(OIDC)的认证支持:可以使用任何支持OIDC的云提供商(包括AWS、Azure、GCP)。


Command Palette更新


新的command palette将通过一系列新的命令对工作流进行优化,这些命令在GitHub上的任何地方都可以通过一个快捷键--macOS上的command k和Windows及Linux上的control k进入。


在那里可以快速导航到任何project、 repo、pull request或issue,并运行命令。



支持Ruby代码扫描


Ruby在开源社区最流行的编程语言中排名第10。


为了帮助更多的开源维护者和组织发现代码中的潜在漏洞,GitHub在支持代码扫描的CodeQL引擎中增加了对Ruby的支持。


CodeQL可以识别代码中的安全问题,以及流向漏洞位置的数据。其中包括SQL注入、正则表达式拒绝服务(ReDoS)、命令行注入等等。


GitHub代码扫描、CodeQL CLI和Visual Studio Code的CodeQL扩展中将默认支持Ruby。


除了Ruby以外,CodeQL支持的语言还包括C/C++、C#、Java、JavaScript/TypeScript、Python和Go。



GitHub企业云更新


GitHub企业云为企业用户提供完整的云计算DevOps平台。


  1. 企业管理用户(EMU)企业管理员可以拥有和管理身份的整个生命周期,同时改善配置和取消配置能力;
  2. 自定义仓库角色:GitHub管理员现在可以为团队、组织成员和外部合作者创建自定义权限级别。


参考资料:

关于作者: luda

无忧经验小编鲁达,内容侵删请Email至wohenlihai#qq.com(#改为@)

热门推荐