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