首頁 > 科技週邊 > 人工智慧 > 基於Rust的Zed編輯器已開源,內建對OpenAI和GitHub Copilot的支持

基於Rust的Zed編輯器已開源,內建對OpenAI和GitHub Copilot的支持

王林
發布: 2024-02-01 14:51:18
轉載
971 人瀏覽過

作者丨Tim Anderson

編譯丨諾亞

出品| 51CTO技術堆疊(微訊號:blog51cto)

Zed 編輯器項目目前仍處於預發布階段,已在AGPL、GPL 和Apache 許可下開源。此編輯器以高性能和多種AI輔助選擇為特色,但目前僅適用於Mac平台使用。

內森·索博(Nathan Sobo)在一篇文章中解釋道,Zed專案在GitHub上的程式碼庫中,編輯器部分採用了GPL許可,伺服器端元件則使用了AGPL許可證,而GPUI(GPU加速使用者介面)部分則採用了Apache 2.0許可。 GPUI是Zed團隊開發的一款Rust UI框架。這樣的許可證選擇能夠確保程式碼的開放性和可訪問性,使得Zed能夠在開源社群中廣泛使用和貢獻。

索博之前曾經創造了Atom編輯器和Electron框架。 Electron框架被全球最受歡迎的編輯器和輕量級IDE-VS Code所採用。 Electron使用Chromium瀏覽器元件和V8 JavaScript引擎構建,而Zed則有著截然不同的程式碼基礎,它是用Rust編寫並編譯成原生程式碼。

與擁有超過55,000個擴充插件的VS Code不同,Zed目前僅具備初步的插件模型,並未形成完整的擴展生態系統;其FAQ中指出,「在Zed開源之前我們不會添加插件系統,但一旦完成開源,我們將致力於擴展性功能的開發。」這表明未來不久將會在這方面有更多的工作進行。

得益於Rust的高效能以及缺乏插件,Zed運行速度極快,針對開發者對VS Code的最大痛點——性能問題提供了解決方案。

有開發者評論Zed新聞時表示:「VSCode對我來說總是感覺極其緩慢…VSCode在基本程式碼檢查和語法偵測方面的滯後讓我感到極度煩惱,最終不得不放棄使用它。」

另一位開發者則說:「對於那些還沒試過Zed的人來說,這是我25年開發生涯中第一次使用的不讓人分心的GUI編輯器。很難描述當我擺脫其他編輯器中的各種圖標、菜單、顏色等像聖誕樹般的場景時,我的專注度提高了多少。」

儘管Zed所提供的AI輔助功能在體驗上尚顯粗糙,但對於偏好最大程度控制的開發者而言可能會感到滿意。 Zed同時支援GitHub Copilot和OpenAI。

關於Copilot的集成,Zed團隊成員Mikayla Maki表示:「平衡其視覺和心理負擔至關重要,因為過於積極的Copilot可能適得其反,與現有如LSP自動補全等功能產生衝突。因此,我們引入了按語言禁用Copilot的設置,增加了75毫秒的文本建議延遲,並在出現衝突時優先考慮語言本身的LSP(語言伺服器協議)而非Copilot。」   

基于Rust的Zed编辑器已开源,内置对OpenAI和GitHub Copilot的支持圖片

Zed編輯器的OpenAI助理面板是一個高度可配置的獨特功能。開發者可以選擇模型類型,並且在任何時候,甚至在與AI對話過程中都可以更改模型。使用此功能需要擁有OpenAI帳號,並在Zed中配置API金鑰。這些密鑰是按照使用的令牌數量計費的,而Zed會始終顯示選定模型剩餘的令牌數。

與OpenAI大型語言模型的交互透過CMD-Enter提交,而不是僅使用Enter鍵,這樣做的目的是使其「盡可能接近常規編輯器的感覺,因此按Enter鍵只會插入新的一行」。這也意味著用戶很難意外消耗令牌。回應內容會即時返回,如果看起來沒有幫助,可以透過按下Escape鍵取消請求。

#

此外,Zed還具備內嵌助手功能,能夠查看周圍程式碼的上下文資訊。 Zed團隊的另一位成員Marshall Bowers曾發布過關於利用AI進行內聯文檔編寫以及​​將代碼從一個模板系統翻譯到另一個模板系統的案例,例如執行類似“使用auk的DSL方式重寫這段HTML ,就像上面的post_link函數那樣”的命令。他表示,在處理大部分模板程式碼時,最後都採用了AI協助完成。

根據路線圖規劃,未來Zed將支援無需OpenAI密鑰的AI輔助功能,同時提供終端中的內聯智慧輔助、簡化後的助手介面,以及讓AI能夠「在內聯狀態下存取緩衝區、檔案、LSP、終端提示字元等內容」。

除了缺乏擴充插件之外,Zed還有一些其他問題。目前,對於Rust、TypeScript和Python等語言的支援較好,許多其他語言部分支持,但也有一些語言,例如如Microsoft的C#,尚未得到任何支持,儘管功能描述中提到:「正在積極開發使Zed連接任意語言伺服器的能力」。

另一個問題是Zed目前僅限Mac平台使用。針對此問題有一個GitHub議題指出,計劃增加對其他平台的支援。路線圖中包含了Linux和Web端支援(Web端可能採用Rust可以編譯為目標的WebAssembly技術),但在撰寫本文時並未提及Windows平台,這暗示Windows版本的開發可能需要更多時間,或者使用者需透過Windows Subsystem for Linux(WSL)間接使用。

參考連結:https://devclass.com/2024/01/25/rust-based-zed-editor-now-open-source-with-built-in-support -for-openai-and-github-copilot/

以上是基於Rust的Zed編輯器已開源,內建對OpenAI和GitHub Copilot的支持的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:51cto.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板