Die Quelltexte des Mehrbenutzer-Code-Editors Zed wurden veröffentlicht, der unter der Leitung von Nathan Sobo, dem Schöpfer des Atom-Projekts (Basis für VS Code), mit Hilfe eines Teams ehemaliger Entwickler des Atom-Editors, der Electron-Plattform und der Tree-sitter-Syntax-Parser-Bibliothek weiterentwickelt wird. Die Quelltexte des Serverteils, der die Koordination der Mehrbenutzeredition ermöglicht, stehen unter der AGPLv3-Lizenz, während der Editor selbst unter der GPLv3-Lizenz veröffentlicht wurde. Für die Benutzeroberfläche wird die hauseigene Bibliothek GPUI verwendet, die unter der Apache 2.0-Lizenz veröffentlicht ist. Der Code des Projekts wird in der Programmiersprache Rust entwickelt. Aktuell wird nur macOS unterstützt (Unterstützung für Linux, Windows und das Web ist in Arbeit).
Der Zed-Editor hebt sich durch seine Ausrichtung auf die Organisation der Zusammenarbeit in Echtzeit hervor und strebt nach maximaler Raffinesse, Leistung und Reaktionsfähigkeit der Benutzeroberfläche. Das Konzept der Projektentwickler sieht vor, dass alle Aktionen während der Bearbeitung sofort ausgeführt werden und Programmieraufgaben auf die effizienteste Weise gelöst werden. Mit Zed wurde der Versuch unternommen, einen leichten Editor mit der Funktionalität moderner integrierter Entwicklungsumgebungen zu kombinieren. Bei der Entwicklung von Zed wurde die Erfahrung aus der Erstellung von Atom berücksichtigt, und es wurden Bestrebungen unternommen, einige neue Ideen darüber umzusetzen, wie der ideale Editor für Programmierer aussehen sollte.
Die hohe Leistung von Zed wird durch die aktive Nutzung von Multithreading erreicht, wobei alle verfügbaren CPU-Kerne verwendet werden, und durch die Durchführung der Fenster-Rasterisierung auf der GPU. Dadurch konnte eine sehr hohe Reaktionsgeschwindigkeit auf Tasteneingaben erzielt werden, mit der Anzeige des Ergebnisses bereits im nächsten Bildschirmaktualisierungszyklus. In durchgeführten Tests wurde die Reaktionszeit auf die Tasteneingabe in Zed auf 58 ms geschätzt, im Vergleich dazu beträgt dieser Wert in Sublime Text 4 75 ms, in CLion 83 ms und in VS Code 97 ms. Die Startzeit von Zed wurde auf 338 ms geschätzt, Sublime Text 4 auf 381 ms, VS Code auf 1444 ms und CLion auf 3001 ms. Der Speicherverbrauch von Zed betrug 257 MB, Sublime Text 4 219 MB, VS Code 556 MB und CLion 1536 MB.
Zu den Funktionen von Zed gehören:
- Berücksichtigung des vollständigen syntaktischen Baums verschiedener Programmiersprachen zur korrekten Syntaxhervorhebung, Autoformatierung, strukturellen Auszeichnung und kontextbezogenen Suche;
- Unterstützung für den Zugriff auf LSP-Server (Language Server Protocol) für Autovervollständigung, Code-Navigation, Fehlerdiagnose und Refactoring.
- Die Möglichkeit, Designs anzupassen und zu ändern. Es gibt helle und dunkle Themes.
- Standardmäßig verwendete Tastenkombinationen von VS Code. Optionale Kompatibilitätsmodi für Tastenkombinationen und Befehle von Vim.
- Unterstützung für die Integration mit GitHub Copilot zur Unterstützung beim Schreiben und Refactoring von Code.
- Integrierter Terminal-Emulator.
- Gemeinsame Navigation im Code und gleichzeitige Bearbeitung des Codes durch mehrere Entwickler in einem gemeinsamen Arbeitsbereich.
- Ein Tool für die gemeinsame Diskussion und Planung von Teamaufgaben. Unterstützung bei der Aufgabenverwaltung, Notizerstellung und Projektverfolgung sowie Text- und Sprachchat.
- Die Möglichkeit, von jedem Computer aus an einem Projekt zu arbeiten, ohne an lokale Daten gebunden zu sein. Die Zusammenarbeit an externen Projekten erfolgt analog zur Arbeit mit lokalem Code.

Um die Arbeit des Zed-Entwicklungsteams in Vollzeit zu finanzieren, plant das Projekt weiterhin ein Geschäftsmodell, das auf der Bereitstellung zusätzlicher kostenpflichtiger Dienste basiert. Der erste dieser Dienste wird „Zed Channels“ sein, das ein virtuelles Büro für die Organisation der Arbeit von Entwicklerteams in großen Projekten implementiert. Damit können mehrere Entwickler zusammenarbeiten, mit anderen Teilnehmern interagieren und gemeinsam Code schreiben. Auf der Grundlage von Zed Channels wurde die Initiative Fireside Hacks gestartet, bei der jeder Interessierte in Echtzeit die Entwicklung von Zen verfolgen kann. In Zukunft wird auch ein Dienst mit einem eigenen intelligenten Helfer im Stil von GitHub Copilot geplant, und möglicherweise werden kostenpflichtige spezialisierte Erweiterungen angeboten, die die Besonderheiten der Entwicklung von kommerziellen Produkten und deren Nutzung in Unternehmen berücksichtigen.

Quelle: opennet.ru
