第九十七期:新版Kite:实时补全代码,Python之父都发声力挺!

不久前,一个免费的专门针对 Python 的代码补全工具 Kite,有了新的动态。

作者:杨鲤萍

本文转自雷锋网,如需转载请至雷锋网官网申请授权。

不久前,一个免费的专门针对 Python 的代码补全工具 Kite,有了新的动态。这次,Kite 开发者在之前的基础上,增加了「Intelligent Snippets」功能。它可以帮助广大开发者在敲代码时,实时生成与上下文相关的代码片段。

这不仅大大提高了代码敲写效率,同时也让开发者能更轻松地完成更复杂、更多字符的代码语句。Python 之父 Guido van Rossum 用后,也发出了「really love」感叹,向大家墙裂推荐了这一高效工具。那么,这一工具到底效果如何?雷锋网 AI 开发者带大家一探究竟~

新版 Kite:实时补全代码,Python 之父都发声力挺

新版 Kite 好在哪儿?

更智能的代码补全

据官方介绍,本次更新的「Intelligent Snippets」功能,旨在给予开发者更加完美的敲代码体验。

在这之前,大部分开发人员会选择静态自动补全代码方式,作为提高在 Python 中调用函数效率的解决方案。但这一方法也有局限,它无法随开发者编写过程而自动适应,需要手动修改参数和子语句。

例如,下图展示了开发人员使用代码片段插入函数定义的结构,然后填充函数的其余部分。

新版 Kite:实时补全代码,Python 之父都发声力挺

而新版 Kite 的「Intelligent Snippets」是基于 Kite 在代码库中找到的代码模式实时生成。该引擎可以根据正在使用的代码动态生成片段,它会自动检测代码库中开发者所使用的常见模式,并在编写代码时建议使用相关模式。从下面的示例我们可以看到,它能有效预测一些常用编辑模式:

新版 Kite:实时补全代码,Python 之父都发声力挺

更全面的函数支持

Intelligent Snippets 构建在 Kite 代码补全核心代码引擎上。Kite 首先会索引开发者的代码库,并学习函数常用模式。然后,当开发者调用函数时,Kite 会为该函数提供一些片段,以补全该部分代码。Kite 的自动补全功能仍然为每个参数提供补充代码的建议。

Intelligent Snippets 不仅可以节省编写代码的时间,还可以减少开发者查找文档的次数。

下面的视频显示开发人员使用 Intelligent Snippets 快速调用 requests.post:

新版 Kite:实时补全代码,Python 之父都发声力挺

Intelligent Snippets 也适用于自定义的函数,如下图中所示:

新版 Kite:实时补全代码,Python 之父都发声力挺

更高的编写效率

从官网的演示来看,我们会发现通过使用 Kite 后,该工具不光能够帮助开发者减少敲代码的次数,也可以有效提高编写速率。在下面这个例子中,同一段代码,使用 Kite 后能够有效减少 47% 的敲击次数。

新版 Kite:实时补全代码,Python 之父都发声力挺

除此之外,新版 Kite 还支持一键检索功能,只需点击代码即可查阅对应的文档。其中,包含了 800 多个 python 库和代码 Demo。

新版 Kite:实时补全代码,Python 之父都发声力挺

更多编辑器支持

新版 Kite 除了支持之前的 Windows、Mac、Linux 编辑器之外,还支持了更多编辑器,而且更多语言正在扩展中。 新增支持编辑器如下:

  • Atom

  • PyCharm

  • Sublime

  • VS Code

  • Vim

  • IntelliJ

其它代码补全工具

当然,除了 Kite 之外,目前讨论较多的代码补全工具还有被称作「程序员的杀手级应用」TabNine;将深度学习应用于代码补全的 aiXcoder 等。

从一些网友的评价来看,对这几款工具的评价也是褒贬不一,小编选取了几个有趣的评论,并将其主要优缺点对比及工具下载地址整理如下~

  • 新版 Kite

优点:代码补全更智能、高效

缺点:只支持 python 语言

下载地址:https://kite.com/download/

  • TabNine

优点:功能强大,支持度广泛

缺点:cpu 消耗大,笨重

新版 Kite:实时补全代码,Python 之父都发声力挺

下载地址:https://tabnine.com/blog/deep

  • aiXcoder

优点:一键输入整行代码,敲代码不存在的

缺点:需上传代码

下载地址:https://aixcoder.com/#/

当然,还有很多其它同类型的工具没能在此一一列举,这些优缺点也仅供参考;因为不同的人使用该类工具的用途、习惯都不一样,找到适合自己的工具就好~

新版 Kite:实时补全代码,Python 之父都发声力挺

阅读目录(置顶)(长期更新计算机领域知识)

阅读目录(置顶)(长期更新计算机领域知识)

阅读目录(置顶)(长期科技领域知识)

歌谣带你看java面试题

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

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

相关文章

svn 版本升级的问题

原创文章,转载请注明 svn本地版本由1.6升级到1.7后,再使用时遇到一些问题,这里记录一下以备忘。 升级后,使用任何命令 不能用了,提示的意思大致是本地的workcopy版本太低了(之前用1.6版本,check…

[JavaME]手机申请移动分配的动态IP(3)?

获取IP后是否可以和它通讯呢&#xff1f;<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />Hi&#xff0c;继续上回的讨论《[JavaME]手机是否能够申请到动态IP[2]?》。 上回说到申请动态IP是可以了&#xff0c;并且准备好了一个线…

第九十八期:TIOBE11月榜单:C、Swift、Go、D与Rust起起伏伏

TIOBE 指数并不代表语言的好坏&#xff0c;开发者可以使用该榜单检查自身的编程技能是否需要更新&#xff0c;或者在开始构建新软件时对某一语言做出选择。 作者&#xff1a;oschina TIOBE 公布了 11 月份编程语言排行榜。 本月前 20 名中有一些有趣的现象&#xff0c;先看看…

Vue 之 slot(插槽)

前言&#xff1a; vue中关于插槽的文档说明很短&#xff0c;语言又写的很凝练&#xff0c;再加上其和methods&#xff0c;data&#xff0c;computed等常用选项在使用频率、使用先后上的差别&#xff0c;这就有可能造成初次接触插槽的开发者容易产生“算了吧&#xff0c;回头再学…

第一百期:Java架构师:高并发下的流量控制

这个时候如果不做任何保护措施&#xff0c;服务器就会承受很大的处理压力&#xff0c;请求量很高&#xff0c;服务器负载也很高&#xff0c;并且当请求超过服务器承载极限的时候&#xff0c;系统就会崩溃&#xff0c;导致所有人都不能访问。 作者&#xff1a;IT技术分享 这个…

OpenCV学习笔记:矩阵的掩码操作

矩阵的掩码操作很简单。其思想是&#xff1a;根据掩码矩阵&#xff08;也称作核&#xff09;重新计算图像中每个像素的值。掩码矩阵中的值表示近邻像素值&#xff08;包括该像素自身的值&#xff09;对新像素值有多大影响。从数学观点看&#xff0c;我们用自己设置的权值&#…

spring mvc学习(15)Referenced file contains errors

SSM项目中出现Referenced file contains errors (http://www.springframework.org/schema/mvc/spring-mvc-3.0.xs 2019-01-20 22:37:06 薛定谔小猫Historia 阅读数 468更多 分类专栏&#xff1a; java及其框架学习 版权声明&#xff1a;本文为博主原创文章&#xff0c;遵循…

spring mvc学习(16)Could not publish server configuration for Tomcat v8.0 Server at localhost.

这个问题本质是我们有多个重名项目&#xff0c;为什么我们会有多个重名项目&#xff0c;其实一般都是我们删除以前的项目&#xff0c;然后再把它重新导进eclipse时以前的项目删除不彻底造成的&#xff0c;以前的项目在"Servers"里面的"server.xml"文件下的…

产品管理:启示录 - 特约客户、产品验证、原型测试

• 如何挑选有潜力的产品&#xff1f; • 如何证明产品设计符合用户需求&#xff1f; • 如何确认产品设计满足三个基本条件&#xff1f; • 如何运用敏捷方法管理产品&#xff1f; • …… 这是《启示录》上说的一些话&#xff0c;去年看了一下&#xff0c;和团队分享了其中几…

37. Sudoku Solver

文章目录1 题目理解2 回溯1 题目理解 Write a program to solve a Sudoku puzzle by filling the empty cells. A sudoku solution must satisfy all of the following rules: Each of the digits 1-9 must occur exactly once in each row. Each of the digits 1-9 must oc…

spring mvc学习(17)Intellij IDEA创建maven项目无java文件问题

1.解决之前项目结构如下&#xff1a; 2.选择File->Project Structure... 3.选择Modules选项卡下面的Sources项&#xff0c;在main文件夹上右键&#xff0c;选择New Folder...并点击OK   4.输入要创建的文件夹名称java&#xff0c;并点击OK继续 5.在创建好的java文件夹上右…

51. N-Queens

文章目录1 题目理解2 回溯2.1 直观解法2.2 按行遍历1 题目理解 The n-queens puzzle is the problem of placing n queens on an n x n chessboard such that no two queens attack each other. Given an integer n, return all distinct solutions to the n-queens puzzle. …

第一百零一期:如何处理ASP .NET Core中的cookie?

本文介绍了ASP.NET Core Web应用程序中利用cookie存储和检索针对特定用户的信息。 作者&#xff1a;布加迪编译 【51CTO.com快译】cookie是通常用于存储有关用户信息的一条数据&#xff0c;存储在用户的计算机上。在大多数浏览器中&#xff0c;每个cookie都存储为一个小文件&a…

第一百零二期:5G套餐到底该不该换?看完你就明白啦!

日前&#xff0c;三大运营商正式宣布5G商用&#xff0c;并公布了各自的5G资费套餐。毫无意外&#xff0c;正式公布出来的套餐内容&#xff0c;和之前运营商内部泄露的内容完全一致。 作者&#xff1a;小枣君 日前&#xff0c;三大运营商正式宣布5G商用&#xff0c;并公布了各自…

79. Word Search

文章目录1题目理解2 回溯3 212 word search II1题目理解 Given an m x n board and a word, find if the word exists in the grid. The word can be constructed from letters of sequentially adjacent cells, where “adjacent” cells are horizontally or vertically ne…

127. Word Ladder

文章目录1 题目理解2 BFS3 双向BFS1 题目理解 给定两个单词&#xff08;beginWord 和 endWord&#xff09;和一个字典&#xff0c;找到从 beginWord 到 endWord 的最短转换序列的长度。转换需遵循如下规则&#xff1a; 每次转换只能改变一个字母。 转换过程中的中间单词必须是…

第一百零三期:解读回归测试:类型、选择、挑战和实践

本文介绍了回归测试的基本概念、工作方式、面临的挑战、以及业界的优秀实践。 作者&#xff1a;陈峻编译 【51CTO.com快译】有研究表明&#xff1a;在安装了新的应用程序之后&#xff0c;只有四分之一的用户会在次日回到该应用。而大多数用户在首次使用之后就直接将其卸载掉了…

如何构建积木式Web应用

上下文基本上我们在儿童时代都玩过积木玩具。通过一块块的积木&#xff0c;再加上我们的想象力&#xff0c;就可以构造出非常多不同的风格的建筑。那么&#xff0c; 我们可不可以把这种搭积木的方式应用到我们的web应用上呢。问题web应用通过提供给用户一整套组件&#xff08;相…

第一百零四期:搞清这些陷阱,NULL和三值逻辑再也不作妖

NULL 用于表示缺失的值或遗漏的未知数据&#xff0c;不是某种具体类型的值。数据表中的 NULL 值表示该值所处的字段为空&#xff0c;值为 NULL 的字段没有值&#xff0c;尤其要明白的是&#xff1a;NULL 值与 0 或者空字符串是不同的。 作者&#xff1a;youzhibing2904 NULL …

spring mvc学习(19):cookievalue注解(显示cookie的值,默认必须有值)

目录结构 web.xml <?xml version"1.0" encoding"UTF-8"?> <web-app xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" xmlns"http://java.sun.com/xml/ns/javaee" xsi:schemaLocation"http://java.sun.com/xml…