新版Kite:實(shí)時(shí)補(bǔ)全代碼,Python之父都發(fā)聲力挺!
本文轉(zhuǎn)自雷鋒網(wǎng),如需轉(zhuǎn)載請(qǐng)至雷鋒網(wǎng)官網(wǎng)申請(qǐng)授權(quán)。
不久前,一個(gè)免費(fèi)的專門針對(duì) Python 的代碼補(bǔ)全工具 Kite,有了新的動(dòng)態(tài)。這次,Kite 開(kāi)發(fā)者在之前的基礎(chǔ)上,增加了「Intelligent Snippets」功能。它可以幫助廣大開(kāi)發(fā)者在敲代碼時(shí),實(shí)時(shí)生成與上下文相關(guān)的代碼片段。
這不僅大大提高了代碼敲寫效率,同時(shí)也讓開(kāi)發(fā)者能更輕松地完成更復(fù)雜、更多字符的代碼語(yǔ)句。Python 之父 Guido van Rossum 用后,也發(fā)出了「really love」感嘆,向大家墻裂推薦了這一高效工具。那么,這一工具到底效果如何?雷鋒網(wǎng) AI 開(kāi)發(fā)者帶大家一探究竟~
新版 Kite 好在哪兒?
更智能的代碼補(bǔ)全
據(jù)官方介紹,本次更新的「Intelligent Snippets」功能,旨在給予開(kāi)發(fā)者更加完美的敲代碼體驗(yàn)。
在這之前,大部分開(kāi)發(fā)人員會(huì)選擇靜態(tài)自動(dòng)補(bǔ)全代碼方式,作為提高在 Python 中調(diào)用函數(shù)效率的解決方案。但這一方法也有局限,它無(wú)法隨開(kāi)發(fā)者編寫過(guò)程而自動(dòng)適應(yīng),需要手動(dòng)修改參數(shù)和子語(yǔ)句。
例如,下圖展示了開(kāi)發(fā)人員使用代碼片段插入函數(shù)定義的結(jié)構(gòu),然后填充函數(shù)的其余部分。
而新版 Kite 的「Intelligent Snippets」是基于 Kite 在代碼庫(kù)中找到的代碼模式實(shí)時(shí)生成。該引擎可以根據(jù)正在使用的代碼動(dòng)態(tài)生成片段,它會(huì)自動(dòng)檢測(cè)代碼庫(kù)中開(kāi)發(fā)者所使用的常見(jiàn)模式,并在編寫代碼時(shí)建議使用相關(guān)模式。從下面的示例我們可以看到,它能有效預(yù)測(cè)一些常用編輯模式:
更全面的函數(shù)支持
Intelligent Snippets 構(gòu)建在 Kite 代碼補(bǔ)全核心代碼引擎上。Kite 首先會(huì)索引開(kāi)發(fā)者的代碼庫(kù),并學(xué)習(xí)函數(shù)常用模式。然后,當(dāng)開(kāi)發(fā)者調(diào)用函數(shù)時(shí),Kite 會(huì)為該函數(shù)提供一些片段,以補(bǔ)全該部分代碼。Kite 的自動(dòng)補(bǔ)全功能仍然為每個(gè)參數(shù)提供補(bǔ)充代碼的建議。
Intelligent Snippets 不僅可以節(jié)省編寫代碼的時(shí)間,還可以減少開(kāi)發(fā)者查找文檔的次數(shù)。
下面的視頻顯示開(kāi)發(fā)人員使用 Intelligent Snippets 快速調(diào)用 requests.post:
Intelligent Snippets 也適用于自定義的函數(shù),如下圖中所示:
更高的編寫效率
從官網(wǎng)的演示來(lái)看,我們會(huì)發(fā)現(xiàn)通過(guò)使用 Kite 后,該工具不光能夠幫助開(kāi)發(fā)者減少敲代碼的次數(shù),也可以有效提高編寫速率。在下面這個(gè)例子中,同一段代碼,使用 Kite 后能夠有效減少 47% 的敲擊次數(shù)。
除此之外,新版 Kite 還支持一鍵檢索功能,只需點(diǎn)擊代碼即可查閱對(duì)應(yīng)的文檔。其中,包含了 800 多個(gè) python 庫(kù)和代碼 Demo。
更多編輯器支持
新版 Kite 除了支持之前的 Windows、Mac、Linux 編輯器之外,還支持了更多編輯器,而且更多語(yǔ)言正在擴(kuò)展中。 新增支持編輯器如下:
-
Atom
-
PyCharm
-
Sublime
-
VS Code
-
Vim
-
IntelliJ
其它代碼補(bǔ)全工具
當(dāng)然,除了 Kite 之外,目前討論較多的代碼補(bǔ)全工具還有被稱作「程序員的殺手級(jí)應(yīng)用」TabNine;將深度學(xué)習(xí)應(yīng)用于代碼補(bǔ)全的 aiXcoder 等。
從一些網(wǎng)友的評(píng)價(jià)來(lái)看,對(duì)這幾款工具的評(píng)價(jià)也是褒貶不一,小編選取了幾個(gè)有趣的評(píng)論,并將其主要優(yōu)缺點(diǎn)對(duì)比及工具下載地址整理如下~
-
新版 Kite
優(yōu)點(diǎn):代碼補(bǔ)全更智能、高效
缺點(diǎn):只支持 python 語(yǔ)言
下載地址:https://kite.com/download/
-
TabNine
優(yōu)點(diǎn):功能強(qiáng)大,支持度廣泛
缺點(diǎn):cpu 消耗大,笨重
下載地址:https://tabnine.com/blog/deep
-
aiXcoder
優(yōu)點(diǎn):一鍵輸入整行代碼,敲代碼不存在的
缺點(diǎn):需上傳代碼
下載地址:https://aixcoder.com/#/
當(dāng)然,還有很多其它同類型的工具沒(méi)能在此一一列舉,這些優(yōu)缺點(diǎn)也僅供參考;因?yàn)椴煌娜耸褂迷擃惞ぞ叩挠猛尽⒘?xí)慣都不一樣,找到適合自己的工具就好~