智能编码辅助工具系列之TabNine篇

新知榜官方账号

2023-09-23 23:12:27

智能编码辅助工具系列之TabNine篇

近几年,人工智能迅速发展,在各行各业都有所应用,特别是近两年,面向开发者的AI开发工具也是层出不穷,从这些工具中,我们看到了AI能为开发者带来的无限可能性。本系列文章主要介绍国外的Kite、Codota、TabNine、GitHubCopilot、微软IntelliCode,国内的阿里云Cosy、AIXcoder等程序员比较常用的智能编码辅助工具,并会在后续的文章中做一些更为详细的偏个人使用感受的对比评测。

本文主要介绍了近几年发布的一款智能编码辅助工具TabNine,包括其支持的功能、使用体验、存在的问题以及未来的发展方向。

TabNine支持的功能

TabNine是一款比较年轻的开发工具,支持20多种主流的开发语言,免费版只提供较为基础的补全功能,收费的Pro版本补全效果更好,远程服务模式,代码需要上传到远程服务器,但是模型更强大,本地内存占用少,离线模式,能够把模型下载到用户本地,无法联网也可使用补全,但是本地内存占用高,有时候CPU会飙高,针对专业版提供了适配企业/私有代码的能力,是需要收费的。

使用体验

在针对Java语言的体验中,TabNine能对很多情况都生成较长的代码序列,不仅支持代码符号,也支持字符串、注释、Javadoc等内容的自动提示,在这方面还是比较方便的,但是通常自动提示的效果不是很好,毕竟这类信息的生成是需要理解代码的,而TabNine只能根据上文学习的模式进行生成,没有真正理解到代码的逻辑。除了Java文件,Java工程相关的文件如Yaml、properties等配置文件,它也能根据上文的模式进行自动提示。但是TabNine经常会推荐生成了一半的补全结果,也会经常推荐出本工程内不存在的API,最让人不能接受的地方是如果是使用离线模式,内存占用量非常高,CPU占用有时候也会比较高。

存在的问题

TabNine提供的代码补全经常会出现不完整代码片段,比如HSSFWork、XSS等,由于深度学习模型的推理非常耗时,TabNine考虑到性能原因,每次补全首次触发时会通过轻量级模型进行代码生成,在下次触发时通过缓存获取深度学习模型的结果,所以如果我们在同一个光标位置,重新触发代码补全,TabNine会提供更好的补全结果。TabNine能提供比较长的补全结果,但是存在语法错误的代码,比如getSheetCount方法是不存在的。

未来的发展方向

虽然目前提取代码模式的能力还存在比较多的缺陷,但是相信未来会逐渐完善。TabNine是支持的开发语言种类以及IDE平台最多的工具,在部分开发者的反馈中,有部分开发者喜欢TabNine即时学习代码模式的能力,这点是相比其他工具比较不错的。

本页网址:https://www.xinzhibang.net/article_detail-13261.html

寻求报道,请 点击这里 微信扫码咨询

关键词

TabNine 智能编码 开发工具

分享至微信: 微信扫码阅读

相关工具

相关文章

相关快讯