Stiefel raus, Nikolaus

Neues von Theia: Die erweiterbare Open Source IDE erscheint als Beta

Dominik Mohilo

© Shutterstock.com / Standard Studio

Am 6. Dezember kommt der Nikolaus. Diesmal hat er für die braven Entwickler etwas Großes in seinem Sack, dann nämlich erscheint aller Voraussicht nach die Beta der Plattform Theia. Das Open Source Framework zum Erstellen eigener Desktop und Cloud IDEs erreicht damit einen wichtigen Meilenstein. Wir haben uns angesehen, wie der Stand der Dinge ist.

Im Mai dieses Jahres ging Sven Efftinge, Mitgründer von TypeFox, mit der Vorstellung der Theia IDE an die Öffentlichkeit (JAXenter berichtete). Doch eigentlich wird man mit der Bezeichnung Entwicklungsumgebung oder IDE dem Ganzen nicht gerecht, denn mit dem Erweiterungsansatz lässt sich Theia an die eigenen Bedürfnisse anpassen und zusammenstellen.

Das Erweiterungssystem von Theia

Um Entwicklern die Möglichkeit zu geben, volle Kontrolle über die Funktionalität der IDE zu geben, ist in Theia quasi alles eine Erweiterung. Erweiterungen (oder Extensions) wurden im Design quasi als „First Class Cititzens“ definiert. Die Erweiterungen können dabei sogar während der Laufzeit implementiert, entfernt etc. werden, das gibt es bei Eclipse Che so nicht.

Erweiterungen in Theia sind gewöhnliche Node.js-Pakete, die beispielsweise auf npmjs.org veröffentlicht werden. In Theia werden sie per Dependency Injection (InversifyJS) zusammengeschweißt, was dank des CLI-Tools recht einfach vonstattengehen sollte. Es gibt zudem einen Yeoman-Generator, mit dem das Erstellen eines Projektes erleichtert wird. Weitere Informationen zu den Erweiterungen gibt es in der Dokumentation.

Neu in Theia: Der Git Support

Dass Git irgendwann Einzug im Theia-Universum hält, war eigentlich zu erwarten. Mit der neuen Git-Erweiterung können Nutzer Commits erstellen und grundlegende Git-Kommandos ausführen. Die Unterstützung von Git in Theia ähnelt dabei sehr der bereits aus VS Code bekannten. Es ist zudem möglich, die Liste von Änderungen (lokal und staged) einzusehen und Diff-Editoren für eine Detailansicht zu öffnen.

Die Funktionen der Git-Erweiterung basiert auf dugite von GitHub, allerdings hat das Team der Theia-Plattform den Umfang der Möglichkeiten etwas erweitert. Auf YouTube hat Sven Effitnge die neue Erweiterung für Git vorgestellt:

Language Server Protocol: Vollständige Unterstützung

Was ist das Wichtigste an einer Entwicklungsumgebung? Natürlich die intelligente Unterstützung für möglichst viele Programmiersprachen. Das Language Server Protocol wurde genau für diesen Zweck erschaffen, wovon Theia nun (durch die Integration des Monaco-Editors) profitiert. Ab sofort gibt es in Theia also die vollständige Unterstützung des Language Server Protocols. Zudem gibt es für manche Sprachen, etwa für Java, zusätzliche Erweiterungen (Extensions), die die Funktionalität noch erweitern können. Im Falle Java gibt es etwa eine Erweiterung, mit der Entwickler zu Dateien navigieren können, die in jar-Dateien enthalten sind.

Mit der kommenden Beta können alle 46 Language Server in Theia genutzt werden, allerdings sind erst sechs davon in Form einer Theia-Erweiterung verfügbar:

  • Java
  • JavaScript / TypeScript
  • Python
  • C / C++
  • Go
  • YANG

In Theia werden so eine ganze Reihe von Features unterstützt, etwa Content Assist, Code Lenses, Syntax-Färbungen und Hover. Eine vollständige Liste mit Features gibt es auf dem Blog von TypeFox, dort finden sich auch weitere Informationen zu den Features, die Monaco bereitstellt.

Ausblick

Mit Theia wurde eine Plattform geschaffen, die Entwicklern nicht nur die Möglichkeit zur Erschaffung ihrer perfekten IDE an die Hand gibt, sondern zudem auch noch Open Source ist. Die Nutzung von TypeScript, des Language Server Protocols und die Erweiterbarkeit über sogenannte Extensions macht das System recht zukunftssicher.

Für die kommende Beta sind noch ein paar weitere Dinge geplant, etwa auf JSON-Schema basierende Nutzereinstellungen. Auch im Bereich der Tastenkombinationen und der Möglichkeit, sie zu überschreiben, wird aktuell noch nachgebessert, genau wie bei den Benachrichtigungen. Woran genau aktuell noch gefeilt wird, kann man auf GitHub nachverfolgen.

Lesen Sie auch: Interview mit Sven Efftinge: „Theia ist für mich eine klassische IDE, die auf moderner Technologie beruht“

Weitere Informationen zu Theia gibt es ebenfalls auf GitHub, dort gibt es neben allgemeinen Informationen auch Anleitungen zum Erstellen von Extensions, wie man Theia in Docker betreibt und eine umfangreiche Dokumentation. Den aktuellen Status Quo gibt es, geschrieben von Sven Efftinge, auf dem Blog von TypeFox.

Geschrieben von
Dominik Mohilo
Dominik Mohilo
Dominik Mohilo studierte Germanistik und Soziologie an der Goethe-Universität in Frankfurt. Seit 2015 ist er Redakteur bei S&S-Media.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: