一個用Rust編寫的開源代碼編輯器-Zed:開箱即用的遠程協(xié)作編程能力
代碼編輯器已經(jīng)成為開發(fā)人員不可或缺的工具,使我們能夠高效地編寫、編輯和協(xié)作代碼。一個新的競爭者已經(jīng)出現(xiàn)并加入了代碼編輯器的競爭,它承諾徹底改變開發(fā)人員的工作方式 - Zed,一個完全用Rust編寫的多人代碼編輯器。
在本文中,我們將深入研究Zed代碼編輯器究竟是什么,它提供的特性以及它的協(xié)作功能。最后,我們將比較Zed和VS Code。讓我們開始吧。
Zed代碼編輯器是什么?
Zed是一個用Rust編寫的新的開源代碼編輯器,以其閃電般的快速性能和尖端的協(xié)作功能脫穎而出。它將自己定位為最快的代碼編輯器,并且擁有比VS code,Sublime Text和CLion等代碼編輯器更高的性能。
Zed速度快的核心在于其創(chuàng)新的基于gpu的用戶界面(GPUI)框架。這個GPUI框架利用現(xiàn)代圖形處理單元(GPUs)的力量來柵格化整個編輯器窗口,提供高層級的平滑性和響應(yīng)性。
關(guān)于Zed代碼編輯器需要注意的一點是,它不僅提供了更高的性能。還提供了豐富的協(xié)作編碼體驗,這在當(dāng)今遠程協(xié)作優(yōu)先的世界中是非常需要的。
圖片
Zed代碼編輯器的特性
讓我們來探索Zed提供的一些特性。
AI集成
以下是Zed的AI能力:
- GitHub Copilot支持:Copilot可以提供實時的基于人工智能的建議。
- Open AI LLM支持:Zed使用GPT模型作為其AI助手??梢蕴崾局謭?zhí)行各種任務(wù),如生成代碼、將代碼從一種語言轉(zhuǎn)換為另一種語言以及編寫文檔。
圖片
GPUI框架
如前所述,Zed編輯器速度的秘密在于其基于gpu的用戶界面(GPUI)框架。這個框架利用了一種新的方法來為應(yīng)用程序構(gòu)建2D用戶界面——比如代碼編輯器窗口。
使用GPUI,整個窗口——包括文本、圖形等——在圖形處理單元(GPU)上被柵格化或轉(zhuǎn)換為像素,GPU的設(shè)計目的是比cpu更有效地處理圖形渲染任務(wù)。
這種方法可以更快、更流暢地將像素傳遞到屏幕上,并可以更快地更新和重新繪制代碼編輯器的UI。
探索Zed的協(xié)作和結(jié)對編程能力
關(guān)于Zed的一個很酷的事情是,許多vscode提供的擴展功能都內(nèi)置在Zed中。協(xié)作功能就是一個例子。雖然協(xié)作和代碼共享可以通過微軟的Live Share擴展在VS code上實現(xiàn),但這是Zed的一個開箱即用的功能。
Zed的協(xié)作功能有:
- 添加合作者
- 與合作者共享項目
- 在編輯器上跟蹤合作者的活動
- 通過聊天和頻道與合作者交談
- 共享屏幕
讓我們詳細探討一下這些特性。
添加合作者
與他人合作的第一步是將他們添加為聯(lián)系人。在將某人添加為聯(lián)系人之前,他們必須用他們的GitHub賬號登錄編輯器。這是必要的,因為將使用他們的GitHub用戶名搜索聯(lián)系人。
圖片
共享項目
添加聯(lián)系人后,就可以通過單擊聯(lián)系人進行呼叫。聯(lián)系人一旦接受呼叫并加入,項目就被共享了。
確保只與信任的人協(xié)作和共享項目,因為共享項目將使他們能夠訪問你的本地文件系統(tǒng)。
圖片
在下面的截圖中,可以在左上角看到用戶圖標(biāo),協(xié)作側(cè)邊欄面板顯示協(xié)作中的不同人員:
圖片
合作者跟蹤
Zed的多光標(biāo)編輯經(jīng)驗可以讓你通過他們的光標(biāo)和頭像來跟蹤合作者。當(dāng)多個開發(fā)人員同時在一個項目上工作時,這尤其有用,因為它使你能夠一目了然地知道誰在做什么:
聊天和頻道
Zed提供的另一個協(xié)作特性是聊天功能。可以在代碼編輯器中與合作者進行討論。聊天還帶有音頻功能,允許你與他人進行語音通話。
然后是Zed的頻道,這些類似于Slack頻道,充當(dāng)團隊的虛擬辦公室??梢詾椴煌闹黝}設(shè)置頻道,查看每個頻道上都有誰,與他們聊天,甚至為頻道創(chuàng)建共享筆記。
圖片
請注意,頻道功能目前是免費的。然而,Zed團隊打算在測試期后將其變成付費功能。
屏幕共享
Zed還允許你與他人共享屏幕。多虧了這個功能,你不再需要離開你的編輯器,跳上QQ會議、Zoom或Teams。相反,你可以直接在編輯器中與隊友協(xié)作:
圖片
Zed與VS Code比較
擴展性
Zed最近推出了對其擴展注冊表的支持。在此發(fā)布之前,插件和擴展在Zed上是不可用的。但是,通過這次發(fā)布,開發(fā)人員現(xiàn)在可以創(chuàng)建自己的擴展并與Zed用戶共享。
可以通過在命令面板中運行zed: extensions來瀏覽所有可用的擴展。
添加擴展對Zed的成功至關(guān)重要,并且有助于推廣。然而,要趕上擁有成千上萬擴展的VS Code,它還有很長的路要走。但無論如何,Zed走在正確的道路上。
主題
Zed和VS Code都提供了光明和黑暗的主題。Zed不允許創(chuàng)建自己的主題,而VS Code允許用戶創(chuàng)建主題,甚至通過擴展市場與他人共享。
Zed目前提供九組主題,而在VS Code的擴展市場中有數(shù)百個主題可供選擇。
盡管Zed提供的主題比VS Code少,但它確實提供了各種各樣的淺色和深色主題。所以,這不應(yīng)該是一個做選擇的主要原因,除非你是一個經(jīng)常改變主題的人,并且希望有更多的選擇。
用戶體驗
- 在用戶體驗方面,Zed和VS Code有一些顯著的區(qū)別:
- VS Code允許將編輯器選項卡從當(dāng)前窗口拖到新窗口中,而Zed不允許。
- 在VS Code中,當(dāng)放大時,它會放大整個UI。但是,Zed只放大編輯器,而界面的其余部分(側(cè)邊欄和終端)保持默認的縮放級別。
在使用Zed時,當(dāng)點擊文件樹中的圖像時,系統(tǒng)沒有響應(yīng)。而在VS Code中點擊一個圖像時,它會在一個新的選項卡中打開這個圖像,讓你看到它。
性能
Zed團隊的數(shù)據(jù)顯示,Zed代碼編輯器提供了比VS code更好的性能。事實上,Zed的速度是其他編輯器的8倍。有些人可能會爭辯說,速度和響應(yīng)時間的這種輕微改進對于人眼和普通用戶來說是微不足道的。
圖片
協(xié)作能力
Zed和VS Code都提供了協(xié)作功能,使開發(fā)團隊能夠遠程協(xié)作。就協(xié)作而言,Zed和VS Code之間有兩個主要區(qū)別:
- Zed的協(xié)作特性是內(nèi)置的,而VS Code依賴于Live Share擴展進行協(xié)作。
- Zed提供音頻通話、聊天服務(wù)器和屏幕共享功能,而VS Code沒有。
雖然這兩種代碼編輯器都提供了協(xié)作工具,但Zed的代碼編輯器是內(nèi)置的,而且功能更多。