作者丨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。」
圖片
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中文網其他相關文章!