Language Server Protocol: Microsoft, Red Hat und Codenvy vereinheitlichen IDE-Schnittstelle

Microsoft, Red Hat und Codenvy haben am 27. Juni 2016 die Unterstützung für das Language Server Protocol (LSP) angekündigt. Die offene Schnittstelle trennt einen Editor oder eine integrierte Entwicklungsumgebung vom Sprachdienst, der Analysefunktionen für den jeweiligen Quelltext bereitstellt.

Das historische Projektarchiv beschreibt LSP als gemeinsame Grundlage für Funktionen wie Autovervollständigung, das Aufrufen einer Definition, die Suche nach Referenzen sowie die Anzeige von Fehlern und Warnungen. Damit muss ein Sprachdienst seine Logik nicht für jede Entwicklungsumgebung separat integrieren.

Ablauf des Language Server Protocol zwischen Entwicklungswerkzeug und Sprachserver
Ablauf des Language Server Protocol zwischen Entwicklungswerkzeug und Sprachserver: Bild: Microsoft

Ein Protokoll für mehrere Editoren

Die Kommunikation zwischen Werkzeug und Sprachserver läuft über JSON-RPC. Öffnet oder ändert ein Entwickler eine Datei, meldet der Client diesen Zustand an den Server. Dieser verarbeitet die semantischen Informationen und sendet beispielsweise Diagnosen zurück. Eine Anfrage zum Sprung zu einer Definition liefert die Dokumentadresse und die passende Position. Die offizielle Protokollbeschreibung führt die Nachrichten und Fähigkeiten der beteiligten Seiten im Detail auf.

Erfahrungen aus OmniSharp und TypeScript Server

Die erste Fassung entstand aus Erfahrungen mit OmniSharp und dem TypeScript Server, die Microsoft zuvor in Visual Studio Code integriert hatte. Das LSP-Projekt sollte diese Art von Sprachunterstützung auf weitere Editoren und Entwicklungsumgebungen ausdehnen.

Für technische Teams in der Spieleentwicklung ist der Ansatz grundsätzlich interessant, weil Quelltext, Skripte und Werkzeuge häufig über mehrere Editoren und Betriebssysteme hinweg bearbeitet werden. Ein gemeinsames Protokoll kann die Editorintegration vereinheitlichen, ohne die Sprachlogik an eine einzelne Entwicklungsumgebung zu binden.

Weitere News

Weitere News

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein