几个月前,一位同事向我推荐了一个名为TabNine的自动完成工具。 他说,它是封闭源代码,但是尽管是开源技术的拥护者,但他一点也不害羞。 Parcel是他的另一个推荐,给我留下了深刻的印象,因此我决定最终尝试TabNine。
TabNine是任何编程语言的自动完成器。 它是用Rust构建的,并由机器学习和特定于语言的语义完成工具驱动。 您可以将其与Visual Studio Code,Sublime Text,Atom,Emacs和Vim一起使用。
在幕后,TabNine使用了多层完成引擎和项目源代码的索引。 通过使用存储库中的代码来帮助建议完成情况,TabNine将考虑您的编码样式和通用模式。 此外,TabNine识别可参数化的模式并根据这些参数提出建议。 那是一个大嘴巴,所以我将在下面显示一些实际含义的示例。
作为背景,在过去的七年中,我一直使用Vim作为我的首选编辑器,并根据自己的喜好对其进行了调整。 对于自动完成,我一直在使用YouCompleteMe ,尽管安装起来非常棘手,但它是一个出色的工具。 因此,本周我在.vimrc文件中注释了一行,并添加了TabNine插件。
TabNine插件是从YouCompleteMe派生的,但是安装说明中有一句话让人耳目一新:“如果TabNine在安装后不起作用,则是一个错误,应该提出问题。” 显然,不仅可以即插即用,而且该项目的维护者对用户体验很重视。 轻松安装的承诺得以实现,不到一分钟的时间,我就在使用新的自动完成器。
我做的第一件事是打开过去几周一直在努力的snippets dapp存储库,并开始导入新组件。 我立即看到一个改进自动完成引擎的选项: