Suche
No more lost in translation

Polyglott dank Language Server Protocol: Microsoft, Red Hat und Codenvy streben nach der universellen IDE

Dominik Mohilo

© Shutterstock.com/Orla

Ein ambitioniertes Projekt von Microsoft, Red Hat und Codenvy soll sämtliche Coding-Tools und Entwicklungsumgebungen fit für alle Sprachen machen. Ein neues Server-Protokoll soll dafür wichtige Sprachinformationen und -features direkt von einem zentralen Sprachserver beziehen und in das jeweilige Programm einspeisen. Somit könnte bald die Frage nach der richtigen IDE für die jeweilige Sprache überflüssig werden.

Betrachtet man sich den Vergleich der drei Entwicklungsumgebungen Eclipse Che, Orion und Visual Studio Code, dann ist eines offensichtlich: Gerade bei der Sprachunterstützung sind die Überschneidungen von modernen IDEs massiv. Welcher Fokus bei der Entwicklung einzelner IDEs gesetzt wird, ist oft zwar unterschiedlich, doch sich die Gemeinsamkeiten unübersehbar.

Höchst spannend ist daher die Ankündigung des Language-Server-Protocol-Projektes durch Microsoft (Visual Studio Code), Codenvy (Eclipse Che) und Red Hat. Dieses Protokoll soll für die Kommunikation (mittels JSON-RPC) zwischen einem Tool und einem sogenannten Language Server genutzt werden. Der Language Server soll ein tiefes Verständnis für die jeweils verwendete Programmiersprache zur Verfügung stellen. Programmierer können so aus jedem Tool heraus auf „Rich Editing“-Kapazitäten wie Errors & Warnings, Refactor und Go to Definition zurückgreifen.

Bislang unterstützen die IDEs VS Code und Eclipse Che das Protokoll. Bald sollen für sämtliche Programmiersprachen dezidierte Sprachserver zur Verfügung stehen, die das Entwickeln in unterschiedlichen Sprachen und in möglichst vielen Tools gleichermaßen bereichern sollen.

Language Server Protokoll / Quelle: Microsoft

Language Server Protokoll / Quelle: Microsoft

Der Vielfalt an Features für die jeweiligen Programmiersprachen ist dabei keine Grenze gesetzt: Solange sie Gebrauch vom standardisierten JSON-Protokoll machen, können sie auf den Servern und damit allen Nutzern zugänglich gemacht werden. Möglich wird dies durch die sogenannte Language Server Registry: Die Server werden als Teil einer globalen Registry als Eclipse-Projekt veröffentlicht und wurden von Codenvy erstellt. Gehostet werden sie auf den Servern der Eclipse Foundation, so kann jedes Tool darauf zurückgreifen.

Aktuell sind Language Server für die Sprachen JSON, C++ und Powershell online verfügbar. Noch in diesem Jahr sollen weitere folgen, die das Language-Server-Protokoll unterstützen. Geplant sind unter anderem Language Server für C#, Xtext, R, JavaFX und CSS. Die Arbeit an einem eigenständigen Java Language Server wurde von Red Hat gestartet und als Projekt quelloffen der Community zur Verfügung gestellt. Dieser soll der Eclipse Foundation gespendet werden.

Weitere Informationen zu dem Projekt gibt es auf Microsofts GitHub-Seite und in der Ankündigung von Red Hat. Auf dem Blog von Visual Studio Code gibt es ein passendes Beispiel zur Funktionsweise des neuen Protokolls.

Aufmacherbild: Conceptual computer network von Shutterstock / Urheberrecht: Orla

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

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.