Programmiersprachen: Rust-Entwickler implementieren Language Server Protocol

Der nun vorgestellte Rust Language Service hat zum Ziel, Livedaten und kontextuelle Informationen zum vorliegenden Rust-Code in der jeweiligen IDE anzuzeigen. Das Projekt hat derzeit allerdings noch den Status eines Prototyps.

In Pocket speichern vorlesen Druckansicht 12 Kommentare lesen
Rust-Entwickler implementieren Language Server Protocol
Lesezeit: 2 Min.
Von
  • Alexander Neumann

Die Entwickler der Programmiersprache Rust haben ein erstes Release des sogenannten Rust Language Service (RLS) veröffentlicht. Dabei handelt es sich um ein Projekt, über das IDEs und Code-Editoren Livedaten und kontextuelle Informationen zum vorliegenden Rust-Code erhalten. Zugleich ist RLS eine der ersten Implementierungen des Language Server Protocol, das Microsoft, Codenvy und Red Hat diesen Sommer vorgestellt hatten.

Das Protokoll stellt eine JSON-RPC (Remote Procedure Call) nutzende Schnittstelle für Syntaxanalyse, Autovervollständigung und Refactoring über diverse Editoren dar. Das hinter dem Protokoll stehende Language Server Project hat Red Hat mittlerweile als Eclipse-Projekt vorgeschlagen. Hiervon könnten etwa die IDEs Eclipse JDT (Java Development Tools), Eclipse Che und Eclipse Orion profitieren. Außerdem hatte Red Hat kürzlich eine Java-Erweiterung für Microsofts Visual Studio Code bereitgestellt, die ebenfalls auf dem Protokoll basiert.

Das gemeinsame Engagement von Codenvy, Microsoft und Red Hat soll Entwicklern das Programmieren mit unterschiedlichen Werkzeugen auf verschiedenen Plattformen erleichtern. Beispielsweise soll das Refactoring unabhängig vom jeweiligen Tool bleiben. Gleichzeitig muss nicht jeder Werkzeuganbieter die einzelnen Funktionen für jede Sprache in die jeweilige IDE integrieren, sondern kann auf die vorhandenen Dienste zurückgreifen.

Das RLS-Projekt ist noch in einem sehr frühen Stadium, weist aber schon ein paar nützliche Funktionen auf. So werden Fehler während des Tippens aufgezeigt, und es lassen sich alle Referenzen für (Sonder-)Zeichen innerhalb einer Codebasis finden. Schließlich können Entwickler die Symbole umbenennen und Dokumentationsmaterial für Objekte in der Standardbibliothek bereitstellen.

Rust war 2012 von Mozilla vorgestellt worden. Die Sprachsyntax ist der von C und C++ ähnlich, semantisch gibt es allerdings größere Unterschiede. Die Sprache ist vor allem für Bereiche wie Browserentwicklung, Spieleentwicklung, Embedded-Systeme und als Endpunkt einer nativen Schnittstelle mit Skriptsprachen vorgesehen. Ursprünglich war Rust als Konkurrent für Googles Sprache Go gedacht, der Fokus hat sich dann aber ein wenig geändert.

Siehe dazu auf heise Developer:

(ane)