杀手级AI补代码工具问世,支持23种语言、5种主流编辑器!(附链接)

2024-04-13 23:32

本文主要是介绍杀手级AI补代码工具问世,支持23种语言、5种主流编辑器!(附链接),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

640?wx_fmt=png

本文经AI新媒体量子位授权转载,转载请联系出处。

本文约2100字,建议阅读10分钟。

本文介绍了新开发出的“Deep TabNine“代码补全工具,支持多种编程语言和编辑器。


GPT-2,一个来自OpenAI的逆天语言模型,现在能用来补全代码了。


一位来自加拿大的大四学霸,开发了一款”Deep TabNine“代码补全工具,实现了这一大胆的想法。


它支持23种编程语言、5种编辑器,使用简单,效果惊艳。


不少使用过的网友说:TabNine是他们用过的最好的代码补全工具,这是属于程序员的杀手级应用。


640?wx_fmt=png


在VS Code的扩展商店里,TabNine已经被下载1.3万次,获得全5星好评。


支持23种编程语言


Deep TabNine支持Java:


640?wx_fmt=gif


Python:


640?wx_fmt=gif


C++:


640?wx_fmt=gif


Haskell:


640?wx_fmt=gif


不同于各种其他代码补全插件,Deep TabNine是根据程序员过去的习惯自动补全,并在后面给出几种选项的概率。


如果有类似代码出现在之前的项目里,TabNine还会在补全候选框中直接给出地址,方便用户点击进去查阅。


640?wx_fmt=png

除以上几种语言之外,Deep TabNine还支持JavaScript、C、PHP、Go、C#、Ruby、Objective-C、Rust、Swift、TypeScript、OCaml、Scala、Kotlin、Perl、SQL、HTML、CSS和Bash。


主流编程语言几乎都囊括在内。


支持5种编辑器


TabNine支持VS Code、Sublime Text、Atom、Emacs、Vim五种代码编辑器。


对于使用VS Code和Sublime来说,安装TabNine非常方便,用自带的扩展包管理工具即可。


VS Code


VS Code用户按下Ctrl+P(Mac用户按下⌘+P),粘贴以下命令,然后按回车键完成安装。


Sublime


Sublime用户安装分为两步:


  • 按下Ctrl+Shift+P(Mac用户:⌘+Shift+P),选择Install Package Control;

  • 再次按下Ctrl+Shift+P(Mac用户:⌘+Shift+P),选择Package Control:Install Package,然后选择TabNine来安装。


Vim


Vim使用Vundle插件管理器进行安装:


  • 添加Plugin ‘zxqfl/tabnine-vim’到.vimrc;

  • 输入:PluginInstall,按下回车完成安装。


其他编辑器的安装方法就不一一赘述了,有需要的用户可以参照文末的链接进行安装。


项目超过400kb需要购买许可证:个人用户49美元,商业用户99美元。


640?wx_fmt=png


由于Deep TabNine用到机器学习补全代码,因此需要大量的算力(超过100亿次浮点运算),在笔记本上运行模型,无法获得低延迟的体验。


因此,软件开发者推出了TabNine Cloud云服务器,用云端GPU加速。付费用户不需要再加钱即可使用。


所以听起来很划算吧?


软件开发者自己就说,这个价格其实不贵,有了TabNine,一分钟就里能帮你节省一秒,咱们再算算程序员的时薪,每个小时能节约1.4美元,不到一年时间就能回本了。


如果你对效果不满意,TabNine开发者还提供30天退款保证。


怎么做到的?


TabNine是在GPT-2的基础上构建的,这是一种Transformer架构,原产自OpenAI,是个“逆天”语言模型。


GPT-2的参数高达15亿个,数据量比一代扩大了10倍,使用了包含800万个网页的数据集,共有40GB。


逆天之处就在于,GPT-2写起文章来毫无违和感,无需针对性训练就能横扫各种特定领域的语言建模任务,还具备阅读理解、问答、生成文章摘要、翻译等等能力。


就GPT-2而言,它的训练目标很简单:根据所有给定文本中前面的单词,预测下一个单词。虽然本来是解决NLP问题,看似与写代码没什么关联,但建模代码也算是用一种独有的方式在理解英文。


比如,可以让模型用if/else语句否定单词:

640?wx_fmt=jpeg

640?wx_fmt=png


项目主页显示,在大约经过GitHub中200万个文件训练后,TabNine具备了自动补全代码的能力。


在训练这个模型期间,模型学习了例如动态类型语言中的类型推断等复杂行为,用这样的训练方式预测token。


640?wx_fmt=png

640?wx_fmt=png


作者表示,TabNine可以很好利用传统代码补全工具难以获取的琐碎细节。


例如,假设app.get_user()的返回类型是一个带有setter方法的对象,而app.get_users()的返回类型是一个列表,两个名称之间只有细微的差别:


640?wx_fmt=png


这个模型还能以自然语言编写的文档来推断函数名称、参数和返回类型:


640?wx_fmt=png


Deep TabNine加入了之前用户强烈要求加入的功能:用预先存在的知识,解决在创建新项目时的代码补全问题。


例如,它知道当一个类扩展React.Component时,它的构造函数通常会调用一个名为props的参数,并且通常在其内部用this.state赋值:


640?wx_fmt=png


Deep TabNine甚至可以做不可能的事情,并记住C++可变参数转发语法:


640?wx_fmt=png


“杀手级应用”


TabNine问世后,不断收获好评,甚至还有程序员激动得爆粗口:



卧槽,这种软件多来点就好了。(Fuck yeah. This is the sort of software I want to see more often: TabNine )



640?wx_fmt=png


有网友表示, 没有它都不知道该怎么面对写代码这件事了。


640?wx_fmt=png


还有人称之为开发者应用中的第一个“杀手级应用程序”


640?wx_fmt=png


“令人印象深刻”、“感到神奇”、“太酷了”……推特上的评价,颇有电视广告上“用了都说好”的画风。


在各大科技论坛上,也有网友提出了建议和改进的方向。


有用户反映,也有美中不足的地方,比如这个工具会干扰自动括号完成。


640?wx_fmt=png


作者表示,TabNine还在不断更新完善中,正在改进这些bug。


大四学霸的第一桶金


想不到吧,这款好评如潮的代码工具,出自一名大四学生之手。


Jacob Jackson,加拿大人,目前在滑铁卢大学主修计算机科学与组合优化专业,辅修数学。大四在读,今年8月份毕业。


640?wx_fmt=png


Jackson此前在Reddit上发帖称,这是自己在大学阶段开发的第一款商业软件产品。


别人的大学,别人的第一桶金~


但Jackson并非无名之辈,年少有为,曾在2014和2015连续两年获得IOI金牌。


因此,大学一入学,便成为加拿大Michael and Ophelia Lazaridis Olympiad Scholarship奖学金的获得者,免除了8个学期学费书费和生活费。


除了自动补全代码的TabNine,Jackson还开发了很多有意思的应用,比如一个名为jellies的益智游戏,和使用蒙特卡罗树搜索的国际象棋引擎Sashimi等。


传送门

TabNine网站:
https://tabnine.com/blog/deep

Jackson GitHub主页:
https://github.com/zxqfl

Jackson简历:
http://jacobj.ca/resume.html


编辑:王菁

校对:林亦霖

640?wx_fmt=jpeg

这篇关于杀手级AI补代码工具问世,支持23种语言、5种主流编辑器!(附链接)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/901519

相关文章

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

AI绘图怎么变现?想做点副业的小白必看!

在科技飞速发展的今天,AI绘图作为一种新兴技术,不仅改变了艺术创作的方式,也为创作者提供了多种变现途径。本文将详细探讨几种常见的AI绘图变现方式,帮助创作者更好地利用这一技术实现经济收益。 更多实操教程和AI绘画工具,可以扫描下方,免费获取 定制服务:个性化的创意商机 个性化定制 AI绘图技术能够根据用户需求生成个性化的头像、壁纸、插画等作品。例如,姓氏头像在电商平台上非常受欢迎,

从去中心化到智能化:Web3如何与AI共同塑造数字生态

在数字时代的演进中,Web3和人工智能(AI)正成为塑造未来互联网的两大核心力量。Web3的去中心化理念与AI的智能化技术,正相互交织,共同推动数字生态的变革。本文将探讨Web3与AI的融合如何改变数字世界,并展望这一新兴组合如何重塑我们的在线体验。 Web3的去中心化愿景 Web3代表了互联网的第三代发展,它基于去中心化的区块链技术,旨在创建一个开放、透明且用户主导的数字生态。不同于传统

AI一键生成 PPT

AI一键生成 PPT 操作步骤 作为一名打工人,是不是经常需要制作各种PPT来分享我的生活和想法。但是,你们知道,有时候灵感来了,时间却不够用了!😩直到我发现了Kimi AI——一个能够自动生成PPT的神奇助手!🌟 什么是Kimi? 一款月之暗面科技有限公司开发的AI办公工具,帮助用户快速生成高质量的演示文稿。 无论你是职场人士、学生还是教师,Kimi都能够为你的办公文

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

高效录音转文字:2024年四大工具精选!

在快节奏的工作生活中,能够快速将录音转换成文字是一项非常实用的能力。特别是在需要记录会议纪要、讲座内容或者是采访素材的时候,一款优秀的在线录音转文字工具能派上大用场。以下推荐几个好用的录音转文字工具! 365在线转文字 直达链接:https://www.pdf365.cn/ 365在线转文字是一款提供在线录音转文字服务的工具,它以其高效、便捷的特点受到用户的青睐。用户无需下载安装任何软件,只

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问

poj 1258 Agri-Net(最小生成树模板代码)

感觉用这题来当模板更适合。 题意就是给你邻接矩阵求最小生成树啦。~ prim代码:效率很高。172k...0ms。 #include<stdio.h>#include<algorithm>using namespace std;const int MaxN = 101;const int INF = 0x3f3f3f3f;int g[MaxN][MaxN];int n

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl