PowerShell in Visual Studio Code
PowerShell ist eine aufgabenbasierte Befehlszeilen-Shell und Skriptsprache, die auf .NET basiert und Administratoren auf jeder Plattform ein leistungsstarkes Toolset zur Verfügung stellt.
Die Microsoft PowerShell-Erweiterung für Visual Studio Code (VS Code) bietet umfangreiche Sprachunterstützung und Funktionen wie Syntaxvervollständigung, Definitionsverfolgung und Linting für PowerShell. Die Erweiterung sollte überall dort funktionieren, wo VS Code mit aktuell unterstützten PowerShell 7+-Versionen unterstützt wird.
Die Unterstützung für Windows PowerShell 5.1 wird nach bestem Bemühen bereitgestellt. .NET Framework 4.8 oder höher ist erforderlich.
VS Code Remote Development-Umgebungen, einschließlich GitHub Codespaces und VS Code Server, werden unterstützt.
Visual Studio Code for the Web wird nur mit eingeschränkter Funktionalität, wie z. B. grundlegendem Syntax-Highlighting, unterstützt, da die PowerShell-Engine in dieser Umgebung nicht ausgeführt werden kann.
Wir testen aktiv die folgenden Konfigurationen
- Windows Server 2022 mit Windows PowerShell 5.1 und PowerShell 7+
- macOS 14.7 mit PowerShell 7+
- Ubuntu 24.04 mit PowerShell 7+
Unter Windows testen wir zusätzlich mit und ohne aktiviertem Constrained Language Mode.
Installieren der PowerShell-Erweiterung
Die PowerShell-Erweiterung kann aus dem Visual Studio Code Marketplace installiert werden, indem Sie auf die Installieren-Schaltfläche klicken. Sie können die PowerShell-Erweiterung auch innerhalb von VS Code installieren, indem Sie die Ansicht Erweiterungen mit dem Tastaturkürzel ⇧⌘X (Windows, Linux Ctrl+Shift+X) öffnen, PowerShell eingeben und die PowerShell-Erweiterung auswählen.

Hauptfunktionen
- Syntax-Highlighting
- Erweiterte integrierte Code-Snippets
- IntelliSense für Cmdlets und mehr
- Probleme, die vom PowerShell Script Analyzer gemeldet werden
- Gehe zu Definition von Cmdlets, Variablen, Klassen und mehr
- Verweise finden für Cmdlets, Variablen, Klassen und mehr
- Dokument- und Arbeitsbereich-Symbolnavigation
- Symbolbasierte Gliederungsansicht (Outline View)
- Ausführen des ausgewählten PowerShell-Codes im aktuellen Terminal mit F8
- Starten der Online-Hilfe für das Symbol unter dem Cursor mit Ctrl + F1
- Integration des PowerShell-Debuggers
- Ein Erweiterungsterminal, das mit dem Debugger interagieren kann (probieren Sie
Set-PSBreakpointaus!) - PowerShell ISE-Design verfügbar in der Design-Auswahl
- Probieren Sie auch den ISE-Modus aus: Verwenden Sie ⇧⌘P (Windows, Linux Ctrl+Shift+P) und suchen Sie dann nach „Enable ISE Mode“
Debugging
Die PowerShell-Erweiterung nutzt die integrierte Debugging-Schnittstelle von VS Code, um das Debuggen von PowerShell-Skripten und Modulen zu ermöglichen. Weitere Informationen zum Debuggen von PowerShell finden Sie unter Using VS Code.
Unterstützung für mehrere Versionen
Sie können die PowerShell-Erweiterung so konfigurieren, dass sie eine beliebige unterstützte, auf Ihrem Computer installierte Version von PowerShell verwendet, indem Sie diesen Anweisungen folgen.
Oder führen Sie den Befehl PowerShell: Show Session Menu aus der Befehlspalette aus (⇧⌘P (Windows, Linux Ctrl+Shift+P)).
CodeLens-Unterstützung
CodeLenses sind ein VS Code-Feature, das umsetzbare, kontextbezogene Informationen innerhalb des Quellcodes anzeigt.
Zu den CodeLens-Funktionen gehören
-
Pester Run tests (Tests ausführen) und Debug tests (Tests debuggen).

-
Pester-Symbolunterstützung

-
Verweise auf Funktionen, Variablen, Klassen und andere Symbole
Die CodeLens-Verweisunterstützung zeigt an, wie oft ein Symbol in Ihrem Code referenziert wird, und ermöglicht Ihnen den Sprung zu bestimmten Verweisen.

PSScriptAnalyzer-Integration
PSScriptAnalyzer ist ein PowerShell-Modul, das einen statischen Quellcode-Prüfer für Module und Skripte bereitstellt. PSScriptAnalyzer verfügt über Regeln zur Überprüfung der Qualität von PowerShell-Code. Diese Regeln basieren auf den bewährten PowerShell-Methoden, die vom PowerShell-Team und der Community identifiziert wurden. PSScriptAnalyzer generiert Diagnoseeinträge (Fehler und Warnungen), um Benutzer über potenzielle Codefehler zu informieren und mögliche Lösungen zur Verbesserung vorzuschlagen.
Die PowerShell-Erweiterung enthält standardmäßig PSScriptAnalyzer und führt automatisch eine Analyse der PowerShell-Skriptdateien durch, die Sie in VS Code bearbeiten.
PSScriptAnalyzer wird mit einer Sammlung integrierter Regeln geliefert, die verschiedene Aspekte des PowerShell-Quellcodes überprüfen, wie z. B. das Vorhandensein nicht initialisierter Variablen, die Verwendung des Typs PSCredential, die Verwendung von Invoke-Expression und andere. Das Modul ermöglicht es Ihnen auch, bestimmte Regeln einzuschließen oder auszuschließen.
Um PSScriptAnalyzer zu deaktivieren, öffnen Sie Ihre Einstellungen (⌘, (Windows, Linux Ctrl+,)), durchsuchen Sie den Bereich Extensions, wählen Sie die PowerShell-Erweiterung aus und deaktivieren Sie das Kontrollkästchen für Script Analysis: Enable (powershell.scriptAnalysis.enable).

PSScriptAnalyzer bietet auch Code-Formatierung. Sie können die automatische Dokumentformatierung mit dem Befehl Format Document oder dem Tastaturkürzel (⇧⌥F (Windows Shift+Alt+F, Linux Ctrl+Shift+I)) aufrufen.
Pester-Integration
Pester ist ein Framework zum Ausführen von Unit-Tests; Windows PowerShell 5.1 wird mit vorinstalliertem Pester 3.40 ausgeliefert. Um Pester zu aktualisieren oder die neueste Version auf anderen Plattformen zu installieren, folgen Sie den Pester-Installationsanweisungen.
Einstellungen der PowerShell-Erweiterung
Sie können die VS Code-Einstellungen über den Menüpunkt Datei > Einstellungen > Einstellungen anpassen.
Sie können auch das Zahnradsymbol in der unteren linken Ecke der Aktivitätsleiste auswählen.

Sie können auch das Tastaturkürzel ⌘, (Windows, Linux Ctrl+,) verwenden, um Ihre Einstellungen zu öffnen. Sie können die Datei settings.json weiterhin über den Befehl Preferences: Open User Settings (JSON) aus der Befehlspalette (⇧⌘P (Windows, Linux Ctrl+Shift+P)) öffnen oder indem Sie den Standardeinstellungseditor mit der Einstellung "workbench.settings.editor" ändern.
Gehen Sie zu Benutzer- und Arbeitsbereichseinstellungen für weitere Informationen zur Konfiguration von VS Code-Einstellungen.
Types.ps1xml- und Format.ps1xml-Dateien
PowerShell .ps1xml-Dateien werden verwendet, um das Typsystem zu erweitern und die Ausgabeformatierung zu definieren. Weitere Informationen zu diesen Dateien finden Sie in der offiziellen PowerShell-Dokumentation zu Types.ps1xml und Format.ps1xml. Sie können IntelliSense-Funktionen beim Erstellen von .ps1xml-Dateien erhalten, indem Sie die XML-Erweiterung von Red Hat installieren. Fügen Sie nach der Installation diese Konfiguration zu Ihren Benutzereinstellungen hinzu
"xml.fileAssociations": [
{
"systemId": "https://raw.githubusercontent.com/PowerShell/PowerShell/master/src/Schemas/Format.xsd",
"pattern": "**/*.Format.ps1xml"
},
{
"systemId": "https://raw.githubusercontent.com/PowerShell/PowerShell/master/src/Schemas/Types.xsd",
"pattern": "**/*.Types.ps1xml"
}
]
Diese Konfiguration weist die XML-Erweiterung an, die offiziellen XML-Schemata aus dem PowerShell-Repository für alle .ps1xml-Dateien zu verwenden. Das Konfigurieren dieser Schemata ermöglicht die folgenden Funktionen in ps1xml-Dateien
- Syntaxfehlerbericht
- Schemavalidierung
- Tag- und Attributvervollständigung
- Automatisches Schließen von Tags
- Symbol-Highlighting
- Dokumentfaltung
- Dokumentsymbole und Gliederung
- Umbenennungsunterstützung
- Dokumentformatierung
Beispielskripte
Beispielskripte sind in der Erweiterung enthalten und befinden sich unter folgendem Pfad.
~/.vscode/extensions/ms-vscode.PowerShell-<version>/examples
Um die Beispiele in VS Code zu öffnen oder anzuzeigen, führen Sie Folgendes in Ihrer PowerShell-Eingabeaufforderung aus
code (Get-ChildItem ~\.vscode\extensions\ms-vscode.PowerShell-*\examples)[-1]
Sie können die Beispiele auch über die Befehlspalette (⇧⌘P (Windows, Linux Ctrl+Shift+P)) mit dem Befehl PowerShell: Open Examples Folder öffnen.

Zusätzliche Ressourcen
Weitere ausführliche Artikel finden Sie in der PowerShell-Dokumentation. Beginnen Sie mit Using VS Code.
Sehen Sie sich den Leitfaden zur Fehlerbehebung an, um Antworten auf häufige Fragen zu erhalten.
Weitere Informationen zum Debuggen finden Sie in der zweiteiligen Blogpost-Serie Hey, Scripting Guy!, geschrieben von @keithHill über das Debuggen mit der PowerShell-Erweiterung
- Debugging PowerShell script in Visual Studio Code - Teil 1
- Debugging PowerShell script in Visual Studio Code - Teil 2
Testen neuer Funktionen und Feedback geben
Wir empfehlen Ihnen, wann immer möglich die Pre-Release-Version zu testen. Wenn ein Pre-Release verfügbar ist, kann es über den Marketplace mithilfe der Schaltfläche Switch to Pre-Release Version installiert werden. Sie können zur stabilen Version der Erweiterung zurückkehren, indem Sie die Schaltfläche Switch to Release Version verwenden, die dann erscheint. Sie können auch auf andere Versionen der Erweiterung zurückstufen, indem Sie den Pfeil neben der Deinstallieren-Schaltfläche verwenden und Install Another Version... wählen.

Wenn Sie einen Fehler finden, eröffnen Sie ein Issue und kehren Sie zur stabilen Version zurück, während wir ihn beheben.