Använda Visual Studio Code för PowerShell-utveckling

Visual Studio Code (VS Code) är en plattformsoberoende skriptredigerare av Microsoft. Tillsammans med PowerShell-tillägget ger det en omfattande och interaktiv skriptredigeringsupplevelse, vilket gör det enklare att skriva tillförlitliga PowerShell-skript. Visual Studio Code med PowerShell-tillägget är den rekommenderade redigeraren för att skriva PowerShell-skript.

Den stöder följande PowerShell-versioner:

  • PowerShell 7.2 och senare (Windows, macOS och Linux)
  • Windows PowerShell 5.1 (endast Windows) med .NET Framework 4.8

Kommentar

Visual Studio Code är inte samma sak som Visual Studio.

Komma igång

Kontrollera att PowerShell finns i systemet innan du börjar. Moderna arbetsbelastningar i Windows, macOS och Linux finns på följande länkar:

Traditionella Windows PowerShell-arbetsbelastningar finns i Installera Windows PowerShell.

Viktigt!

Windows PowerShell ISE är fortfarande tillgängligt för Windows. Det är dock inte längre i aktiv funktionsutveckling. ISE fungerar bara med PowerShell 5.1 och äldre. Som en komponent i Windows stöds det fortfarande officiellt för säkerhets- och högprioriterande servicekorrigeringar. Vi har inga planer på att ta bort ISE från Windows.

Installera VS Code och PowerShell-tillägget

  1. Installera Visual Studio Code. Mer information finns i översikten Konfigurera Visual Studio Code.

    Det finns installationsanvisningar för varje plattform:

  2. Installera PowerShell-tillägget.

    1. Starta VS Code-appen genom att code skriva i en konsol eller code-insiders om du har installerat Visual Studio Code Insiders.
    2. Starta Snabböppning i Windows eller Linux genom att trycka på Ctrl+P. Tryck på Cmd+PmacOS.
    3. I Snabböppning skriver ext install powershell du och trycker på Retur.
    4. Vyn Tillägg öppnas i sidofältet. Välj PowerShell-tillägget från Microsoft.
    5. Klicka på knappen Installera i PowerShell-tillägget från Microsoft.
    6. Efter installationen, om du ser knappen Installera förvandlas till Läs in igen klickar du på Läs in igen.
    7. När VS Code har lästs in igen är du redo för redigering.

Om du till exempel vill skapa en ny fil klickar du på Ny fil>. Om du vill spara den klickar du på Spara fil > och anger sedan ett filnamn, till exempel HelloWorld.ps1. Stäng filen genom att klicka på X bredvid filnamnet. Avsluta VS Code genom att avsluta filen>.

Installera PowerShell-tillägget på begränsade system

Vissa system är konfigurerade för att kräva validering av alla kodsignaturer. Du kan få följande fel:

Language server startup failed.

Det här problemet kan uppstå när PowerShells körningsprincip anges av Windows-grupprincip. Om du vill godkänna PowerShell Editor Services manuellt och PowerShell-tillägget för VS Code öppnar du en PowerShell-prompt och kör följande kommando:

Import-Module $HOME\.vscode\extensions\ms-vscode.powershell*\modules\PowerShellEditorServices\PowerShellEditorServices.psd1

Du uppmanas att köra programvara från den här utgivaren som inte är betrodd? Skriv A för att köra filen. Öppna sedan VS Code och kontrollera att PowerShell-tillägget fungerar korrekt. Om du fortfarande har problem med att komma igång kan du meddela oss i ett GitHub-problem.

Välja en version av PowerShell som ska användas med tillägget

När PowerShell installeras sida vid sida med Windows PowerShell går det nu att använda en specifik version av PowerShell med PowerShell-tillägget. Den här funktionen tittar på några välkända sökvägar på olika operativsystem för att identifiera installationer av PowerShell.

Använd följande steg för att välja version:

  1. Öppna kommandopaletten i Windows eller Linux med Ctrl+Skift+P. På macOS använder du Cmd+Shift+P.
  2. Sök efter session.
  3. Klicka på PowerShell: Visa sessionsmenyn.
  4. Välj den version av PowerShell som du vill använda i listan.

Om du har installerat PowerShell på en icke-typisk plats kanske den inte visas från början i sessionsmenyn. Du kan utöka sessionsmenyn genom att lägga till egna anpassade sökvägar enligt beskrivningen nedan.

PowerShell-sessionsmenyn kan också nås från {} ikonen i det nedre högra hörnet i statusfältet. Om du hovrar på eller väljer den här ikonen visas en genväg till sessionsmenyn och en liten fästikon. Om du väljer fästikonen läggs versionsnumret till i statusfältet. Versionsnumret är en genväg till sessionsmenyn som kräver färre klickningar.

Kommentar

Om du fäster versionsnumret replikeras beteendet för tillägget i versioner av VS Code före 1.65. 1.65-versionen av VS Code ändrade API:erna som PowerShell-tillägget använder och standardiserade statusfältet för språktillägg.

Konfigurationsinställningar för Visual Studio Code

Om du inte är bekant med hur du ändrar inställningarna i VS Code rekommenderar vi att du läser dokumentationen för Visual Studio Code-inställningar .

När du har läst dokumentationen kan du lägga till konfigurationsinställningar i settings.json.

{
    "editor.renderWhitespace": "all",
    "editor.renderControlCharacters": true,
    "files.trimTrailingWhitespace": true,
    "files.encoding": "utf8bom",
    "files.autoGuessEncoding": true
}

Om du inte vill att de här inställningarna ska påverka alla filtyper tillåter VS Code även konfigurationer per språk. Skapa en språkspecifik inställning genom att placera inställningar i ett [<language-name>] fält. Till exempel:

{
    "[powershell]": {
        "files.encoding": "utf8bom",
        "files.autoGuessEncoding": true
    }
}

Dricks

Mer information om filkodning i VS Code finns i Förstå filkodning. Se även Hur du replikerar ISE-upplevelsen i VS Code för andra tips om hur du konfigurerar VS Code för PowerShell-redigering.

Lägga till egna PowerShell-sökvägar i sessionsmenyn

Du kan lägga till andra körbara PowerShell-sökvägar i sessionsmenyn via Visual Studio Code-inställningen: powershell.powerShellAdditionalExePaths.

Du kan göra detta med hjälp av användargränssnittet:

  1. I kommandopaletten söker du efter och väljer Öppna användare Inställningar. Eller använd kortkommandot i Windows eller Linux Ctrl+. Använd Cmd+ på macOS.
  2. I Inställningar redigeraren söker du efter Ytterligare PowerShell-sökvägar för exe.
  3. Klicka på Lägg till objekt.
  4. För nyckeln (under Objekt) anger du val av namn för den här ytterligare PowerShell-installationen.
  5. För Värdet (under Värde) anger du den absoluta sökvägen till själva körbara filen.

Du kan lägga till så många ytterligare sökvägar som du vill. De tillagda objekten visas i sessionsmenyn med den angivna nyckeln som namn.

Du kan också lägga till nyckel/värde-par i objektet powershell.powerShellAdditionalExePaths i :settings.json

{
    "powershell.powerShellAdditionalExePaths": {
        "Downloaded PowerShell": "C:/Users/username/Downloads/PowerShell/pwsh.exe",
        "Built PowerShell": "C:/Users/username/src/PowerShell/src/powershell-win-core/bin/Debug/net6.0/win7-x64/publish/pwsh.exe"
    },
}

Kommentar

Före version 2022.5.0 av tillägget var den här inställningen en lista över objekt med nödvändiga nycklar exePath och versionName. En icke-bakåtkompatibel ändring introducerades för att stödja konfiguration via GUI. Om du tidigare har konfigurerat den här inställningen konverterar du den till det nya formatet. Värdet som anges för versionName är nu Nyckeln, och värdet som anges för exePath är nu Värdet. Du kan göra det enklare genom att återställa värdet och använda Inställningar-gränssnittet.

Om du vill ange standardversionen av PowerShell anger du värdet powershell.powerShellDefaultVersion till den text som visas i sessionsmenyn (texten som används för nyckeln):

{
    "powershell.powerShellAdditionalExePaths": {
        "Downloaded PowerShell": "C:/Users/username/Downloads/PowerShell/pwsh.exe",
    },
    "powershell.powerShellDefaultVersion": "Downloaded PowerShell",
}

När du har konfigurerat den här inställningen startar du om VS Code eller läser in det aktuella VS Code-fönstret igen från kommandopaletten och skriver Developer: Reload Window.

Om du öppnar sessionsmenyn ser du nu ytterligare PowerShell-installationer.

Dricks

Om du skapar PowerShell från källan är det här ett bra sätt att testa din lokala version av PowerShell.

Felsökning med Visual Studio Code

Felsökning utan arbetsyta

I VS Code version 1.9 (eller senare) kan du felsöka PowerShell-skript utan att öppna mappen som innehåller PowerShell-skriptet.

  1. Öppna PowerShell-skriptfilen med Öppna fil > ...
  2. Ange en brytpunkt – välj en rad och tryck sedan på F9
  3. Tryck på F5 för att börja felsöka

Du bör se fönstret Felsökningsåtgärder som gör att du kan bryta dig in i felsökningsprogrammet, stega, återuppta och sluta felsöka.

Felsökning av arbetsyta

Felsökning av arbetsytor refererar till felsökning i kontexten för en mapp som du har öppnat från menyn Arkiv med öppna mapp.... Den mapp som du öppnar är vanligtvis din PowerShell-projektmapp eller roten för git-lagringsplatsen. Med felsökning av arbetsytor kan du definiera flera felsökningskonfigurationer förutom att bara felsöka den öppna filen.

Följ dessa steg för att skapa en felsökningskonfigurationsfil:

  1. Öppna felsökningsvyni Windows eller Linux genom att trycka på Ctrl+Skift+D. Tryck på Cmd+Shift+DmacOS.

  2. Klicka på länken skapa en launch.json fil.

  3. I kommandotolken Välj miljö väljer du PowerShell.

  4. Välj vilken typ av felsökning du vill använda:

    • Starta aktuell fil – Starta och felsöka filen i det aktiva redigeringsfönstret
    • Starta skript – Starta och felsöka den angivna filen eller kommandot
    • Interaktiv session – Felsöka kommandon som körs från den integrerade konsolen
    • Bifoga – Koppla felsökningsprogrammet till en PowerShell-värdprocess som körs

VS Code skapar en katalog och en fil .vscode\launch.json i roten av arbetsytemappen för att lagra felsökningskonfigurationen. Om dina filer finns på en Git-lagringsplats vill du vanligtvis checka in launch.json filen. Innehållet i launch.json filen är:

{
  "version": "0.2.0",
  "configurations": [
      {
          "type": "PowerShell",
          "request": "launch",
          "name": "PowerShell Launch (current file)",
          "script": "${file}",
          "args": [],
          "cwd": "${file}"
      },
      {
          "type": "PowerShell",
          "request": "attach",
          "name": "PowerShell Attach to Host Process",
          "processId": "${command.PickPSHostProcess}",
          "runspaceId": 1
      },
      {
          "type": "PowerShell",
          "request": "launch",
          "name": "PowerShell Interactive Session",
          "cwd": "${workspaceRoot}"
      }
  ]
}

Den här filen representerar de vanliga felsökningsscenarierna. När du öppnar den här filen i redigeraren visas knappen Lägg till konfiguration... . Du kan klicka på den här knappen om du vill lägga till fler PowerShell-felsökningskonfigurationer. En användbar konfiguration att lägga till är PowerShell: Starta skript. Med den här konfigurationen kan du ange en fil som innehåller valfria argument som används när du trycker på F5 oavsett vilken fil som är aktiv i redigeraren.

När felsökningskonfigurationen har upprättats kan du välja den konfiguration som du vill använda under en felsökningssession. Välj en konfiguration i listrutan felsökningskonfiguration i verktygsfältet för felsökningsvyn .

Felsöka PowerShell-tillägget

Om du får problem med att använda VS Code för PowerShell-skriptutveckling kan du läsa felsökningsguiden på GitHub.

Användbara resurser

Det finns några videor och blogginlägg som kan vara till hjälp för att komma igång med PowerShell-tillägget för VS Code:

Videoklipp

Blogginlägg

Källkod för PowerShell-tilläggsprojekt

PowerShell-tilläggets källkod finns på GitHub.

Om du är intresserad av att bidra är pull-begäranden mycket uppskattade. Följ med utvecklardokumentationen på GitHub för att komma igång.