近几年,随着人工智能的迅速发展,AI在各行各业都有所应用。
特别是近两年,面向开发者的AI开发工具也是层出不穷,如GitHub Copilot、Codota、TabNine、国内的阿里云Cosy、AIXcoder。
这些AI编程助手增强了IDE的代码提示和自动补全功能,能极大的提高开发效率
目前市面上主流的AI编程助手见下图【图来自于程序员编码加速器,代码智能补全工具盘点】:
个人推荐使用阿里云Cosy的离线版本,给出的代码提示比较正确、合理,并提供强大的代码搜索功能。
其它AI编程助手,要么收费,要么需要联网,要么使用本地版本时需要消耗较多的内存和CPU。

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 就能自动“理解”并写出相应功能的代码,也能自动填充重复代码!
阿里云智能编码插件(Alibaba Cloud AI Coding Assistant)是一款AI编程助手,于2021年10月份发布
提供代码智能补全和代码示例搜索能力,帮你更快更高效地写出高质量代码。
详见参见:docs
如何使用参见:cosy 使用文档
提供的功能如下:
aiXcoder是一款全新的智能编程机器人产品,它采用与程序员一起“结对编程”的方式为程序员提供服务【与github copilot类似】,从而提高程序员的编程效率。在aiXcoder的辅助下,程序将摆脱传统的编程模式,不再需要“逐字逐句”编写程序。
根据上下文和以往代码用深度学习技术分析后,在个人编程的时候,根据个人变成习惯做推荐,把编码常用的结果前置,接着给出更长甚至补完一整行的推荐结果,极大的提高你的编程效率。
目前提供了3.0个人版的下载
如果您的开发环境无法访问互联网,可以使用aiXcoder的安装器离线安装
特点如下:
支持功能
Codota成立于2013年,在2014年下旬发布第一个Jetbrains插件版本,主要面向Java开发者。但是,目前Codota公司收购TabNine之后,已经放弃了Codota这款插件,并将老产品改名为了TabNine。效果最好的语言:Java
TabNine是一款比较年轻的开发工具,刚发布的时候还是比较惊艳的,那个时候OpenAI刚开源GPT-2模型不久,TabNine基于GPT-2模型在海量代码数据上进行调优,打造出了一款针对代码的深度学习引擎,它能智能识别代码的上文信息,提供长序列的代码补全结果。目前,已经被Codota公司收购,并主推该工具,宣称支持所有主流的开发语言。
支持功能
在针对Java语言的体验中,TabNine能对很多情况都生成较长的代码序列,不仅支持代码符号,也支持字符串、注释、Javadoc等内容的自动提示,在这方面还是比较方便的,但是通常自动提示的效果不是很好,毕竟这类信息的生成是需要理解代码的,而TabNine只能根据上文学习的模式进行生成,没有真正理解到代码的逻辑。除了Java文件,Java工程相关的文件如Yaml、properties等配置文件,它也能根据一定的模式进行自动提示。
如果是使用离线模式,内存占用量非常高,cpu占用有时候也会比较高