itten Code作为一款优秀的GPT驱动代码生成与完成工具,支持多样化的编程语言,如Python、JavaScript、TypeScript及Java等。其主要特性在于能够自动添加缺失的代码部分,有效缩短开发人员的工作时间。同时,该工具能够实现代码间语义级别的翻译,提供跨编程语言的互译服务。Fitten Code亦可根据代码内容自动生成注释,提供明确的说明及文档。另外,其整合了智能bug查找、代码解析、自动生成单元测试及根据代码自动生成测试用例等强大功能。
立即访问Fitten Code官方网站开启使用之旅
https://code.fittentech.com/
哪些人群可能从Fitten Code中获得益处?
Fitten Code立足于那些致力于提升编程效率,降低失误率以及快速生成代码片段的程序员用户群体。无论是快速构建项目框架、规划函数结构还是进行接口调用,Fitten Code均能提供有效助力。
Fitten Code的应用场景
Python项目:运用Fitten Code实现自动化代码生成操作。
JavaScript项目:借助Fitten Code实现代码自动补全。
Java项目:采用Fitten Code实现智能bug精确查找。
Fitten Code的产品优势
代码自动补全:显著提升开发人员编码效率,提高工作速度。
注释生成代码:针对代码内容自动生成精准、详实的注释。
智能bug查找:快速找准 bug 问题所在,提供改进策略以缩短调试时间。
代码解析:对于晦涩难懂的代码区域提供易于理解的说明,协助理解及维护。
自动生成单元测试:保障代码质量,增强软件的稳定性。
根据代码自动生成测试用例:简化测试流程,保证代码性能稳定。
如何运用Fitten Code
若您想尝试使用Fitten Code,只需访问其官方网站,依照项目需求选取对应的编程语言即可。输入您的代码后,Fitten Code将自动生成完整或注释类代码,并借助智能bug查找功能助您迅速发现问题并给出解决办法。为了更加深入理解并充分发挥Fitten Code的功能,敬请访问官方网站获取更多详细资讯。
者 | James Vincent等
编译 | 夕颜
出品 | AI科技大本营(ID:rgznai100)
【CSDN 编者按】在过去的一年中,AI 生成书面文字的能力大大提高。通过扫描庞大的文本数据集,机器学习软件可以生成从短篇小说到歌词的各种令人信服的样本。现在,一个名为 Deep TabNine 的新程序,可以将相同的技术应用于编码世界。这个程序一经F推出便好评如潮,大有抢了程序员饭碗的架势。这个程序是否真有这么好用?我们来一探究竟。
什么是Deep TabNine?
据外媒 The Verge 报道,Deep TabNine 是由滑铁卢大学的计算机科学本科生 Jacob Jackson 创建的编码自动完成器,程序员可以将它作为附件安装在他们选择的编辑器中,程序员写代码时,这个程序会给出下一行代码建议,每次提供一小段代码。你可以将它理解为 Gmail 的智能撰写功能用到了代码上。
据悉,Jacob 于 2018 年 2 月开始研究该软件的原始版本,在 11 月发布之前它叫做 TabNine。本月早些时候,他发布了一个更新版本,该版本使用由研究实验室 OpenAI 设计的深度学习文本生成算法模型 GPT-2 来改善能力。该模型使用 Transformer 架构,旨在解决自然语言处理中的问题,Deep TabNine 用这个架构来理解代码中的英语。例如,模型可以使用 if / else 语句来进行否定。在训练时,模型的目标是根据前面给定的 token 来预测下一个 token。
Deep TabNine 使用 GitHub 的近 200 万个文件进行了训练,它具有预先存在的知识,而不是仅仅从用户当前的项目中学习。此外,这个模型还引用以自然语言编写的文档来推断函数名称、参数和返回类型。它还能利用传统工具难以发现的小线索。例如,它可以理解 app.get_user 的返回类型被假定为具有设置器方法的对象,且 app.get_users的返回类型被假定为列表。
Jacob 表示,这种软件虽然并不新鲜事物,但机器学习已经大大地改善了它的功能。“这对我来说是解决了一个问题。”
Deep TabNine 的更新版本让程序员们留下了深刻印象,他们在 Twitter 上称这个软件“惊人”、“让人疯狂”和“绝对令人兴奋”。
用户 Franck Nijhof 是一位在闲暇时间从事开源家庭自动化软件工作的 IT 经理,他对 Deep TabNine 不仅感到惊讶 ,还觉得既兴奋又害怕。“我使用 Deep TabNine 的第一个小时内没有作用,因为我不停地被它惊讶到,脑子里一直不停地问它到底是怎么知道的?怎么做到的?” Nijhof 通过电子邮件告诉 The Verge。
这样的自动完成工具之前就有过,但 Nijhof 表示 Deep TabNine 的建议更准确。“我过去曾尝试过一些'通用'的智能编写程序,但它们很烦人而且没有帮助,”他说道,“TabNine 无疑是一个改变游戏规则的存在。”
特斯拉人工智能总监 Andrej Karpathy 也对这个程序赞不绝口:
深度学习自动编码 https://t.co/WenacHVj7z 非常酷!很久以前我在做 char-rnn(字符级循环神经网络)时尝试过相关的想法,但当时它并不是很有用。随着新工具(GPT-2)的出现和更多的关注,它将会发挥更大的作用。
- Andrej Karpathy(@karpathy),2019年7月18日
Jackson 表示,该软件之所以可以提供更好的建议,是因为它可以进行预测。大多数自动填充程序必须解析用户已编写的内容来提出建议,就像人使用数学公式中的步骤一样理顺代码。相比之下,Deep TabNine 依赖于机器学习的能力来查找数据中的统计模式以进行预测。
与文本生成算法在大量书籍、文章和电影脚本数据集上进行训练的方式相同,Deep TabNine 对来自编码库 GitHub 的 200 万个文件进行了训练。它在这些数据中找到模式,并用其在任意给定代码行中可能出现的内容给出建议,无论是变量名还是函数。
Jackson 说,使用深度学习创建自动编码软件有几个优点。首先,它可以轻松添加对新语言的支持。只需要将更多的训练数据放入 Deep TabNine 中,它就会挖出模式。这意味着,Deep TabNine 支持大约 22 种不同的编码语言,而大多数同类型产品只支持一种。
Deep TabNine 支持的编码语言完整列表如下:
Python、JavaScript、Java、C ++、C、PHP、Go、C#、Ruby、Objective-C、Rust、Swift、TypeScript、Haskell、OCaml、Scala、Kotlin、Perl、SQL、HTML、CSS、Bash。
最重要的是,由于深度学习的分析能力,Deep TabNine 提出的建议整体上具有很高的质量。而且,因为软件不会查看用户自己写的代码来提出建议,所以它可以从编码的那一刻开始就起作用,而不用等着从用户编写的代码中寻找蛛丝马迹。
当然,这个软件也并非完美。它在提出建议时会出错,另外,它也不是对所有类型的编码都有用。Hacker News 和 r / program subreddit 的用户已经找到了它的各种优点和编程漏洞(但大多数倾向于正面评论)。
用户1:免费版本 200 KB 的限制对于实际代码库来说太低了,有考虑过提高限制吗?
Jacob Jackson 回复:可以试下付费版 30 天返款。所有版本的 TabNine 仍然适用于大于索引限制的项目。索引中将添加和删除文件,以确保索引文件与用户正在编辑的文件尽可能相关。
用户2:可以用,但不是很好用。对于你最喜欢的编辑器不支持或没有插件的语言来说,这是一个非常酷的技术,但是如果编辑器已经对语言有很好的支持(比如 VSCode for Typescript),它可能不会比连接自动完成的编辑器更好用。
用户3:添加 IntelliJ Idea 支持,我会买它:)
用户 4:支持 Emacs 后,我会买!
对于这个为程序员构建的编码工具的编辑器和工作流程精确度,大家也有很多看法。
Jackson 也坦承了 Deep TabNine 的一些缺点,如它更适合某些类型的编码。它在自动完成相对死记硬背的代码时效果最好,这种编程已经被做过数千次,只有很小的变化。但是,它并不擅长用户用于解决新问题的探索性代码。考虑到软件的智能来自数据中的模式,这并不奇怪。
那么,它对于普通程序员真的有用吗?这取决于很多因素,比如他们使用的编程语言,他们想要实现的目标等。但 Jackson 表示,与其说是一个人类编码助手,它更像是一种更快的输入法(一种常见的被称为结对编程的做法)。
“想象一下,现在所有的程序员都在使用相当于手机的键盘打字,而使用 Deep TabNine 有点像转而去使用常规键盘,”他说道。这款软件可以提高用户输入信息的速度,并且可以提高工作效率,“因为你可以花更多时间考虑内容而不是细节。”但它不会按照你的方式编写代码,而你也确实需要要密切关注它的动向。
虽然集成深度学习模型具有多种优势,但使用它需要大量的算力。Jackson 明确提到,在笔记本电脑上运行无法实现 TabNine 用户习惯的低延迟。对此,他们提供了一种解决方案——TabNine Cloud(Beta)服务,该服务将使用户能够使用 TabNine 的服务器进行 GPU 加速自动完成。访问 TabNine Cloud,可以在此处免费注册:https://tabnine.com/beta_signup
但是,有许多人更愿意将代码保存在他们的机器上。为了确保代码的隐私性和安全性,TabNine 团队正在研究以下用例:
他们承诺在未来推出尺寸减小的模型,个人开发者可以在笔记本电脑上运行,提供合理的延迟。
企业可以选择模型许可,在自己的硬件上运行。他们还提供训练自定义模型,以了解企业代码库特有的独特模式和样式。
目前,Jackson 正在考虑下一步该用这款软件做些什么,以及是否值得商业化。他说,他本人目前在一家大型科技公司有一份全职工作,他还不想放弃,但来自各领域的人都对这款软件表示“非常感兴趣”。“我还没有真正决定我想用它做什么。”
目前,TabNine 的个人许可用费用为 49 美元,商业用途费用为 99 美元,个人必须注册 Deep TabNine 测试版才能访问新的深度学习功能。购买许可之后, TabNine 能够索引更多文件,给出更多相关建议。
网站上写道:“TabNine 每分钟至少可以为你节省 1 秒钟。如果你认为你的时间价值超过 1.40 美元/小时,它将帮你在不到一年的时间内收回成本。“
他说,如果他能够使用开源软件创建这样的程序,那么 AI 辅助编码的未来就是一片光明。
“这是在这个领域工作的每个人的目标,告诉计算机你想要写什么样的代码,它就能帮你写,”他说道。“我们目前距离实现这个目前还很远,但我认为这种工具可以帮助你更方便地表达自己的想法。”
原文链接:
https://www.theverge.com/2019/7/24/20708542/coding-autocompleter-deep-tabnine-ai-deep-learning-smart-compose
https://hub.packtpub.com/introducing-deep-tabnine-a-language-agnostic-autocompleter-based-on-openais-gpt-2/
【END】
ublime Text 是一个代码编辑器(Sublime Text 2是收费软件,但可以无限期试用),也是HTML和散文先进的文本编辑器。Sublime Text是由程序员Jon Skinner于2008年1月份所开发出来,它最初被设计为一个具有丰富扩展功能的Vim。
做为一个资深前端来说编辑器上如果没有文件路径提示的话那未免有些太鸡肋了。所以分享一个路径提示的插件,先看一下使用效果吧
路径自动提示出来了,可以省去手动敲文件夹名称,也可以避免手敲出错。
步骤一:
我们首先安装Package Control插件(Package Control 插件是一个方便 Sublime text 管理插件的插件),已安装过的可以直接跳过此步骤。
从菜单 View - Show Console 或者 ctrl + ~ 快捷键,调出 console。
Sublime Text 3 输入:
import urllib.request,os; pf='Package Control.sublime-package'; ipp=sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); open(os.path.join(ipp, pf), 'wb').write(urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ','%20')).read())
Sublime Text 2 输入:
import urllib2,os; pf='Package Control.sublime-package'; ipp=sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler( ))); open( os.path.join( ipp, pf), 'wb' ).write( urllib2.urlopen( 'http://sublime.wbond.net/' +pf.replace( ' ','%20' )).read()); print( 'Please restart Sublime Text to finish installation')
安装完成之后进行下一步。
步骤二:
在软件界面按Ctrl+Shift+P调出Package Control的命令框
输入以上内容,然后鼠标点击第一个,然后左下角会出现下图所示的内容
等待加载插件库列表,加载完之后会弹出选择框然后输入AutoFileName点击安装
到这里Sublime Text3版本的可以直接使用了,Sublime Text 2 版本的进行下一步
步骤三:
菜单栏依次点开Preferences->Package Settings->AutoFileName->Settings - User把以下代码复制进去
{
"auto_complete_triggers":
[
{
"characters": "<",
"selector": "text.html"
},
{
"characters": "/",
"selector": "string.quoted.double.html,string.quoted.single.html, source.css"
}
]
}
好了,到此已经大功告成,让你键盘上的小手飞速跳动起来吧!
如果本文对你有用的话请不要忘记分享关注哦!谢谢观看!
*请认真填写需求信息,我们会在24小时内与您取得联系。