代码补全_AI加持,Kite增加智能代码补全功能:减少一半操作,实时补全

代码补全工具 Kite 近日更新了最新的版本,增加了名为「Intelligent Snippets」的新功能。这一功能可以帮助开发者更为智能和高效的补全 Python 代码中的函数命令了。

机器之心报道,机器之心编辑部。

Kite 是一个著名的 Python 代码补全工具,支持在一些 IDE 上作为插件,帮助开发者提升代码效率。近日,Kite 官方宣布将会增加「Intelligent Snippets」功能。据官方表示,这一工具可以帮助开发者补全复杂的、多字符的代码,而且代码的生成几乎是实时的。

Intelligent Snippets 有什么特性

Kite 本身就是一种代码补全工具。在版本更新前,它只能按照规则或检索的方式,帮助用户补全忘记了名称的函数。官方认为,这不是最优的解决方案。

在 9 月 5 日发布了新版本后,新加入的 Intelligent Snippets 能帮助代码补全最初更合理的预测。简单总结一番,Kite 最新构建的 Intelligent Snippets 主要有以下特性:

  • 支持大部分的编辑器:Atom、PyCharm/IntelliJ、Sublime Text、VS Code 和 Vim;
  • 支持全局和局部函数补全;
  • 通过 Intelligent Snippets 调用函数,用户只需要一半的击键操作。

如果读者想要试试这种免费的代码补全工具,可以直接下载插件:https://kite.com/download/。

Intelligent Snippets 可以解决什么问题

传统上,我们可以创建一些代码块,然后在需要的时候直接调用并修改这个片段。一般而言,这种代码块都是开发者事前手动定义的,它们都是静态的,并不会随着开发者的编写过程而改变。因此,模板式的代码块限制了代码模式的多样性。

例如在下面动图中,开发者使用代码块来插入定义函数的主要结构,然后再修改参数与子语句完成特定的函数。

6ac3ad01e1f55399447b03ec53dab1a3.gif

Kite 的 Intelligent Snippets 引擎能根据我们正在使用的代码动态地生成代码片段,它能自动地检查我们代码库中最一般的模式,并建议我们在写代码时使用这些模式。下面的动图展示了这一新特性,它会预测一些常用的编程模式。

9d3bd3fbd778551d9e48e610ff15f07d.gif

如何构建 Intelligent Snippets

Intelligent Snippets 建立在 Kite 代码补全核心代码引擎之上。首先,kite 会索引你的代码库,学习函数常用方式。然后,在你调用函数时,Kite 建议该函数的代码段从而轻松补全。Kite 的自动补全依然为每个参数建议补充代码。

Intelligent Snippets 不只是节省了敲代码的时间,也能减少你查阅文档的次数。

支持全局与局部函数

下面的动图展示了开发者使用 Intelligent Snippets 快速调用 requests.post:

08244f01946510ae6b729b7fffedf373.gif

Intelligent Snippets 也支持自己定义的函数,如以下动图所示:

500cdc3b6fadd4a5529baf3a9ccf90e2.gif

官方表示,他们希望 Kite 能够在未来成为开发者和 AI 加持的代码工具的交互基石。他们希望 intelligent snippets 可以在补全函数命令之外有更多应用,比如补全 try/except 的代码块或者单元测试样例。

参考链接:https://kite.com/blog/product/announcing-intelligent-snippets-for-python/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/432637.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux workqueue工作原理

1. 什么是workqueue Linux中的Workqueue机制就是为了简化内核线程的创建。通过调用workqueue的接口就能创建内核线程。并且可以根据当前系统CPU的个数创建线程的数量,使得线程处理的事务能够并行化。workqueue是内核中实现简单而有效的机制,他显然…

微信获取token服务器处理,微信硬件平台(九) 自己的服务器从微信获取token并保存txt...

1安装crontab:yum install crontabs说明:service crond start //启动服务service crond stop //关闭服务service crond restart //重启服务service crond reload //重新载入配置查看crontab服务状态:service crond status手动启动crontab服务&#xff1a…

Tomcat项目部署过程中的问题

1.项目发布问题 将发布的war包放置在webapp下时,点击bin目录中的startup.bat时,出现黑框一闪, 采用cmd登录时出现 The JRE_HOME environment variable is not defined correctly 2.问题是环境变量没有配置好 下面进行系统的配置(前…

centos8 默认nginx路径_CentOS 8系统安装Nginx Web服务器及常见配置过程

Nginx是一种快速、轻量级的Web服务器,优势是Nginx的配置文件非常简单易用。它是Apache Web服务器的绝佳替代品。在本文中,惠主机将简单介绍如何在CentOS 8上安装Nginx Web服务器和常见基本配置过程。安装NginxNginx在CentOS 8的官方软件包存储库中可用。…

思科模拟服务器怎么写文件,思科模拟服务器配置教程

思科模拟服务器配置教程 内容精选换一换部署游戏应用前,您需要准备硬件以及华为云的环境,主要包括以下内容:硬件环境:您需要准备一台带有显卡的Windows机器,硬盘至少20G,用于运行游戏客户端。若您不需要运行…

vs2013编译osg缺少mfc120d.lib

因为MFC MBCS DLL缺少导致的,微软的解释如下(http://msdn.microsoft.com/en-us/library/dn251007.aspx): MFC libraries (DLLs) for multibyte character encoding (MBCS) are no longer included in Visual Studio, but are avai…

【转载】MongoDB 1000W级数据 Insert和Query和Delete性能测试

加索引测试: > db.users.getIndexes() [ { "name" : "_id_", "ns" : "test.users", "key" : { "_id" : …

名词解释说明用英语怎么说_“恍然大悟”用英语怎么说?

当我们对思考已久的事情,突然明白或醒悟时,可以说是“恍然大悟”了。那么问题来了,“恍然大悟”用英语该怎么说呢?① it occurs to me这是一个使用频率很高的表达,日常生活中经常会用到。在美剧《摩登家庭》中&#xf…

彩虹六号服务器显示,彩虹六号怎么看自己在什么服务器 | 手游网游页游攻略大全...

发布时间:2015-09-10在游戏中新手玩家要注意些什么呢?今天就为大家带来新手必看技巧汇总,一起来看看吧. 新手必看技巧大全: 1.开局遇到人别急着标记,尽量先找到目标位置 2.如果开局 ...标签:发布时间:2016-04-29彩虹六号:围攻 地图攻略 总统…

再次遇到谓词推入

explain plan for with aa as(select a.agmt_id,sum(c.acct_bal) as card_bal, --借记卡期末存款余额a.card_open_org,a.OPEN_DATE, -- 发卡日期 a.CARD_NEW_STATUS, -- 卡片状态 a.cust_magr, -- 客户经理号 a.cust_no, -- 客户号a.corp_orgfrom dwf.f_agt_cadb_book_…

OSG+VS2013+Win7 环境搭建,osgvs2013

最近在学习虚拟现实,要使用OpenSceneGraph(OSG),但是网上找不到VS2013的搭建教程,好烦。。。 只能自己在vs2010的基础上,修改一些bug,最后成功搭建。 步骤一:材料准备 a) Osg源码 当…

ShardedJedisPool 中可用连接数的小bug

ShardedJedisPool中,returnBrokenResource() 及 returnResource() ,为施放资源、关闭连接的方法,若重复调用,导致 _numActive 当前活动数一直递减,会出现负数的情况。 假如在一个方法中设置了三个jedis连接&#xff0c…

Linux设备树翻译计划

本文翻译自Device Tree Usage主页: http://devicetree.org/Device_Tree_Usage 此译文为本人原创,若要转载请注明!Linux device tree的背景(引用自宋宝华博客):Linus Torvalds在2011年3月17日的ARM Linux邮件…

像postman上传文件_90%的测试工程师是这样使用Postman做接口测试的……

postman介绍&测试准备postman介绍:postman是一个开源的接口测试工具,无论是做单个接口的测试还是整套测试脚本的拨测都非常方便。前期准备:测试前,需要安装好postman, 客户端版本跟插件版本都行,根据个人需要选择安…

浅析STL allocator

一般而言,我们习惯的 C 内存配置操作和释放操作是这样的: 1 class FOO{}; 2 FOO *pf new FOO; 3 delete pf; 我们看其中第二行和第三行,虽然都是只有一句,当是都完成了两个动作。但你 new 一个对象的时候两个动作是&#xff…

十六进制除法运算法则_苏教版数学七年级上册 微课视频 2.6 有理数的乘法与除法(1)...

第一章《数学与我们同行》视频讲解 同步练习2.1 《正数与负数》2.2 有理数与无理数2.3 数轴2.4 绝对值与相反数(1)2.4 绝对值与相反数(2)2.5 有理数的加法与减法(1)2.5 有理数的加法与减法(2)2.6 有理数的乘法与除法(1)七、有理数的乘除法1.有理数的乘法法则法则一&#xff1…

为自己尝试写点东西吧,程序员们!(转)

2012年秋季,正是大伙急于找实习工作的时候。尝试出去找过很多实习单位,但是基本上都是不靠谱,然后就是我自己能力的不足。所以找工作之路也是异常艰辛和曲折。 学了那么久的Java,做过那么多的小练习,但是说实话&#x…

a5d27 emmc启动 修改1

a5d27第1级bootloader是从sdhc0(emmc)加载还是从sdhc1(sd卡)加载, 只需要修改board/sama5d2_xplained文件即可 修改CONFIG_SDHC* y 这个宏定义在board/sama5d2_xplained.c中的void at91_sdhc_hw_init(void)函数实现 从上面代码可以看出第1级的bootloader只支持一…

矩阵每一行重复_【剑指offer】65 矩阵中的路径

- 题目描述请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一…

什么是单工、半双工和双工通信?有哪些实际应用的例子

根据数据信息在传输线上的传送方向,数据通信方式分为单工通信 半双工通信和全双工通信3种。 1)单工通信 数据信息在通信线上始终向一个方向传输。数据信息永远从发送端传输到接收端。列如,广播电视就是单工传输方式,收音机电视机只…