Verwenden von Visual Studio Code zur Remotebearbeitung und zum Debuggen

Für diejenigen, die mit dem ISE vertraut sind, können Sie daran erinnern, dass Sie psedit file.ps1 über die integrierte Konsole ausführen können, um Dateien - lokal oder remote - direkt im ISE zu öffnen.

Dieses Feature ist auch in der PowerShell-Erweiterung für VSCode verfügbar. In diesem Handbuch erfahren Sie, wie Sie dies tun.

Voraussetzungen

In diesem Leitfaden wird davon ausgegangen, dass Sie folgendes haben:

  • Eine Remoteressource (z. B. eine VM, ein Container), auf die Sie Zugriff haben
  • PowerShell, die darauf ausgeführt wird, und der Hostcomputer
  • VSCode und die PowerShell-Erweiterung für VSCode

Dieses Feature funktioniert auf PowerShell und Windows PowerShell.

Dieses Feature funktioniert auch beim Herstellen einer Verbindung mit einem Remotecomputer über WinRM, PowerShell Direct oder SSH. Wenn Sie SSH verwenden möchten, aber Windows nutzen, sehen Sie sich die Win32-Version von SSHan!

Wichtig

Die Befehle Open-EditorFile und psedit funktionieren nur in der integrierten PowerShell-Konsole, die von der PowerShell-Erweiterung für VSCode erstellt wurde.

Verwendungsbeispiele

Diese Beispiele zeigen Remotebearbeitung und Debugging von einem MacBook Pro zu einer Ubuntu-VM, die in Azure ausgeführt wird. Der Prozess ist unter Windows identisch.

Lokale Dateibearbeitung mit Open-EditorFile

Nachdem die PowerShell-Erweiterung für VSCode gestartet und die integrierte PowerShell-Konsole geöffnet wurde, können wir Open-EditorFile foo.ps1 oder psedit foo.ps1 eingeben, um die lokale foo.ps1 Datei direkt im Editor zu öffnen.

Open-EditorFile foo.ps1 funktioniert lokal

Anmerkung

Die Datei foo.ps1 muss bereits vorhanden sein.

Von dort aus können wir:

  • Fügen Sie Haltepunkte zum Bundsteg hinzu.

    Hinzufügen eines Haltepunkts zum Bundsteg

  • Drücken Sie F5, um das PowerShell-Skript zu debuggen.

    Debuggen des lokalen PowerShell-Skripts

Beim Debuggen können Sie mit der Debugkonsole interagieren, die Variablen im Bereich auf der linken Seite und alle anderen Standarddebuggingtools auschecken.

Remotedateibearbeitung mit Open-EditorFile

Jetzt befassen wir uns mit der Remotedateibearbeitung und dem Debuggen. Die Schritte sind fast gleich, es gibt nur eine Sache, die wir zuerst ausführen müssen – geben Sie unsere PowerShell-Sitzung auf den Remoteserver ein.

Dazu gibt es ein Cmdlet. Es wird als Enter-PSSessionbezeichnet.

Kurz gesagt:

  • Enter-PSSession -ComputerName foo startet eine Sitzung über WinRM
  • Enter-PSSession -ContainerId foo und Enter-PSSession -VmId foo eine Sitzung über PowerShell Direct starten
  • Enter-PSSession -HostName foo startet eine Sitzung über SSH

Weitere Informationen finden Sie in der Dokumentation zu Enter-PSSession.

Da wir ein Remoting auf eine Ubuntu-VM in Azure durchführen, verwenden wir SSH.

Führen Sie zunächst in der integrierten Konsole Enter-PSSessionaus. Sie sind mit der Remote-Session verbunden, wenn [<hostname>] links neben dem Prompt angezeigt wird.

Aufrufen von „Enter-PSSession“ zum Herstellen einer Verbindung mit einer Remotesitzung

Jetzt können wir dieselben Schritte ausführen, als ob wir ein lokales Skript bearbeiten.

  1. Führen Sie Open-EditorFile test.ps1 oder psedit test.ps1 aus, um die Remotedatei test.ps1 zu öffnen.

    Bearbeiten des Skripts auf dem Remotesystem

  2. Datei bearbeiten/Haltepunkte festlegen

    Bearbeiten und Festlegen von Haltepunkten

  3. Starten des Debuggens (F5) der Remotedatei

    Debuggen des Remoteskripts

Wenn Probleme auftreten, können Sie Probleme im GitHub-Repositoryöffnen.