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.

Bearbeitung von „foo.ps1“ in Open-EditorFile funktioniert lokal

Hinweis

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

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 WinRM
  • Enter-PSSession -ContainerId foo und Enter-PSSession -VmId foo starten eine Sitzung über PowerShell Direct
  • Enter-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.

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

Jetzt können wir dieselben Schritte ausführen wie beim Bearbeiten eines lokalen Skripts.

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

    Bearbeiten des Skripts im Remotesystem

  2. Bearbeiten Sie die Datei bzw. / legen Sie Haltepunkte fest.

    Bearbeiten und Festlegen von Haltepunkten

  3. Beginnen Sie mit dem Debuggen (F5) der Remotedatei.

    Debuggen des Remoteskripts

Zur Lösung eventuell noch auftretender Probleme steht Ihnen das GitHub-Repository zur Verfügung.