Verwenden von Visual Studio Code für Remotebearbeitung und Remotedebuggen
Wenn Sie mit der ISE vertraut sind, wissen Sie sicher, dass Sie psedit file.ps1
über die integrierte Konsole ausführen konnten, um Dateien – lokal oder remote – direkt in der ISE zu öffnen.
Dieses Feature ist auch in der PowerShell-Erweiterung für VSCode verfügbar. In diesem Leitfaden erfahren Sie, wie Sie dabei vorgehen.
Voraussetzungen
Dieses Handbuch setzt Folgendes voraus:
- Eine Remoteressource (z.B. eine VM oder einen Container), auf die Sie Zugriff haben
- Ausführung von PowerShell auf dieser Ressource und dem Hostcomputer
- VSCode und PowerShell-Erweiterung für VSCode
Dieses Feature funktioniert mit PowerShell und Windows PowerShell.
Dieses Feature funktioniert auch beim Herstellen der Verbindung mit einem Remotecomputer über WinRM, PowerShell Direct oder SSH. Wenn Sie SSH verwenden möchten, aber Windows verwenden, informieren Sie sich über die Win32-Version von SSH!
Wichtig
Die Befehle Open-EditorFile
und psedit
funktionieren nur in der integrierten PowerShell-Konsole, die von der PowerShell-Erweiterung für VSCode erstellt wird.
Anwendungsbeispiele
Diese Beispiele veranschaulichen das Remotebearbeiten und -debuggen von einem MacBook Pro aus auf einer in Azure ausgeführten Ubuntu-VM. Der Prozess läuft unter Windows identisch ab.
Lokale Dateibearbeitung mit Open-EditorFile
Nach Starten der PowerShell-Erweiterung für VSCode und Öffnen der integrierten PowerShell-Konsole können wir Open-EditorFile foo.ps1
oder psedit foo.ps1
eingeben, um die lokale Datei „foo.ps1“ direkt im Editor zu öffnen.
Hinweis
Die Datei foo.ps1
muss bereits vorhanden sein.
Von dort aus können wir:
Fügen Sie Haltepunkte zum Bundsteg hinzu.
Drücken Sie F5, um das PowerShell-Skript zu debuggen.
Sie können während des Debuggens mit der Debugging-Konsole interagieren, im Bereich auf der linken Seite die Variablen überprüfen und alle anderen standardmäßigen Debuggingtools verwenden.
Remotedateibearbeitung mit Open-EditorFile
Jetzt wenden wir uns Remotedateibearbeitung und -debuggen zu. Die Schritte sind nahezu identisch, wir müssen nur zuerst eines tun: unsere PowerShell-Sitzung auf dem Remoteserver starten.
Hierfür gibt es ein Cmdlet. Es heißt Enter-PSSession
.
Kurz gesagt:
Enter-PSSession -ComputerName foo
startet eine-Sitzung über WinRMEnter-PSSession -ContainerId foo
undEnter-PSSession -VmId foo
starten eine Sitzung über PowerShell DirectEnter-PSSession -HostName foo
startet eine-Sitzung über SSH
Weitere Informationen finden Sie in der Dokumentation zu Enter-PSSession.
Da wir per Remoting auf eine Ubuntu-VM in Azure zugreifen, verwenden wir SSH.
Führen Sie zunächst in der integrierten Konsole Enter-PSSession
aus. Sie sind mit der Remotesitzung verbunden, wenn links neben Ihrer Eingabeaufforderung [<hostname>]
angezeigt wird.
Jetzt können wir dieselben Schritte ausführen wie beim Bearbeiten eines lokalen Skripts.
Führen Sie
Open-EditorFile test.ps1
oderpsedit test.ps1
aus, um die Remotedateitest.ps1
zu öffnen.Bearbeiten Sie die Datei bzw. / legen Sie Haltepunkte fest.
Beginnen Sie mit dem Debuggen (F5) der Remotedatei.
Zur Lösung eventuell noch auftretender Probleme steht Ihnen das GitHub-Repository zur Verfügung.