Extension: Mehr PowerShell unter Visual Studio Code

Microsoft erweitert den kostenlosen Quelltext-Editor Visual Studio Code um eine vollständig überarbeitete Version der integrierten PowerShell-Engine.

In Pocket speichern vorlesen Druckansicht 9 Kommentare lesen
Lesezeit: 3 Min.
Von
  • Frank-Michael Schlede

Visual Studio Code (VS Code) ist ein Quelltext-Editor von Microsoft, der plattformübergreifend sowohl unter Windows als auch macOS und Linux zum freien Download zur Verfügung steht. Nun kündigten die Entwickler ein Update an, mit dem sie eine vollständige Überarbeitung der Kern-Engine der PowerShell-Erweiterungen einführen. Schon in den bisherigen Versionen dieser Software stellten die Microsoft-Developer den Nutzern die Möglichkeit zur Verfügung, mithilfe der PowerShell-Erweiterung für VS Code auch diese Script-Sprache zu nutzen.

In der Online-Dokumentation betont das Unternehmen zudem, dass Visual Studio Code in Zusammenhang mit den PowerShell-Erweiterungen der primär empfohlene Editor zum Schreiben von PowerShell-Scripts sei. Das auf den Windows-Systemen zur Verfügung stehende Windows PowerShell Integrated Scripting Environment (ISE) soll zwar auch weiterhin zur Verfügung stehen, auch ein Entfernen der ISE aus Windows sei nicht geplant, es wird aber laut Microsoft keine weitere Feature-Entwicklung mehr stattfinden.

Laut einem Beitrag im Blog der PowerShell-Entwickler wurde die zentrale Engine für die PowerShell-Erweiterung komplett überarbeitet. Es sei dabei das erklärte Ziel gewesen, den Nutzerinnen und Nutzern mit dieser neuen Version eine zuverlässigere und stabilere Implementierung zu bieten. Insgesamt haben die Microsoft-Spezialisten nach eigenen Angaben fast zwei Jahre Arbeit in die Überarbeitung gesteckt. Abgeschlossen wurde diese Entwicklung dann mit sechs Monate dauernden Tests und 13 Preview-Version der PowerShell-Erweiterungen. Das Entwicklerteam bezeichnet die Version nun auch als "Antwort auf viele Probleme, die von den Nutzern in den letzten Jahren angesprochen wurden."

Zu den Zielen gehörte es nach ihren Aussagen nicht nur, den Nutzern allgemeine Stabilität zu sichern, sondern auch den gleichen Funktionsumfang wie bei früheren Erweiterungen. Dieses Ziel wurde unter anderem durch eine Konzentration auf das Threading-Modell für die Erweiterung erreicht. Bei den bisherigen Versionen wurde die integrierte Konsole, also die von der PowerShell-Erweiterung bereitgestellte Shell, durch das Festlegen von Threadpool-Aufgaben auf einem gemeinsam genutzten Haupt-Runspace ausgeführt. Dadurch erfolgte die LSP-(Language Server Protocol)-Wartung mit PowerShell-Idle-Ereignissen. Das hat dann zu einem Overhead, Threading-Problemen und einer komplexen Implementierung geführt. Sie sollte helfen, die Asymmetrie zwischen der PowerShell als synchrone Single-Thread-Laufzeit und einem Sprachserver als asynchroner Multi-Thread-Dienst zu umgehen.

Visual Studio Code bietet nun starke Erweiterung für PowerShell.

(Bild: Microsoft)

Mit dem Release bekam der PowerShell-Editordienst seinen eigenen dedizierten Pipeline-Thread. Der ist in der Lage, Anforderungen ähnlich wie die Ereignisschleife von JavaScript zu bedienen. Das bedeutet laut den Aussagen im Entwickler-Blog, dass nun alles synchron auf dem richtigen Thread ausgeführt werden kann. Dadurch wird eine ganze Klasse von Race Conditions verhindert, was zu zuverlässigerem und fehlerfreiem Code führen soll. Die Änderungen sollen zudem eine Effizienzsteigerung bewirken, da PowerShell-APIs und in C# geschriebener Code direkt von diesem Thread und ohne den Overhead einer PowerShell-Pipeline aufgerufen werden.

Die Microsoft-Entwickler berichten in der Ankündigung auf dem Developer-Blog zudem stolz, dass sie bei der Erstellung dieses Updates insgesamt 6000 Codezeilen hinzugefügt und 12.000 Zeilen entfernt haben. Das soll entscheidend dazu beigetragen haben, dass das Backend der Erweiterung wartbarer, effizienter und verständlicher wurde. Eine komplette Liste der Änderungen finden Interessierte im Changelog PowerShell/vscode-powershell auf GitHub.

(fms)