AI加持,Kite增加智能代碼補全功能:減少一半操作,實時補全
代碼補全工具 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 的代碼塊或者單元測試樣例。