Microsoft stellt Python Language Server für Visual Studio Code vor

Der Sprachserver ist Teil der Python Extension for Visual Studio Code und soll im Laufe des Jahres fertig werden.

 –  14 Kommentare
Mircosoft stellt Python Language Server für Visual Studio Code vor

Microsoft hat Visual Studio Code um einen Python Language Server erweitert. Der Electron-basierte Quellcode-Editor für Linux, macOS und Windows soll so für Entwickler der Programmiersprache Python attraktiver werden.

Der Sprachserver nutzt IntelliSense, Microsofts Werkzeug zur automatischen Vervollständigung bei der Bearbeitung von Quellcode. Es war vor nicht allzu langer Zeit von Visual Studio, der "großen IDE" des Unternehmens, separiert worden, sodass es sich auch in anderen Entwickler-Tools verwenden lassen kann. IntelliSense implementiert das von Microsoft maßgeblich initiierte Language Server Protocol, das regelt, wie Server und Entwicklungstools für bestimmte Programmiersprachen interagieren.

Der Sprachserver ist Teil der Juli-Ausgabe der Python Extension for Visual Studio Code und hat nun den Status einer Betaversion. Noch in diesem Jahr soll er als eigenständige Komponente angeboten werden, und zwar für Tools, die das Language Server Protocol unterstützen. Der Server verwendet eine iterative Programmanalyse, um Variablentypen in einem Projekt zu verfolgen und gleichzeitig die Codeausführung zu simulieren. Das Ergebnis ist eine Art Blackbox, die Python-Code verwendet und alle Informationen bereitstellt, die ein Editor für Tooltips, Vervollständigungen, das Finden von Definitionen und Referenzen und das Umbenennen globaler Variablen benötigt.

Der Server funktioniert mit .NET Core unter Windows, macOS und Linux und unterstützt alle Ausgaben von Python von Version 2.5 an. Die Erweiterung für den Python-Sprachserver lässt sich im Visual Studio Marketplace oder in der Visual Studio Code Extension Gallery herunterladen. Der eigenständige Python-Sprachserver wird offenbar später unter der Apache 2.0 License angeboten. Weitere Details zum Python Language Server finden sich in der Blog-Ankündigung.

Die Grundlagen für das Language Server Protocol hatten Microsoft, Red Hat und Codenvy gemeinsam im Juni 2016 vorgestellt. Es ist eine einheitliche Schnittstelle zwischen Entwicklungsumgebungen und Servern für spezifische Programmiersprachen. Letztere liefern die kontextabhängigen Informationen an die IDE. Das Protokoll nutzt eine JSON-RPC-Schnittstelle (Remote Procedure Call) für Syntaxanalyse, Autovervollständigung und Refactoring über diverse Editoren. Eine von Microsoft verwaltete Liste umfasst inzwischen rund 50 Language-Server-Implementierungen.

Mit dem LSP soll Entwicklern das Programmieren mit unterschiedlichen Werkzeugen auf verschiedenen Plattformen erleichtert werden. 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. (ane)