前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >TabNine 利用机器学习补全代码的编辑器插件

TabNine 利用机器学习补全代码的编辑器插件

作者头像
icepy
发布2019-10-14 16:12:45
2.9K0
发布2019-10-14 16:12:45
举报
文章被收录于专栏:子曰五溪

安利一款利用机器学习补全代码的编辑器插件——TabNine

TabNine是一种基于OpenAI的语言模型(GPT-2)来实现的智能代码补全技术。它支持23种编程语言、5种编辑器,使用简单,效果惊艳。不少使用过的网友说:TabNine是他们用过的最好的代码补全工具,这是属于程序员的杀手级应用。

支持我们常用的Webstrom 和 Vscode。

官网地址 https://tabnine.com/ ,在官网上有一些对代码补全的视频

下面是我录制的试用效果的gif图(gif太大了不能上传图床)

B站上用TabNine写python 的视频。https://www.bilibili.com/video/av61698027

如何使用

1 https://tabnine.com/subscribe

点击Try free beta

填写自己的邮箱后,会收到一封邮件

按照邮件的操作步骤,安装对应编辑器的插件后在编辑器中输入 TabNine::config 会打开浏览器一个配置页面,在页面中填写 APIkey。

为了代码安全选择不上传代码

⚠️ 这里输入 TabNine::config 不太好用,切换英文输入法,在输入后不生效尝试删除字符,补全后回车。我配置两个编辑器的时候,这里都遇到了问题。

配置好了可以尝试使用

说说我对它的看法

IDEA系列和Vscode 现在对代码提示已经支持的很好了,为什么还需要这样的插件:

传统的编辑器插件都是基于语法树提示API,在补全对象的属性或者方法上很好用。TabNine 会通过ML 来学习当前项目的源代码,会学习代码的写作习惯和常用的代码片段,在补全代码上更开放。

遇到比较方便的例子

  1. 单词补全,TabNine会根据项目常用的单词补全你想要写的变量名,比如项目中有updateCollection 当我输入 delete 的时候会自动提示 deleteCollection, 当输入 UPDATE或者DELETE 会建议 _COLLECTION
  2. 会基于常用的代码片段推荐,命中率很高,会节约很多敲代码的时间
  3. 会推荐常用的语法糖
  4. 通过对GitHub代码的学习会建议一些固有模式的代码比如React 类的写法 和 生命周期的一些写法

TabNine的技术就是对传统语法补全技术的一种极好的补充,因为程序员每天大部分时间都是在重复自己以前的编程思想和代码片段,为什么不让机器来辅助人从重复的代码拷贝中解脱出来呢?

问题

  1. 内存损耗大
  2. 会在本地创建比较大的token索引占用磁盘空间
  3. 对GPU有要求
  4. 看个人喜好,有人觉得烦,干扰自己对于代码闭合的习惯,会扰乱自己输入
  5. 对小众语言的支持不友好,比如Dart
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-10-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 子曰五溪 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 如何使用
  • 说说我对它的看法
  • 问题
相关产品与服务
GPU 云服务器
GPU 云服务器(Cloud GPU Service,GPU)是提供 GPU 算力的弹性计算服务,具有超强的并行计算能力,作为 IaaS 层的尖兵利器,服务于生成式AI,自动驾驶,深度学习训练、科学计算、图形图像处理、视频编解码等场景。腾讯云随时提供触手可得的算力,有效缓解您的计算压力,提升业务效率与竞争力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档