AI加持,Kite增加智慧程式碼補全功能:減少一半操作,實時補全
- 2019 年 10 月 5 日
- 筆記
機器之心報道
機器之心編輯部
程式碼補全工具 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 可以解決什麼問題
傳統上,我們可以創建一些程式碼塊,然後在需要的時候直接調用並修改這個片段。一般而言,這種程式碼塊都是開發者事前手動定義的,它們都是靜態的,並不會隨著開發者的編寫過程而改變。因此,模板式的程式碼塊限制了程式碼模式的多樣性。
例如在下面動圖中,開發者使用程式碼塊來插入定義函數的主要結構,然後再修改參數與子語句完成特定的函數。

Kite 的 Intelligent Snippets 引擎能根據我們正在使用的程式碼動態地生成程式碼片段,它能自動地檢查我們程式碼庫中最一般的模式,並建議我們在寫程式碼時使用這些模式。下面的動圖展示了這一新特性,它會預測一些常用的編程模式。

如何構建 Intelligent Snippets
Intelligent Snippets 建立在 Kite 程式碼補全核心程式碼引擎之上。首先,kite 會索引你的程式碼庫,學習函數常用方式。然後,在你調用函數時,Kite 建議該函數的程式碼段從而輕鬆補全。Kite 的自動補全依然為每個參數建議補充程式碼。
Intelligent Snippets 不只是節省了敲程式碼的時間,也能減少你查閱文檔的次數。
支援全局與局部函數
下面的動圖展示了開發者使用 Intelligent Snippets 快速調用 requests.post:

Intelligent Snippets 也支援自己定義的函數,如以下動圖所示:

官方表示,他們希望 Kite 能夠在未來成為開發者和 AI 加持的程式碼工具的交互基石。他們希望 intelligent snippets 可以在補全函數命令之外有更多應用,比如補全 try/except 的程式碼塊或者單元測試樣例。
參考鏈接:https://kite.com/blog/product/announcing-intelligent-snippets-for-python/
本文為機器之心報道,轉載請聯繫本公眾號獲得授權。