Visual Studio Code gebruiken voor externe bewerking en foutopsporing

Voor degenen die bekend zijn met de ISE, herinnert u zich misschien dat u vanuit de geïntegreerde console kunt uitvoeren om bestanden (lokaal of extern) te openen in de psedit file.ps1 ISE.

Deze functie is ook beschikbaar in de PowerShell-extensie voor VSCode. In deze handleiding ziet u hoe u dit doet.

Vereisten

In deze handleiding wordt ervan uitgenomen dat u het volgende hebt:

  • Een externe resource (bijvoorbeeld een VM, een container) die u kunt gebruiken
  • PowerShell wordt uitgevoerd op de computer en op de hostmachine
  • VSCode en de PowerShell-extensie voor VSCode

Deze functie werkt in PowerShell en Windows PowerShell.

Deze functie werkt ook wanneer u verbinding maakt met een externe machine via WinRM, PowerShell Direct of SSH. Als u SSH wilt gebruiken, maar wel Windows, raadpleegt u de Win32-versie van SSH!

Belangrijk

De Open-EditorFile opdrachten en werken alleen in de geïntegreerde psedit PowerShell-console die is gemaakt door de PowerShell-extensie voor VSCode.

Gebruiksvoorbeelden

In deze voorbeelden wordt extern bewerken en debuggen van een MacBook-Pro naar een Ubuntu-VM die wordt uitgevoerd in Azure. Het proces is identiek aan Windows.

Lokaal bestand bewerken met Open-EditorFile

Nu de PowerShell-extensie voor VSCode is gestart en de geïntegreerde PowerShell-console is geopend, kunnen we het lokale foo.ps1 openen of typen Open-EditorFile foo.ps1 psedit foo.ps1 in de editor.

Open-EditorFile foo.ps1 werkt lokaal

Notitie

Het bestand foo.ps1 moet al bestaan.

Van hier kunt u het volgende doen:

  • Onderbrekingspunten toevoegen aan de goot

    Een onderbrekingspunt toevoegen aan de goot

  • Druk op F5 om fouten in het PowerShell-script op te sporen.

    debugging van het lokale PowerShell-script

Tijdens de foutopsporing kunt u communiceren met de foutopsporingsconsole, de variabelen in het bereik aan de linkerkant en alle andere standaardhulpprogramma's voor foutopsporing controleren.

Externe bestandsbewerking met Open-EditorFile

Nu gaan we externe bestanden bewerken en debuggen. De stappen zijn bijna hetzelfde. Er is slechts één ding dat we eerst moeten doen: onze PowerShell-sessie invoeren op de externe server.

Er is een cmdlet voor om dit te doen. Het heet Enter-PSSession.

De uitleg van de cmdlet is:

  • Enter-PSSession -ComputerName foo start een sessie via WinRM
  • Enter-PSSession -ContainerId foo en Enter-PSSession -VmId foo een sessie starten via PowerShell Direct
  • Enter-PSSession -HostName foo start een sessie via SSH

Zie de documentatie voor Enter-PSSession voor meer informatie.

Omdat we van macOS naar een Ubuntu-VM in Azure gaan, gebruiken we SSH voor remoting.

Voer eerst uit in de geïntegreerde Enter-PSSession console. U bent verbonden met de externe sessie wanneer deze links van de prompt [<hostname>] wordt weer te zien.

Een Enter-PSSession om verbinding te maken met een externe sessie

Nu kunnen we dezelfde stappen uitvoeren als wanneer we een lokaal script bewerken.

  1. Voer Open-EditorFile test.ps1 uit of om het externe bestand te psedit test.ps1 test.ps1 openen

Het script bewerken op het externe systeem

  1. Het bestand bewerken/onderbrekingspunten instellen

    Onderbrekingspunten bewerken en instellen

  2. Start debuggging (F5) het externe bestand

    Debuggging the remote script (Debugging van het externe script)

Als u problemen hebt, kunt u problemen in de GitHub openen.