ZED stellt Java-Extension zur Verfügung

3 Minuten zum lesen

Seit wenigen Tagen steht die Extension Java with Eclipse JDTLS für den OpenSource Editor ZED zur Verfügung.

ZED Editor

Ich beobachte die Entwicklung dieser neuen, vielversprechenden IDE bereits seit einiger Zeit. Mit der neuen Extension kann ich auch für die Java-Entwicklung auf ZED zurück greifen. Noch reicht der Funktionsumfang der Extension nicht an die Funktionalität von entsprechenden Extension for Visual Studio Code oder ausgewachsenen Java IDEs wie IntelliJ oder Eclipse heran. Für die erste veröffentlichte Version funktioniert aber bereits mehr als ich vermutet hatte.

Was ist ZED?

ZED ist ein neuer Editor / IDE für die Entwicklung von Software. Der Editor wird vom Unternehmen ZED Industries entwickelt. Die Software wurde am 24.01.2024 unter OpenSource (GPL) zur Verfügung gestellt. Davor war die Software Closed Source. Derzeit steht nur eine Version für macOS zur Verfügung. Die Unterstützung anderer Plattformen ist allerdings geplant.

Die Macher stellen heraus, dass der Editor für hohe Performance konzipiert worden ist. Durch die eigens erstellte Library GPUI wird zum Rendering des Texte die GPU statt die CPU verwendet. Auch sonst nutzt der in der Programmiersrpache Rust entwickelt Editor so viel Cores wie möglich, um schnelle Antwortzeiten zu ermöglichen.

Über einen integrierten Chat können mehrere Entwickler:innen gleichzeitig am Code arbeiten. Wer möchte kann ChatGPT von OpenAI mittels seines eigenen OpenAI API keys integrieren.

Für mich besonders angenehm ist der fest in die Software integrierte VIM Modus. Somit entfällt die Suche nach einer entsprechenden Extension. Auch gibt es so weniger Kollisionen zwischen VIM Funktionen und evtl. Short-Cuts.

ZED kann als Nachfolger von Atom gesehen werden. Viele Mitglieder des Teams rund um ZED waren auch an der Entwicklung des Atom Editors von GitHub beteiligt. Es ist somit einiges Wissen rund um die Entwicklung von Editoren vorhanden.

Seit der Freigabe des Codes als OpenSource werden immer mehr Exension veröffentlicht. Auch liest man immer wieder von neuen Entwickler:innen auf dem Projekt bei GitHub. Somit hat sie der OpenSource Schritt mehr als positiv für die Entwicklung des Editors ausgewirkt.

Ein ausführlicher Bericht über den Editor finden sich bei heise.de: Sourcecode-Editor Zed: Erfahrungen aus einem Jahr mit einem Underdog

Funktionsumfang der Extension

Die Extension zur Unterstützung der Programmiersprache Java wurde erst vor wenigen Tagen veröffentlicht. Noch sind nicht alle (notwendigen) Funktionen enthalten. Es geht aber schon recht viel.

Die Extension nutzt den von Visual Studio Code verwendeten Language Server, der auf dem Eclipse JDT aufbaut. Damit profitiert die Extension von der langjährigen Erfahrung von Eclipse. Durch die Nutzung des Language Servers fällt der notwendige Code recht gering aus. Einzig für das Syntax Highlightning enthält die Extension entsprechende Definitionen für ZED.

Es funktioniert für das tägliche Arbeiten bereits sehr viel:

  • Erkennen von Syntax-Fehlern mit Vorschlägen zur Behebung

  • Erstellen von import Statements für Typen

  • Organisieren von Imports

  • Code-Vervollständigung

  • Anzeige von JavDoc für Klassen und Methoden

  • einfache Refactorings

Die gesamte Funktionalität wird vom Language Server zur Verfügung gestellt, dessen Integration in ZED ohne Probleme verläuft.

Was noch fehlt?

Grundsätzlich kann ZED aber noch nicht als "vollständige" IDE eingesetzt werden. Dazu fehlen dem Projekt noch grundlegende Funktionen, die sich in Konzeption bzw. Entwicklung befinden.

So gibt es noch keine Unterstützung zur Ausführung von Programmen oder Unit-Tests. Das kann derzeit nur durch direkte Kommandos im integrierten Terminal erfolgen. Gerade das Ausführen von Unit-Tests ist dadurch recht umständlich.

Genausowenig wird derzeit das Debugging untersützt. Diese Funktion befindet sich in Diskussion. Es ist nicht abzuschätzen ob und wenn ja in welcher Form das in Zukunft erfolgen wird.

Die Informationen aus der pom.xml eines Maven Projekts werden gelesen und verwendet. Somit werden auch in Maven definierte Dependencies erkannt und können beim Bearbeiten von Java Code verwendet werden. Es gibt aber keine direkte Intregration in ZED um Maven Befehle auszuführen.

Fazit

Alles in Allem bin ich mit der ersten veröffentlichten Version der Extension recht zufrieden. Ich habe damit schon etwas Code geschrieben und freue mich auf zukünftige Versionen mit weiterm Funtkionsumfangs.

Einige Dinge müssen aber erst von ZED selbst unterstüzt werden. Daher wird es sicherlich noch einige Zeit dauern, bis ich ZED als Alternative zu Visual Studio Code nutzen kann.

Ich finde es aber gut, wenn ein weiterer "PLayer" auf dem Markt erscheint. Ich selbst würde mich freuen, wenn ich irgendwann einmal mit dem wirklich sehr flotten und minimalistisch gestalteten Editor arbeiten könnte.