Название | PowerShell 7 und Windows PowerShell |
---|---|
Автор произведения | Tobias Weltner |
Жанр | Математика |
Серия | |
Издательство | Математика |
Год выпуска | 0 |
isbn | 9783960104803 |
Profitipp
Mit
Um die Übersicht in größeren Skripten zu behalten, zeigt der Editor rechts eine Minimap an, also eine verkleinerte Fassung des Skripts. Diese ist natürlich nur bei umfangreichen Skripten nützlich und verschwendet andernfalls Platz. Mit
Abbildung 1.19: Die Minimap am rechten Editorrand bietet bei langen Skripten eine gute Übersicht.
PowerShell-Unterstützung installieren
Ausführbar ist die neu angelegte PowerShell-Skriptdatei indes erst, wenn die PowerShell-Erweiterung in VSCode eingerichtet ist. VSCode installiert diese Erweiterung automatisch, wenn es erkennt, dass Sie mit PowerShell-Skripten arbeiten. Möchten Sie aber sichergehen, klicken Sie in der vertikalen Symbolleiste auf das Symbol mit den vier Quadraten (Extensions).
Sie sehen nun oben alle installierten Erweiterungen und darunter weitere Vorschläge. In Ihrer Liste sollte die Erweiterung PowerShell stehen. Wenn sie noch fehlt, geben Sie oben ins Suchfeld »PowerShell« ein (siehe Abbildung 1.20).
Abbildung 1.20: Neue Erweiterungen zu VSCode hinzufügen
Bei bereits installierten Erweiterungen erscheint in der rechten unteren Ecke ein Zahnradsymbol, mit dem Sie die Erweiterung verwalten. Ist die Erweiterung noch nicht installiert, sehen Sie eine blaue Schaltfläche Installieren. Stellen Sie sicher, dass die Erweiterung PowerShell installiert ist und ein Zahnradsymbol zeigt. Starten Sie VSCode vorsichtshalber neu.
Spätestens jetzt sollte die volle PowerShell-Unterstützung aktiv sein. Unten sehen Sie die PowerShell Integrated Console, in der Sie ähnlich wie in einer PowerShell-Konsole direkte PowerShell-Befehle eingeben können. Allerdings unterstützt VSCode hier nur eine einfache Befehlsvervollständigung, aber anders als die ISE keine IntelliSense-Menüs.
Diese sollten Sie indes nun in Ihrem Skripteditor erhalten: Wenn Sie darin einen Befehl eingeben, erscheint ähnlich wie in der ISE ein IntelliSense-Menü (siehe Abbildung 1.21).
Abbildung 1.21: IntelliSense-Unterstützung für PowerShell-Befehle
Am unteren Fensterrand in der Statusleiste sehen Sie den Betriebszustand der PowerShellUnterstützung. Wenn die Unterstützung voll aktiv ist, sollte hier rechts in Grün die aktuell verwendete PowerShell genannt werden. In Abbildung 1.21 ist zum Beispiel gerade die PowerShell 7.1 aktiv.
PowerShell-Version wählen
Da VSCode kein PowerShell-Host ist, sondern lediglich mit externen PowerShells zusammenarbeitet, können Sie jederzeit Ihre PowerShell-Umgebung neu starten oder auch wechseln. Möchten Sie zum Beispiel auf einem Windows-System lieber die Windows PowerShell verwenden, klicken Sie unten in der Statusleiste auf die grüne Versionsnummer (siehe Abbildung 1.22).
Abbildung 1.22: PowerShell-Version wechseln
Eine Ausklappliste bietet nun die verschiedenen PowerShell-Umgebungen an, die auf Ihrem System vorhanden sind. Um zur Windows PowerShell zu wechseln, wählen Sie Switch to: Windows PowerShell (x64). Wollen Sie dagegen nur die aktuelle PowerShell neu starten, zum Beispiel um alle Variablen zu löschen und einen frischen Testlauf zu beginnen, wählen Sie Restart Current Session.
Alternative PowerShell-Hosts in VSCode einbinden
Leider kann es vorkommen, dass VSCode keine funktionierende Verbindung zum Standard-PowerShell-Host aufbauen kann. In der Statusleiste ist dann der gelbe Schriftzug Starting Power-Shell nicht nur wenige Sekunden zu sehen, sondern bleibt dauerhaft sichtbar.
Solche Probleme beruhen häufig auf Versionskonflikten, sodass Sie zunächst überprüfen sollten, ob Sie die aktuelle Version von VSCode verwenden.
Falls Sie die Fehlermeldung Language server startup failed erhalten, wird möglicherweise die Ausführung von PowerShell-Skripten von Gruppenrichtlinieneinstellungen Ihres Unternehmens beschränkt, und das Nachladen von PowerShell-Modulen muss bei der erstmaligen Verwendung manuell bestätigt werden. Diese Bestätigungsmöglichkeit ist in VSCode aber nicht sichtbar, sodass das benötigte Modul nicht geladen werden kann und VSCode hängen bleibt.
Öffnen Sie in diesem Fall eine normale PowerShell-Konsole und laden Sie das benötigte Modul dort von Hand:
# Der folgende Befehl ist eine einzelne lange Zeile ohne Zeilenumbruch:
Import-Module $HOME\.vscode\extensions\ms-vscode.powershell*\modules\PowerShellEditorServices\
PowerShellEditorServices.psd1
Listing 1.10: PowerShell Editor Services testweise manuell nachladen
Wenn der Vorgang ohne Nachfragen ablief, liegt das beschriebene Problem bei Ihnen nicht vor. Falls Sie indes nun eine Nachfrage Do you want to run software from this untrusted publisher? sehen, beantworten Sie diese mit
Bleibt das Problem bestehen, kann man sich in vielen Fällen damit behelfen, dass man eine aktuelle PowerShell 7 als portable Anwendung herunterlädt und dann in VSCode einbindet. Die folgenden Schritte sind aber auch dann nützlich, wenn Sie VSCode mit weiteren PowerShell-Versionen verwenden wollen, die noch nicht in der Liste in Abbildung 1.22 aufgeführt sind.
Portable PowerShell herunterladen
Führen Sie Listing 1.2 aus, um den Befehl Install-PowerShell