PowerShell in Visual Studio Code
PowerShell ist eine aufgabenbasierte Kommandozeilen-Shell und Skriptsprache, die auf .NET aufbaut und ein leistungsstarkes Toolset für Administratoren auf jeder Plattform bietet.
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 unterstützt wird, und verwendet aktuell unterstützte Versionen von PowerShell 7+.
Die Unterstützung für Windows PowerShell 5.1 wird nach bestem Bemühen geleistet. .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 für das Web wird nur für eingeschränkte Funktionen wie grundlegende Syntaxhervorhebung 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 auch mit und ohne aktiviertem Constrained Language Mode.
Installation der PowerShell-Erweiterung
Die PowerShell-Erweiterung kann aus dem Visual Studio Code Marketplace installiert werden, indem Sie auf die Schaltfläche Installieren klicken. Sie können die PowerShell-Erweiterung auch innerhalb von VS Code installieren, indem Sie die Ansicht Erweiterungen mit der Tastenkombination ⇧⌘X (Windows, Linux Ctrl+Shift+X) öffnen, PowerShell eingeben und die PowerShell-Erweiterung auswählen.

Hauptfunktionen
- Syntaxhervorhebung
- Erweiterte integrierte Code-Snippets
- IntelliSense für Cmdlets und mehr
- Probleme, die von PowerShell Script Analyzer gemeldet werden
- Gehe zu Definition von Cmdlets, Variablen, Klassen und mehr
- Referenzen finden von Cmdlets, Variablen, Klassen und mehr
- Dokument- und Arbeitsbereich-Symbolnavigation Symbolnavigation
- Symbolbasierte Gliederungsansicht
- Ausgewählten PowerShell-Code im aktuellen Terminal mit F8 ausführen
- Online-Hilfe für das Symbol unter dem Cursor mit Ctrl + F1 starten
- PowerShell Debugger-Integration
- Ein Erweiterungs-Terminal, das mit dem Debugger interagieren kann (versuchen Sie
Set-PSBreakpoint!) - PowerShell ISE-Theme im Theme-Auswahlmenü verfügbar
- Versuchen Sie auch den ISE-Modus, indem Sie ⇧⌘P (Windows, Linux Ctrl+Shift+P) verwenden und dann nach "Enable ISE Mode" suchen
Debugging
Die PowerShell-Erweiterung verwendet 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 Verwenden von VS Code.
Unterstützung mehrerer Versionen
Sie können die PowerShell-Erweiterung so konfigurieren, dass jede unterstützte PowerShell-Version, die auf Ihrem Computer installiert ist, verwendet wird, indem Sie diese Anweisungen befolgen.
Oder führen Sie den Befehl PowerShell: Show Session Menu über die Befehlspalette (⇧⌘P (Windows, Linux Ctrl+Shift+P)) aus.
CodeLens-Unterstützung
CodeLenses sind eine VS Code-Funktion, die ausführbare, kontextbezogene Informationen liefert, die im Quellcode angezeigt werden.
CodeLens-Funktionen umfassen
-
Pester Tests ausführen und Tests debuggen.

-
Pester-Symbolunterstützung

-
Referenzen zu Funktionen, Variablen, Klassen und anderen Symbolen
Die CodeLens-Referenzunterstützung zeigt an, wie oft ein Symbol in Ihrem Code referenziert wird, und ermöglicht Ihnen das Springen zu bestimmten Referenzen.

PSScriptAnalyzer-Integration
PSScriptAnalyzer ist ein PowerShell-Modul, das einen statischen Quellcode-Checker für Module und Skripte bereitstellt. PSScriptAnalyzer verfügt über Regeln, die die Qualität von PowerShell-Code überprüfen. Diese Regeln basieren auf bewährten Methoden für PowerShell, die vom PowerShell-Team und der Community identifiziert wurden. PSScriptAnalyzer generiert Diagnoseprotokolle (Fehler und Warnungen), um Benutzer über potenzielle Codefehler zu informieren und schlägt mögliche Lösungen zur Verbesserung vor.
Die PowerShell-Erweiterung enthält PSScriptAnalyzer standardmäßig und analysiert automatisch PowerShell-Skriptdateien, die Sie in VS Code bearbeiten.
PSScriptAnalyzer enthält eine Sammlung integrierter Regeln, die verschiedene Aspekte von PowerShell-Quellcode überprüfen, wie z. B. das Vorhandensein von nicht initialisierten Variablen, die Verwendung des PSCredential-Typs, 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+,)), navigieren Sie zu Erweiterungen, 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 Dokumentenformatierung über den Befehl Dokument formatieren oder die Tastenkombination (⇧⌥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 Pester 3.40 vorinstalliert geliefert. Um Pester zu aktualisieren oder die neueste Version auf anderen Plattformen zu installieren, befolgen Sie die Pester-Installationsanweisungen.
Einstellungen der PowerShell-Erweiterung
Sie können die VS Code-Einstellungen Einstellungen über das Menüelement Datei > Einstellungen anpassen.
Sie können auch auf das Zahnradsymbol unten links in der Aktivitätsleiste klicken.

Sie können auch die Tastenkombination ⌘, (Windows, Linux Ctrl+,) verwenden, um Ihre Einstellungen zu öffnen. Sie können die Datei settings.json weiterhin öffnen, indem Sie den Befehl Preferences: Open User Settings (JSON) aus der Befehlspalette (⇧⌘P (Windows, Linux Ctrl+Shift+P)) verwenden oder den Standard-Einstellungseditor mit der Einstellung "workbench.settings.editor" ändern.
Weitere Informationen zur Konfiguration von VS Code-Einstellungen finden Sie unter Benutzer- und Arbeitsbereichseinstellungen.
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 erhalten IntelliSense-Funktionen beim Erstellen von .ps1xml-Dateien, indem Sie die XML-Erweiterung von Red Hat installieren. Fügen Sie nach der Installation die folgende 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-Schemas aus dem PowerShell-Repository für alle .ps1xml-Dateien zu verwenden. Die Konfiguration dieser Schemas ermöglicht die folgenden Funktionen in ps1xml-Dateien.
- Syntaxfehlerberichterstattung
- Schema-Validierung
- Tag- und Attributvervollständigung
- Autovervollständigung von Tags
- Symbolhervorhebung
- Dokumentfaltung
- Dokumentensymbole und Gliederung
- Umbenennungsunterstützung
- Dokumentenformatierung
Beispiel-Skripte
Beispiel-Skripte sind in der Erweiterung enthalten und finden 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 von 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
Es gibt detailliertere Artikel in der PowerShell-Dokumentation. Beginnen Sie mit Verwenden von VS Code.
Sehen Sie sich den Leitfaden zur Fehlerbehebung an, um Antworten auf häufig gestellte Fragen zu erhalten.
Weitere Informationen zum Debuggen finden Sie in der zweiteiligen Blog-Beitragsreihe von Hey, Scripting Guy!, geschrieben von @keithHill, über das Debuggen mit der PowerShell-Erweiterung.
- Debugging PowerShell-Skripte in Visual Studio Code - Teil 1
- Debugging PowerShell-Skripte in Visual Studio Code - Teil 2
Testen neuer Funktionen und Feedback geben
Wir ermutigen Sie, die Vorabversions-Version auszuprobieren, wann immer möglich. Wenn eine Vorabversion verfügbar ist, kann sie über den Marketplace über die Schaltfläche Zur Vorabversion wechseln installiert werden. Sie können zur stabilen Version der Erweiterung zurückkehren, indem Sie die Schaltfläche Zur Release-Version wechseln verwenden, die dann erscheint. Sie können auch zu anderen Versionen der Erweiterung wechseln, indem Sie auf den Pfeil neben der Schaltfläche Deinstallieren klicken und Eine andere Version installieren... auswählen.

Wenn Sie einen Fehler finden, öffnen Sie ein Issue und wechseln Sie zur stabilen Version, während wir es beheben.