給你的Vim加上自動程式設計功能

正在輸入程式碼……發表於2023-02-22

Vim 是高度可定製、可擴充套件的編輯器。這對熱愛折騰的程式設計師來說,絕對是一種樂趣,同時也是進一步提升開發效率的源泉。近期CodeGeeX舉辦的駭客松活動中,參賽選手Lance 提交了一款名叫Vim with CodeGeeX的作品,這款作品是基於CodeGeeX,全新打造了一個自己專屬的Vim開發環境,使Vim具備了自動程式設計的能力。眾多開發者看了之後,為其打上了“不可或缺的外掛”這一標籤。

CodeGeeX是中國版的Github Copilot,是完全開源開放的。目前主流的VSCode、Intellij 全家桶,也都支援/提供了 CodeGeeX Plugin,因此吸引了大量開發者的安裝使用。這次駭客松活動中,很多開發者也像Lance同學一樣,把CodeGeeX移植到自己熟悉的開發環境中,整合在自己的工作流裡,成為一件稱手的工具,實現高效程式設計。

下面我們詳細介紹 Lance 的 Vim with CodeGeeX 作品

不可或缺的外掛:Vim with CodeGeeX

Vim with CodeGeeX安裝使用
安裝依賴。本外掛基於coc.nvim開發,首先要安裝此依賴。coc.nvim安裝步驟可參考其官方倉庫:https://github.com/neoclide/coc.nvim
安裝外掛。將coc.nvim安裝完成後,開啟vim,輸入:進入命令模式,在命令模式下輸入命令列:CocInstall coc-codegeex,安裝本外掛。
file

啟動命令後,自動開始下載流程並執行安裝,顯示如下介面則表示安裝成功。
file

配置外掛。要使用CodeGeeX提供的服務,要配置相關的金鑰。在天啟平臺上https://tianqi.aminer.cn/open/ 註冊賬號並建立應用申請金鑰。並在vim中使用:CocConfig命令新增金鑰。
file

實踐小技巧
當前外掛提供了兩種能力。一是程式碼自動生成,根據vim當前所開啟檔案的內容自動補充程式碼。

以寫一個前n項和函式為例,開發者在編輯過程產生停頓時,外掛會根據當前檔案內容自動提示相關程式碼,開發者可透過方向鍵選擇合適的候選內容,Enter鍵確認輸入。
file

二是程式碼翻譯模式。首先需要在.vimrc檔案中配置快捷鍵,如下所示:
vmap (coc-codegeex-translate-keymap),此快捷鍵可根據個人vim配置修改。

當開發者在visual mode下選擇需要翻譯的程式碼塊,按ctrl l組合鍵觸發程式碼翻譯功能,並選擇目的碼的語言,外掛則新建buffer顯示翻譯之後的程式碼。
file

編輯器裡升級智慧程式設計體驗
將CodeGeeX整合到Vim中,為Vim使用者帶來現代化的智慧程式設計體驗,提升編碼效率。當前外掛處於開發階段,歡迎大家體驗~

有新的需求或發現其中的bug,可在GitHub Issue中反饋。程式碼倉庫地址:https://github.com/LanceZhu/coc-codegeex

讓你的Vim更順手,隨時起飛

根據 Stack Overflow 的開發者調查:2015 年程式設計師中最流行的編輯器是 Notepad++,Vim 的使用比例是 15.2%;2019 年最流行的開發環境變成了 Visual Studio Code,而Vim 的使用比例還保持在了 25.4%。

CodeGeeX是基於AI幫助開發者提高程式設計效率的外掛工具,透過你的註釋幫你生成適合的程式碼,或者基於你前面的程式碼給出下一行的建議,以及在不同語言的程式碼間精準翻譯,開發效率直接提升50%以上。

透過這次駭客松活動,很多CodeGeeX新的玩法在各位開發者的腦洞中誕生,不僅這次為Vim編輯器插上了自動程式設計這個翅膀,還有更多幫助開發者提高程式設計效率的功能和外掛即將上線。

關注並參與CodeGeeX駭客松,拒絕 Ctrl + C/V 工程師,現在升級開始做“Tab 一下程式碼生成” 的工程師吧。

Tips:CodeGeeX 駭客松活動還在進行中,國內首個圍繞「AI 程式碼生成」開展的駭客松賽事,歡迎更多開發者小夥伴一起參加。

本文由部落格一文多發平臺 OpenWrite 釋出!

相關文章