Oznámený open source editor kódu pre viacerých používateľov Zed, vyvinutý pod vedením Nathana Sobo, autora projektu Atom (základ VS Code) za účasti tímu bývalých vývojárov editora Atom, Electron. platforma a knižnica analýzy Tree-sitter. Zdrojový kód serverovej časti, ktorá koordinuje úpravy pre viacerých používateľov, je otvorený pod licenciou AGPLv3 a samotný editor je otvorený pod licenciou GPLv3. Na vytvorenie používateľského rozhrania slúži naša vlastná knižnica GPUI, otvorená pod licenciou Apache 2.0. Kód projektu je vyvinutý v jazyku Rust. Z platforiem je momentálne podporovaný iba macOS (podpora pre Linux, Windows a Web je vo vývoji).
Editor Zed je pozoruhodný tým, že sa zameriava na organizovanie kolaboratívneho vývoja v reálnom čase a na dosiahnutie maximálnej prepracovanosti, produktivity a odozvy rozhrania, v ktorom by sa podľa tvorcov projektu mali všetky editačné akcie vykonávať okamžite a úlohy kódovania by mali byť vyriešiť čo najefektívnejším spôsobom. Zed sa pokúša spojiť ľahký editor a funkčnosť moderných integrovaných vývojových prostredí do jedného produktu. Pri vývoji Zed sa brali do úvahy skúsenosti s vytváraním Atomu a bol urobený pokus o implementáciu niekoľkých nových nápadov o tom, ako by mal vyzerať ideálny editor pre programátora.
Vysoký výkon Zed je dosiahnutý aktívnym využitím multithreadingu s využitím všetkých dostupných jadier CPU, ako aj rasterizáciou okien na strane GPU. V dôsledku toho sa nám podarilo dosiahnuť veľmi vysokú mieru odozvy na stlačenie klávesov s výsledkom zobrazeným už v nasledujúcom cykle aktualizácie obrazovky. V vykonaných testoch sa čas odozvy na stlačenie klávesu v Zed odhaduje na 58 ms, pre porovnanie v Sublime Text 4 je to 75 ms, v CLion - 83 ms a vo VS Code - 97 ms. Čas spustenia pre Zed sa odhaduje na 338 ms, Sublime Text 4 - 381 ms, VS Code - 1444 ms, CLion - 3001 ms. Spotreba pamäte bola 257 MB pre Zed, 4 MB pre Sublime Text 219, 556 MB pre VS Code a 1536 MB pre CLion.
Funkcie Zed zahŕňajú:
- Berúc do úvahy úplný strom syntaxe rôznych programovacích jazykov pre správne zvýrazňovanie syntaxe, automatické formátovanie, štrukturálne zvýrazňovanie a kontextové vyhľadávanie;
- Podpora volania serverov LSP (Language Server Protocol) na automatické dopĺňanie, navigáciu v kóde, diagnostiku chýb a refaktoring.
- Schopnosť spájať a meniť témy. Dostupnosť svetlých a tmavých tém.
- Používanie predvolených klávesových skratiek VS Code. Voliteľný režim kompatibility s klávesovými skratkami a príkazmi Vim.
- Podporuje integráciu s GitHub Copilot, ktorá vám pomôže písať a refaktorovať váš kód.
- Integrovaný emulátor terminálu.
- Spoločná navigácia a úprava kódu viacerými vývojármi v jednom zdieľanom pracovnom priestore.
- Nástroje na spoločnú diskusiu a plánovanie práce v tíme. Podporuje správu úloh, písanie poznámok a sledovanie projektov, textový a hlasový chat.
- Možnosť pripojiť sa k práci na projekte z akéhokoľvek počítača bez toho, aby ste boli viazaní na údaje v lokálnom systéme. Práca s externými projektmi sa vykonáva rovnakým spôsobom ako práca s kódom umiestneným na lokálnom počítači.
Na financovanie práce vývojového tímu Zed na plný úväzok má projekt v úmysle naďalej využívať obchodný model založený na poskytovaní doplnkových platených služieb. Prvou z týchto služieb budú „Zed Channels“ s implementáciou virtuálnej kancelárie na organizáciu práce vývojových tímov vo veľkých projektoch, ktorá umožní viacerým vývojárom spolupracovať, komunikovať s ostatnými účastníkmi a spoločne písať kód. Na základe Zed Channels bola spustená iniciatíva Fireside Hacks, v rámci ktorej môže ktokoľvek sledovať vývoj samotného Zenu v reálnom čase. V budúcnosti sa plánuje aj poskytovanie služby s vlastným inteligentným asistentom v štýle GitHub Copilot a prípadne implementácia platených špecializovaných doplnkov, ktoré zohľadňujú špecifiká vývoja komerčných produktov a využitia v podnikoch.
Zdroj: opennet.ru