新版 Kite:實時補全代碼,Python 之父都發聲力挺

雷鋒網 AI 開發者按:不久前,一個免費的專門針對 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 之父都发声力挺

https://kite.com/ref/eesWDmm

Kite 博客:

https://kite.com/blog/product/announcing-intelligent-snippets-for-python/

更多信息:

https://www.kdnuggets.com/2019/11/top-machine-learning-software-developers.html

雷鋒網 AI 開發者


分享到:


相關文章: