Verwenden von Visual Studio Code für die PowerShell-Entwicklung
Visual Studio Code (VS Code) ist ein plattformübergreifender Skript-Editor von Microsoft. Zusammen mit der PowerShell-Erweiterungbietet sie eine umfangreiche und interaktive Skriptbearbeitung, wodurch zuverlässige PowerShell-Skripts einfacher geschrieben werden können. Visual Studio Code mit der PowerShell-Erweiterung ist der empfohlene Editor zum Schreiben von PowerShell-Skripts.
Es unterstützt die folgenden PowerShell-Versionen:
- PowerShell 7.2 und höher (Windows, macOS und Linux)
- Windows PowerShell 5.1 (nur Windows) mit .NET Framework 4.8
Anmerkung
Visual Studio Code ist nicht mit Visual Studioidentisch.
Erste Schritte
Bevor Sie beginnen, stellen Sie sicher, dass PowerShell auf Ihrem System vorhanden ist. Informationen zu modernen Workloads unter Windows, macOS und Linux finden Sie unter den folgenden Links:
- Installation von PowerShell unter Linux
- Installieren von PowerShell auf macOS
- Installieren von PowerShell unter Windows
Informationen zu herkömmlichen Windows PowerShell-Workloads finden Sie unter Installieren von Windows PowerShell-.
Wichtig
Die Windows PowerShell ISE- ist weiterhin für Windows verfügbar. Es befindet sich jedoch nicht mehr in der aktiven Featureentwicklung. Der ISE funktioniert nur mit PowerShell 5.1 und älter. Als Komponente von Windows wird sie weiterhin offiziell für Sicherheits- und Wartungsfixes mit hoher Priorität unterstützt. wir haben keine Pläne, den ISE aus Windows zu entfernen.
Installieren von VS Code und der PowerShell-Erweiterung
Installieren Sie Visual Studio Code. Weitere Informationen finden Sie in der Übersicht Einrichten von Visual Studio Code.
Es gibt Installationsanweisungen für jede Plattform:
Installieren Sie die PowerShell-Erweiterung.
- Starten Sie die VS Code-App, indem Sie
code
in einer Konsole odercode-insiders
eingeben, wenn Sie Visual Studio Code Insiders installiert haben. - Starten Sie Quick Open unter Windows oder Linux, indem Sie STRG+P drücken. Drücken Sie unter macOS Cmd+P.
- Geben Sie in Quick Open
ext install powershell
ein, und drücken Sie die EINGABETASTE. - Dann öffnet sich die Ansicht Erweiterungen in der Seitenleiste. Wählen Sie die PowerShell-Erweiterung von Microsoft aus.
- Klicken Sie auf die Schaltfläche Installieren in der PowerShell-Erweiterung für Microsoft.
- Nach der Installation, wenn die Schaltfläche Installieren zu Erneut ladenwechselt, klicken Sie auf Erneut laden.
- Nachdem VS Code neu geladen wurde, können Sie sie bearbeiten.
- Starten Sie die VS Code-App, indem Sie
Um beispielsweise eine neue Datei zu erstellen, klicken Sie auf Datei > Neue. Klicken Sie zum Speichern auf Datei > Speichern und geben Sie dann einen Dateinamen an, z. B. HelloWorld.ps1
. Klicken Sie zum Schließen der Datei auf die X
neben dem Dateinamen.
Um VS Code zu beenden, wählen Sie Datei > Beenden.
Installieren der PowerShell-Erweiterung auf eingeschränkten Systemen
Einige Systeme sind so eingerichtet, dass eine Überprüfung aller Codesignaturen erforderlich ist. Möglicherweise wird die folgende Fehlermeldung angezeigt:
Language server startup failed.
Dieses Problem kann auftreten, wenn die Ausführungsrichtlinie von PowerShell durch die Windows-Gruppenrichtlinie festgelegt wird. Um PowerShell-Editordienste und die PowerShell-Erweiterung für VS Code manuell zu genehmigen, öffnen Sie eine PowerShell-Eingabeaufforderung, und führen Sie den folgenden Befehl aus:
Import-Module $HOME\.vscode\extensions\ms-vscode.powershell*\modules\PowerShellEditorServices\PowerShellEditorServices.psd1
Sie werden aufgefordert, Möchten Sie Software von diesem nicht vertrauenswürdigen Herausgeber ausführen? Geben Sie A
ein, um die Datei auszuführen. Öffnen Sie dann VS Code, und stellen Sie sicher, dass die PowerShell-Erweiterung ordnungsgemäß funktioniert. Wenn Sie immer noch Probleme beim Einstieg haben, lassen Sie es uns in einem GitHub-Issue wissen.
Auswählen einer Version von PowerShell zur Verwendung mit der Erweiterung
Bei der Parallelinstallation von PowerShell mit Windows PowerShell ist es jetzt möglich, eine bestimmte Version von PowerShell mit der PowerShell-Erweiterung zu verwenden. Dieses Feature untersucht einige bekannte Pfade auf verschiedenen Betriebssystemen, um Installationen von PowerShell zu ermitteln.
Führen Sie die folgenden Schritte aus, um die Version auszuwählen:
- Öffnen Sie die Befehlspalette unter Windows oder Linux mit STRG+UMSCHALT+P. Verwenden Sie unter macOS Cmd+Shift+P.
- Suchen Sie nach Sitzung.
- Klicken Sie auf PowerShell: Sitzungsmenüanzeigen.
- Wählen Sie die Version von PowerShell aus, die Sie aus der Liste verwenden möchten.
Wenn Sie PowerShell an einem unüblichen Speicherort installiert haben, wird sie möglicherweise zunächst nicht im Sitzungsmenü angezeigt. Sie können das Menü „Sitzung“ erweitern, indem Sie Ihre eigenen benutzerdefinierten Pfade hinzufügen, wie unten beschrieben.
Auf das PowerShell-Sitzungsmenü kann auch über das symbol {}
in der unteren rechten Ecke der Statusleiste zugegriffen werden. Wenn Sie mit dem Mauszeiger auf dieses Symbol zeigen oder es auswählen, wird eine Verknüpfung zum Sitzungsmenü und ein kleines Pinsymbol angezeigt. Wenn Sie das Pinsymbol auswählen, wird der Statusleiste die Versionsnummer hinzugefügt. Die Versionsnummer ist eine Verknüpfung zum Sitzungsmenü, für die weniger Klicks erforderlich sind.
Anmerkung
Das Anheften der Versionsnummer funktioniert genauso wie die Erweiterung in den VS Code-Versionen vor 1.65. Die Version 1.65 von VS Code hat die APIs geändert, die die PowerShell-Erweiterung verwendet und die Statusleiste für Spracherweiterungen standardisiert.
Konfigurationseinstellungen für Visual Studio Code
Zuerst, wenn Sie nicht mit der Änderung von Einstellungen in VS Code vertraut sind, empfehlen wir Ihnen, die Dokumentation zu den Einstellungen von Visual Studio Code zu lesen.
Nach dem Lesen der Dokumentation können Sie konfigurationseinstellungen in settings.json
hinzufügen.
{
"editor.renderWhitespace": "all",
"editor.renderControlCharacters": true,
"files.trimTrailingWhitespace": true,
"files.encoding": "utf8bom",
"files.autoGuessEncoding": true
}
Wenn Sie nicht möchten, dass sich diese Einstellungen auf alle Dateitypen auswirken, lässt VS Code auch Konfigurationen pro Sprache zu. Erstellen Sie eine sprachspezifische Einstellung, indem Sie Einstellungen in ein [<language-name>]
Feld einfügen. Zum Beispiel:
{
"[powershell]": {
"files.encoding": "utf8bom",
"files.autoGuessEncoding": true
}
}
Tipp
Weitere Informationen zur Dateicodierung in VS Code finden Sie unter Grundlegendes zur Dateicodierung. Weitere Tipps zum Konfigurieren von VS Code für die PowerShell-Bearbeitung finden Sie unter Replizieren der ISE-Benutzeroberfläche in VS Code.
Hinzufügen eigener PowerShell-Pfade zum Sitzungsmenü
Sie können dem Sitzungsmenü weitere ausführbare PowerShell-Pfade über die Visual Studio Code-Einstellung: powershell.powerShellAdditionalExePaths
hinzufügen.
Dazu können Sie die GUI verwenden:
- Suchen Sie in der Befehlspalette nach und wählen Sie "Benutzereinstellungen öffnen"aus. Oder verwenden Sie die Tastenkombination unter Windows oder Linux STRG+,. Verwenden Sie unter macOS Cmd+,.
- Suchen Sie im Einstellungs-Editor nach zusätzlichen Exe-Pfaden für PowerShell.
- Klicken Sie auf Add Item (Element hinzufügen).
- Für den Key (unter dem Element), geben Sie Ihre Auswahl eines Namens für diese zusätzliche PowerShell-Installation an.
- Geben Sie für die Value (unter Value) den absoluten Pfad zur ausführbaren Datei selbst an.
Sie können beliebig viele zusätzliche Pfade hinzufügen. Die hinzugefügten Elemente werden im Sitzungsmenü mit dem angegebenen Schlüssel als Namen angezeigt.
Alternativ können Sie dem Objekt powershell.powerShellAdditionalExePaths
in Ihrem settings.json
Schlüssel-Wert-Paare hinzufügen:
{
"powershell.powerShellAdditionalExePaths": {
"Downloaded PowerShell": "C:/Users/username/Downloads/PowerShell/pwsh.exe",
"Built PowerShell": "C:/Users/username/src/PowerShell/src/powershell-win-core/bin/Debug/net6.0/win7-x64/publish/pwsh.exe"
},
}
Anmerkung
Vor Version 2022.5.0 der Erweiterung war diese Einstellung eine Liste von Objekten mit den erforderlichen Schlüsseln exePath
und versionName
. Es wurde eine bahnbrechende Änderung eingeführt, um die Konfiguration über DIE GUI zu unterstützen. Wenn Sie diese Einstellung zuvor konfiguriert haben, konvertieren Sie sie bitte in das neue Format. Der für versionName
angegebene Wert ist jetzt der Schlüssel, und der für exePath
angegebene Wert ist jetzt der Wert. Sie können dies einfacher tun, indem Sie den Wert zurücksetzen und die Einstellungsschnittstelle verwenden.
Um die PowerShell-Standardversion festzulegen, legen Sie den Wert powershell.powerShellDefaultVersion
auf den Text fest, der im Sitzungsmenü angezeigt wird (der für die Taste verwendete Text):
{
"powershell.powerShellAdditionalExePaths": {
"Downloaded PowerShell": "C:/Users/username/Downloads/PowerShell/pwsh.exe",
},
"powershell.powerShellDefaultVersion": "Downloaded PowerShell",
}
Nachdem Sie diese Einstellung konfiguriert haben, starten Sie VS Code neu, oder laden Sie das aktuelle VS Code-Fenster aus der Befehlspaletteneu, geben Sie Developer: Reload Window
ein.
Wenn Sie das Sitzungsmenü öffnen, werden nun ihre zusätzlichen PowerShell-Installationen angezeigt.
Tipp
Wenn Sie PowerShell aus der Quelle erstellen, ist dies eine hervorragende Möglichkeit, Ihren lokalen Build von PowerShell zu testen.
Debuggen mit Visual Studio Code
Debuggen außerhalb des Arbeitsbereichs
In VS Code Version 1.9 (oder höher) können Sie PowerShell-Skripts debuggen, ohne den Ordner zu öffnen, der das PowerShell-Skript enthält.
- Öffnen Sie die PowerShell-Skriptdatei über Datei > Datei öffnen...
- Festlegen eines Haltepunkts – Wählen Sie eine Linie aus, und drücken Sie dann F9
- Drücken Sie F5-, um mit dem Debuggen zu beginnen.
Dann wird der Aktionsbereich „Debuggen“ angezeigt, über den Sie den Debugger anhalten und den Debugvorgang ausführen, fortsetzen oder abbrechen können.
Debuggen von Arbeitsbereichen
Das Debuggen eines Arbeitsbereichs bezieht sich auf das Debuggen im Kontext eines Ordners, den Sie im Menü Datei mithilfe von Ordner öffnen...geöffnet haben. Der Ordner, den Sie öffnen, ist in der Regel Ihr PowerShell-Projektordner oder das Stammverzeichnis Ihres Git-Repositorys. Mit dem Arbeitsbereichdebugging können Sie mehrere Debugkonfigurationen definieren, die nicht nur das Debuggen der aktuell geöffneten Datei sind.
Führen Sie die folgenden Schritte aus, um eine Debugkonfigurationsdatei zu erstellen:
Öffnen Sie die Ansicht Debuggen in Windows oder Linux, indem Sie STRG+UMSCHALT+D drücken. Drücken Sie unter macOS Cmd+UMSCHALT+D.
Klicken Sie auf den Link zum Erstellen einer Datei „launch.json“ .
Wählen Sie in der Eingabeaufforderung Umgebung auswählen die Option PowerShell aus.
Wählen Sie den Typ des Debuggings aus, den Sie verwenden möchten:
- Aktuelle Datei starten – Starten und Debuggen der Datei im aktuell aktiven Editor-Fenster
- Launch Script – Starten und Debuggen der angegebenen Datei oder des angegebenen Befehls
- Interaktive Sitzung – Debugbefehle, die über die integrierte Konsole ausgeführt werden
- Anfügen von – Anfügen des Debuggers an einen ausgeführten PowerShell-Hostprozess
VS Code erstellt ein Verzeichnis und eine Datei .vscode\launch.json
im Stammverzeichnis Ihres Arbeitsbereichsordners, um die Debugkonfiguration zu speichern. Wenn sich Ihre Dateien in einem Git-Repository befinden, möchten Sie in der Regel die launch.json
Datei übernehmen. Die Inhalte der launch.json
Datei sind:
{
"version": "0.2.0",
"configurations": [
{
"type": "PowerShell",
"request": "launch",
"name": "PowerShell Launch (current file)",
"script": "${file}",
"args": [],
"cwd": "${file}"
},
{
"type": "PowerShell",
"request": "attach",
"name": "PowerShell Attach to Host Process",
"processId": "${command.PickPSHostProcess}",
"runspaceId": 1
},
{
"type": "PowerShell",
"request": "launch",
"name": "PowerShell Interactive Session",
"cwd": "${workspaceRoot}"
}
]
}
Diese Datei stellt die allgemeinen Debugszenarien dar. Wenn Sie diese Datei im Editor öffnen, wird die Schaltfläche Konfiguration hinzufügen... angezeigt. Sie können auf diese Schaltfläche klicken, um weitere PowerShell-Debugkonfigurationen hinzuzufügen. Sie können zum Beispiel die Konfiguration PowerShell: Launch Script (PowerShell: Skript starten) hinzufügen. Mit dieser Konfiguration können Sie eine Datei mit optionalen Argumenten angeben, die verwendet werden, wenn Sie F5 drücken, unabhängig davon, welche Datei im Editor aktiv ist.
Nachdem die Debugkonfiguration eingerichtet wurde, können Sie die Konfiguration auswählen, die Sie während einer Debugsitzung verwenden möchten. Wählen Sie eine Konfiguration aus der Dropdownliste „Debugkonfiguration“ in der Symbolleiste der Ansicht Debuggen.
Problembehandlung bei der PowerShell-Erweiterung
Wenn Sie Probleme bei der Verwendung von VS Code für die Entwicklung von PowerShell-Skripten haben, sehen Sie im Leitfaden zur Fehlerbehebung auf GitHub nach.
Nützliche Ressourcen
Es gibt einige Videos und Blogbeiträge, die hilfreich sein können, um mit der PowerShell-Erweiterung für VS Code zu beginnen:
Videos
- Verwenden von Visual Studio Code als Standard-PowerShell-Editor
- Visual Studio Code: Ausführlicher Einblick in das Debuggen Ihrer PowerShell-Skripts
Blogbeiträge
- PowerShell-Erweiterung
- Schreiben und Debuggen von PowerShell-Skripts in Visual Studio Code-
- Anleitung zum Debuggen von Visual Studio Code
- Debuggen von PowerShell in Visual Studio Code
- Erste Schritte mit der PowerShell-Entwicklung in Visual Studio Code
- Visual Studio Code-Bearbeitungsfeatures für die PowerShell-Entwicklung – Teil 1
- Visual Studio Code-Bearbeitungsfeatures für die PowerShell-Entwicklung – Teil 2
- Debuggen des PowerShell-Skripts in Visual Studio Code – Teil 1
- Debuggen von PowerShell-Skripts in Visual Studio Code – Teil 2
Quellcode für PowerShell-Erweiterungsprojekt
Der Quellcode der PowerShell-Erweiterung befindet sich auf GitHub-.
Wenn Sie daran interessiert sind, beizutragen, werden Pull-Anforderungen sehr geschätzt. Folgen Sie der Entwicklerdokumentation auf GitHub, um loszulegen.