Använda Visual Studio Code för att fjärredigera och fjärrfelsöka

För dig som är bekant med ISE kan du komma ihåg att du kan köra psedit file.ps1 från den integrerade konsolen för att öppna filer – lokala eller fjärranslutna – direkt i ISE.

Den här funktionen är också tillgänglig i PowerShell-tillägget för VSCode. Den här guiden visar hur du gör det.

Förutsättningar

Den här guiden förutsätter att du har:

  • En fjärrresurs (till exempel en virtuell dator, en container) som du har åtkomst till
  • PowerShell körs på den och värddatorn
  • VSCode och PowerShell-tillägget för VSCode

Den här funktionen fungerar i PowerShell och Windows PowerShell.

Den här funktionen fungerar också när du ansluter till en fjärrdator via WinRM, PowerShell Direct eller SSH. Om du vill använda SSH, men använder Windows, kan du kolla in Win32-versionen av SSH!

Viktigt!

Kommandona Open-EditorFile och psedit fungerar bara i den PowerShell-integrerade konsolen som skapats av PowerShell-tillägget för VSCode.

Exempel på användning

I de här exemplen visas fjärrredigering och felsökning från en MacBook Pro till en virtuell Ubuntu-dator som körs i Azure. Processen är identisk i Windows.

Lokal filredigering med Open-EditorFile

När PowerShell-tillägget för VSCode har startats och PowerShell Integrated Console har öppnats kan vi skriva Open-EditorFile foo.ps1 eller psedit foo.ps1 öppna den lokala foo.ps1-filen direkt i redigeraren.

Open-EditorFile foo.ps1 fungerar lokalt

Kommentar

Filen foo.ps1 måste redan finnas.

Därifrån kan vi:

  • Lägg till brytpunkter i rännstenen

    Lägga till en brytpunkt i rännstenen

  • Tryck på F5 för att felsöka PowerShell-skriptet.

    felsöka det lokala PowerShell-skriptet

När du felsöker kan du interagera med felsökningskonsolen, kolla in variablerna i omfånget till vänster och alla andra standardverktyg för felsökning.

Fjärrfilredigering med Open-EditorFile

Nu ska vi gå in på fjärrfilredigering och felsökning. Stegen är nästan desamma, det finns bara en sak vi behöver göra först – ange vår PowerShell-session på fjärrservern.

Det finns en cmdlet för att göra det. Den kallas Enter-PSSession.

Kort och kort:

  • Enter-PSSession -ComputerName foo startar en session via WinRM
  • Enter-PSSession -ContainerId foo och Enter-PSSession -VmId foo starta en session via PowerShell Direct
  • Enter-PSSession -HostName foo startar en session via SSH

Mer information finns i dokumentationen för Enter-PSSession.

Eftersom vi fjärrkommunikation till en virtuell Ubuntu-dator i Azure använder vi SSH.

Kör först i den integrerade konsolen Enter-PSSession. Du är ansluten till fjärrsessionen när [<hostname>] den visas till vänster om prompten.

Anropa Enter-PSSession för att ansluta till en fjärrsession

Nu kan vi göra samma steg som om vi redigerar ett lokalt skript.

  1. Kör Open-EditorFile test.ps1 eller psedit test.ps1 öppna fjärrfilen test.ps1

    Redigera skriptet i fjärrsystemet

  2. Redigera filen/ange brytpunkter

    Redigera och ange brytpunkter

  3. Starta felsökningen (F5) av fjärrfilen

    Felsöka fjärrskriptet

Om du har problem kan du öppna problem på GitHub-lagringsplatsen.