700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > JAVA--AI编程助手【代码智能补全工具】盘点 让AI提高你的编程效率

JAVA--AI编程助手【代码智能补全工具】盘点 让AI提高你的编程效率

时间:2020-03-18 10:43:58

相关推荐

JAVA--AI编程助手【代码智能补全工具】盘点 让AI提高你的编程效率

1. 什么是AI编程助手

近几年,随着人工智能的迅速发展,AI在各行各业都有所应用。

特别是近两年,面向开发者的AI开发工具也是层出不穷,如GitHub Copilot、Codota、TabNine、国内的阿里云Cosy、AIXcoder。

这些AI编程助手增强了IDE的代码提示和自动补全功能,能极大的提高开发效率

目前市面上主流的AI编程助手见下图【图来自于程序员编码加速器,代码智能补全工具盘点】:

个人推荐使用阿里云Cosy的离线版本,给出的代码提示比较正确、合理,并提供强大的代码搜索功能。

其它AI编程助手,要么收费,要么需要联网,要么使用本地版本时需要消耗较多的内存和CPU。

2. AI编程助手

2.1. 敲代码神器Copilot

6月29日,微软与OpenAI共同推出了一款AI编程工具GitHub Copilot。6月22日,Copilot已正式上线,定价每月 10 美元(约 66.9 元人民币)或每年 100 美元(约 669 元人民币),对学生用户和流行开源项目的维护者免费提供。你可以尝试GitHub Copilot免费60天的试用期。在免费试用之后,你需要付费订阅才能继续使用。

GitHub Copilot uses the OpenAI Codex to suggest code and entire functions in real-time, right from your editor.

You can use GitHub Copilot to get autocomplete-style suggestions from an AI pair programmer as you code.

就是说使用GitHub Copilot,在编写代码时,可以实时得到内联建议【这些建议可能是代码片段或整个函数的代码】并自动完成编码。

如果你使用JetBrains IDE,你可以直接在编辑器中查看和合并来自GitHub Copilot的建议

使用文档参见:github copilot docs

GitHub Copilot 是结对编程的虚拟版本。

结对编程是一种常见的敏捷软件开发技术:即两个开发人员在同一个项目上并肩协作,轮流编写代码并检查合作伙伴的输出。

Copilot 可以支持十几种语言,与 Python、JavaScript、TypeScript、Ruby 和 Go 等主流语言配合效果更佳。

GitHub Copilot 还可以将注释转换为代码。只需要写一条评论,描述想要的逻辑,GitHub Copilot 就能自动“理解”并写出相应功能的代码,也能自动填充重复代码!

2.2. 阿里云智能编码插件

阿里云智能编码插件(Alibaba Cloud AI Coding Assistant)是一款AI编程助手,于10月份发布

提供代码智能补全和代码示例搜索能力,帮你更快更高效地写出高质量代码。

详见参见:docs

如何使用参见:cosy 使用文档

提供的功能如下:

代码智能补全: 通过学习海量优质的开源代码,代码智能补全让你编码如行云流水般自然高效,事半功倍地完成编码工作。隐私保护:用户的隐私高于一切,代码智能补全基于离线模式,不会分享或向其它设备上传你的代码及个人信息。精准推荐:通过深度学习模型和语法分析相结合,提供更精准的代码推荐能力,让你的开发过程专注又轻松。 海量代码示例搜索:

提供代码示例搜索功能,当你需要实现不熟悉的功能时,无需跳出到浏览器中,在IDE内仅需通过简单的语言描述,即可参考海量高质量的开源代码示例,为你打造沉浸式编码体验。优质技术文档搜索:

集成多种高质量中英文技术文档数据源,当遇到错误日志或技术难点时,在IDE内便可以轻松查阅技术文档,官方辅助伴你同行。小身材 高性能:用户的隐私高于一切,代码智能补全基于离线模式,不会分享或向其它设备上传你的代码及个人信息。

2.3. aiXcoder

aiXcoder是一款全新的智能编程机器人产品,它采用与程序员一起“结对编程”的方式为程序员提供服务【与github copilot类似】,从而提高程序员的编程效率。在aiXcoder的辅助下,程序将摆脱传统的编程模式,不再需要“逐字逐句”编写程序。

根据上下文和以往代码用深度学习技术分析后,在个人编程的时候,根据个人变成习惯做推荐,把编码常用的结果前置,接着给出更长甚至补完一整行的推荐结果,极大的提高你的编程效率。

目前提供了3.0个人版的下载

如果您的开发环境无法访问互联网,可以使用aiXcoder的安装器离线安装

特点如下:

本地补全引擎:推理引擎完全本地运行,无须上传代码,更好地保护用户代码安全智能学习内核: 核心推理引擎基于先进的深度神经网络与模型压缩技术构建学习海量代码: 使用海量优质开源代码对智能引擎进行训练和优化

支持功能

代码智能补全 远程服务模式,代码需要上传到远程服务器,速度更快一点,卡顿感会减少离线模式,会把模型下载到本地,并且会根据当前正在写的代码,动态的去下载相应的模型适配企业/私有代码,是需要收费的 代码示例搜索(支持Java、C++、Python) IDE插件端内部不支持,需要跳出到网页中搜索网页蛋支持代码示例搜索、自然语言搜索、相似代码搜索等适配企业/私有代码,是需要收费的 度量分析 编码时长、智能补全采纳率、节省时间等,普通版本不支持

2.4. Codota

Codota成立于,在下旬发布第一个Jetbrains插件版本,主要面向Java开发者。但是,目前Codota公司收购TabNine之后,已经放弃了Codota这款插件,并将老产品改名为了TabNine。效果最好的语言:Java

2.5. TabNine

TabNine是一款比较年轻的开发工具,刚发布的时候还是比较惊艳的,那个时候OpenAI刚开源GPT-2模型不久,TabNine基于GPT-2模型在海量代码数据上进行调优,打造出了一款针对代码的深度学习引擎,它能智能识别代码的上文信息,提供长序列的代码补全结果。目前,已经被Codota公司收购,并主推该工具,宣称支持所有主流的开发语言。

支持功能

代码智能补全 免费版只提供较为基础的补全功能,收费的Pro版本补全效果更好远程服务模式,代码需要上传到远程服务器,但是模型更强大,本地内存占用少离线模式,能够把模型下载到用户本地,无法联网也可使用补全,但是本地内存占用高,有时候CPU会飙高针对专业版提供了适配企业/私有代码的能力,是需要收费的 度量分析 在IDE中提供了简单的编码效能的数据

在针对Java语言的体验中,TabNine能对很多情况都生成较长的代码序列,不仅支持代码符号,也支持字符串、注释、Javadoc等内容的自动提示,在这方面还是比较方便的,但是通常自动提示的效果不是很好,毕竟这类信息的生成是需要理解代码的,而TabNine只能根据上文学习的模式进行生成,没有真正理解到代码的逻辑。除了Java文件,Java工程相关的文件如Yaml、properties等配置文件,它也能根据一定的模式进行自动提示。

如果是使用离线模式,内存占用量非常高,cpu占用有时候也会比较高

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。