放棄 VS Code:新代碼編輯器 Zed 的時(shí)代已經(jīng)到來
01 什么是Zed?
圖片
Zed 由 Nathan Sobo 和之前在 GitHub 上開發(fā) Atom 和 Tree-sitter 的團(tuán)隊(duì)開發(fā)。他們的目標(biāo)是創(chuàng)建一個(gè)快速、簡(jiǎn)單且用戶友好的代碼編輯器,以增強(qiáng)開發(fā)人員的編碼體驗(yàn)。以下是有關(guān) Zed 歷史的一些要點(diǎn):
- 起源:團(tuán)隊(duì)利用他們?cè)?GitHub 上使用 Atom 和 Tree-sitter 的經(jīng)驗(yàn),學(xué)習(xí)了很多關(guān)于為開發(fā)人員創(chuàng)建工具的知識(shí)。
- 目標(biāo):他們的主要目標(biāo)是通過使用 Rust 來提高速度、保持簡(jiǎn)單性、添加智能編碼工具并確保開發(fā)人員享受他們的工作,從而構(gòu)建完美的代碼編輯器。
- 現(xiàn)有選項(xiàng)面臨的挑戰(zhàn):他們發(fā)現(xiàn)其他流行的選項(xiàng)(例如 VS Code)太慢且太復(fù)雜,因此想要嘗試一些不同的東西。
- 發(fā)布和演變:Zed 于 2023 年作為封閉產(chǎn)品首次發(fā)布。然而,在 2024 年,他們決定將其開源,允許任何人根據(jù)用戶反饋幫助改進(jìn)它。
- 平臺(tái)可用性:目前,Zed 僅適用于 Mac 計(jì)算機(jī),但由于需求量大以及 Rust 與 Linux 的兼容性,他們計(jì)劃很快支持 Linux。
- 開源決策:開源 Zed 是一個(gè)重大決定。該團(tuán)隊(duì)相信與社區(qū)的合作將使 Zed 變得更好。
總體而言,Zed 代表了一種新的代碼編輯方法,專注于開發(fā)人員對(duì)速度、易用性和良好體驗(yàn)的需求。Zed 團(tuán)隊(duì)以 Rust 為基礎(chǔ),在對(duì)編碼的熱情驅(qū)動(dòng)下,旨在制定新標(biāo)準(zhǔn)。通過向社區(qū)開放,他們希望更多的人能夠?yàn)樽?Zed 變得更好做出貢獻(xiàn)。
02 技術(shù)特點(diǎn)
從技術(shù)角度來看,Zed 是一種使用 Rust 開發(fā)的新型編輯器。它能夠同時(shí)利用計(jì)算機(jī)的 CPU 和 GPU。這使得開發(fā)人員可以嘗試不同的“游戲”,或者用不同的語(yǔ)言進(jìn)行編碼,以解決從簡(jiǎn)單到復(fù)雜的問題。
對(duì)于一個(gè)簡(jiǎn)單的文本編輯器來說,這聽起來可能有點(diǎn)夸張,對(duì)吧?嗯,這就是它與其他編輯器的不同之處。通過啟用 GPU 和 CPU,Zed 確實(shí)比程序員通常使用的大多數(shù)主流文本編輯器(例如 VS Code 和 Sublime)更快。雖然它可能不如默認(rèn)的 vim 或 Neovim 那么快,但它肯定比 VS Code 更快并且使用更少的內(nèi)存。
對(duì)于程序員來說,這意味著整體性能的提升。
訪問計(jì)算機(jī)的 GPU 是 Zed 的一個(gè)顯著特征,但這并不是它與其他編輯器的唯一區(qū)別。
2.1 AI Development
借助 Zed,開發(fā)人員可以獲得強(qiáng)大的內(nèi)置工具,例如 GitHub Copilot 和 GPT-4。您只需按“Ctrl+Enter”即可使用 GPT-4 重構(gòu)代碼。
如果這有點(diǎn)挑戰(zhàn)性,您甚至可以用簡(jiǎn)單的英語(yǔ)或其他自然語(yǔ)言輸入命令并獲取相應(yīng)的源代碼。您還可以在面板中與助手聊天,而無需更改任務(wù),片刻之后,它將根據(jù)對(duì)話生成內(nèi)聯(lián)文本(就在源代碼中)。
所有這些人工智能功能都可以開箱即用,只需最少的配置和調(diào)整。
2.2 速度和性能
從技術(shù)上和實(shí)踐上來說,Zed 比任何其他文本編輯器都要快,這是通過利用 CPU 和 GPU 實(shí)現(xiàn)的。Zed 編輯器的行為類似于游戲窗口,其中文本編輯器元素的呈現(xiàn)方式與游戲元素類似。
圖片
這使得它比 Sublime Text 和 VS Code 更快。大多數(shù)文本編輯器在單個(gè)處理器上運(yùn)行,但 Zed 在 CPU 和 GPU 上運(yùn)行,使其速度更快、內(nèi)存效率更高。
2.3 代碼助手
Zed 在您鍵入時(shí)跟蹤您的代碼,支持語(yǔ)法突出顯示、自動(dòng)縮進(jìn)、可搜索大綱視圖和輕松的代碼選擇等功能。它還使用語(yǔ)言服務(wù)器協(xié)議 (LSP) 進(jìn)行通信,提供自動(dòng)完成建議、代碼導(dǎo)航、錯(cuò)誤檢查和代碼改進(jìn)。
2.4 與 Discord 和 Slack + Google Docs 集成
好吧,副標(biāo)題可能有點(diǎn)誤導(dǎo)。我的意思是,Zed 提供了 Discord 和 Slack 等集成渠道,讓您可以在會(huì)議期間與團(tuán)隊(duì)溝通并一起編寫代碼。
同樣,在 Discord 和 Slack 中,如果您想在編輯器之外執(zhí)行某些操作,您可以與其他人共享您的屏幕。
與單獨(dú)使用 VS Code 和 Discord 相比,優(yōu)點(diǎn)是您無需同時(shí)處理兩個(gè)不同的應(yīng)用程序。相反,您可以直接導(dǎo)航到需要顯示的代碼庫(kù),從而節(jié)省時(shí)間和精力。
借助 Zed,您可以跳轉(zhuǎn)到隊(duì)友的位置并跟蹤他們的代碼。然后,您可以切換角色,允許共享代碼的人跟隨審查代碼的人。這比搜索或?qū)Ш降教囟ㄐ懈菀住⒏旖荨?/p>
2.5 CRDT
CRDT(無沖突復(fù)制數(shù)據(jù)類型)是一種確保最終一致性的數(shù)據(jù)結(jié)構(gòu),允許數(shù)據(jù)在并發(fā)修改的情況下保持同步。
在 Zed 中,每個(gè)緩沖區(qū)默認(rèn)都是一個(gè) CRDT,為各種形式的協(xié)作提供了基礎(chǔ)。它們也是多線程架構(gòu)的重要組成部分,使 Zed 的使用更加愉快。
03 結(jié)論
Zed 仍在不斷發(fā)展,但它不僅僅是一個(gè)編輯器。它以其時(shí)尚的設(shè)計(jì)、對(duì)速度的關(guān)注以及對(duì)簡(jiǎn)化編碼體驗(yàn)的承諾展示了編程的未來。它可能會(huì)引起欣賞簡(jiǎn)單性和效率的開發(fā)人員的共鳴。
原文:https://levelup.gitconnected.com/ditch-vs-code-the-era-of-the-new-code-editor-zed-has-arrived-790f20c57980