Delen via


Visual Studio Code gebruiken voor PowerShell-ontwikkeling

Visual Studio Code (VS Code) is een platformoverschrijdende scripteditor van Microsoft. Samen met de PowerShell-extensiebiedt het een uitgebreide en interactieve bewerkingservaring voor scripts, waardoor het eenvoudiger is om betrouwbare PowerShell-scripts te schrijven. Visual Studio Code met de PowerShell-extensie is de aanbevolen editor voor het schrijven van PowerShell-scripts.

Het ondersteunt de volgende PowerShell-versies:

  • PowerShell 7.2 en hoger (Windows, macOS en Linux)
  • Windows PowerShell 5.1 (alleen Windows) met .NET Framework 4.8

Notitie

Visual Studio Code is niet hetzelfde als Visual Studio.

Aan de slag

Controleer voordat u begint of PowerShell bestaat op uw systeem. Zie de volgende koppelingen voor moderne workloads in Windows, macOS en Linux:

Zie Windows PowerShell-installeren voor traditionele Windows PowerShell-workloads.

Belangrijk

De Windows PowerShell ISE- is nog steeds beschikbaar voor Windows. Het is echter niet meer actief in het ontwikkelen van functies. De ISE werkt alleen met PowerShell 5.1 en ouder. Als onderdeel van Windows wordt het nog steeds officieel ondersteund voor beveiligings- en onderhoudsoplossingen met hoge prioriteit. We hebben geen plannen om de ISE uit Windows te verwijderen.

VS Code en de PowerShell-extensie installeren

  1. Installeer Visual Studio Code. Zie het overzicht Visual Studio Code instellenvoor meer informatie.

    Er zijn installatie-instructies voor elk platform:

  2. Installeer de PowerShell-extensie.

    1. Start de VS Code-app door code te typen in een console of code-insiders als u Visual Studio Code Insiders hebt geïnstalleerd.
    2. Start Snel openen in Windows of Linux door op Ctrl+Pte drukken. Druk in macOS op Cmd+P.
    3. Typ ext install powershell in Snel openen en druk op Enter-.
    4. De weergave Extensies wordt geopend op de zijbalk. Selecteer de PowerShell-extensie van Microsoft.
    5. Klik op de knop installeren in de PowerShell-extensie van Microsoft.
    6. Als u na de installatie de knop Installeren ziet veranderen in opnieuw laden, klikt u op opnieuw laden.
    7. Nadat VS Code opnieuw is geladen, bent u klaar om te bewerken.

Als u bijvoorbeeld een nieuw bestand wilt maken, klikt u op Bestand > Nieuwe. Als u het bestand wilt opslaan, klikt u op Bestand > Opslaan en geeft u een bestandsnaam op, zoals HelloWorld.ps1. Als u het bestand wilt sluiten, klikt u op de X naast de bestandsnaam. Als u VS Code wilt afsluiten, bestand > afsluiten.

De PowerShell-extensie installeren op beperkte systemen

Sommige systemen zijn zo ingesteld dat alle codehandtekeningen moeten worden gevalideerd. Mogelijk wordt de volgende fout weergegeven:

Language server startup failed.

Dit probleem kan optreden wanneer het uitvoeringsbeleid van PowerShell is ingesteld door Windows-groepsbeleid. Als u PowerShell Editor Services en de PowerShell-extensie voor VS Code handmatig wilt goedkeuren, opent u een PowerShell-prompt en voert u de volgende opdracht uit:

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

U wordt gevraagd om Wilt u software uitvoeren vanaf deze niet-vertrouwde uitgever? Typ A om het bestand uit te voeren. Open VERVOLGENS VS Code en controleer of de PowerShell-extensie goed werkt. Als u nog steeds problemen ondervindt om aan de slag te gaan, laat het ons dan weten in een GitHub-probleem.

Een versie van PowerShell kiezen voor gebruik met de extensie

Als PowerShell naast Windows PowerShell wordt geïnstalleerd, is het nu mogelijk om een specifieke versie van PowerShell te gebruiken met de PowerShell-extensie. Deze functie bekijkt enkele bekende paden op verschillende besturingssystemen om installaties van PowerShell te detecteren.

Gebruik de volgende stappen om de versie te kiezen:

  1. Open het opdrachtpalet in Windows of Linux met Ctrl+Shift+P. Gebruik in macOS Cmd+Shift+P.
  2. Zoek naar sessie.
  3. Klik op PowerShell: Sessiemenu weergeven.
  4. Kies de versie van PowerShell die u wilt gebruiken in de lijst.

Als u PowerShell op een niet-typische locatie hebt geïnstalleerd, wordt deze mogelijk niet in eerste instantie weergegeven in het sessiemenu. U kunt het sessiemenu uitbreiden door uw eigen aangepaste paden toe te voegen, zoals hieronder wordt beschreven.

Het PowerShell-sessiemenu kan ook worden geopend via het pictogram {} in de rechterbenedenhoek van de statusbalk. Als u dit pictogram aanwijst of selecteert, wordt een snelkoppeling naar het sessiemenu en een klein speldpictogram weergegeven. Als u het speldpictogram selecteert, wordt het versienummer toegevoegd aan de statusbalk. Het versienummer is een snelkoppeling naar het sessiemenu waarvoor minder klikken nodig zijn.

Notitie

Door het versienummer vast te maken, wordt het gedrag van de extensie gerepliceerd in versies van VS Code vóór 1.65. De 1.65-release van VS Code heeft de API's gewijzigd die de PowerShell-extensie gebruikt en gestandaardiseerd de statusbalk voor taalextensies.

Configuratie-instellingen voor Visual Studio Code

Als u niet bekend bent met het wijzigen van instellingen in VS Code, raden we u aan instellingen van Visual Studio Code te lezen documentatie.

Nadat u de documentatie hebt gelezen, kunt u configuratie-instellingen toevoegen in settings.json.

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

Als u niet wilt dat deze instellingen van invloed zijn op alle bestandstypen, staat VS Code ook configuraties per taal toe. Maak een taalspecifieke instelling door instellingen in een [<language-name>] veld te plaatsen. Bijvoorbeeld:

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

Tip

Zie Understanding file encodingvoor meer informatie over bestandscodering in VS Code. Bekijk ook De ISE-ervaring repliceren in VS Code voor andere tips over het configureren van VS Code voor PowerShell-bewerking.

Uw eigen PowerShell-paden toevoegen aan het sessiemenu

U kunt andere uitvoerbare PowerShell-paden toevoegen aan het sessiemenu via de Visual Studio Code-instelling: powershell.powerShellAdditionalExePaths.

U kunt dit doen met behulp van de GUI:

  1. Zoek en selecteer in het opdrachtpaletGebruikersinstellingen openen. Of gebruik de sneltoets op Windows of Linux Ctrl+,. Gebruik in macOS Cmd-+,.
  2. Zoek in de editor Instellingen naar Extra Exe-paden van PowerShell.
  3. Klik op Item toevoegen.
  4. Geef voor de Key (onder Item) de gewenste naam op voor deze extra PowerShell-installatie.
  5. Geef voor de waarde (onder waarde) het absolute pad naar het uitvoerbare bestand zelf op.

U kunt zo veel extra paden toevoegen als u wilt. De toegevoegde items worden weergegeven in het sessiemenu met de opgegeven sleutel als de naam.

U kunt ook sleutel-waardeparen toevoegen aan het object powershell.powerShellAdditionalExePaths in uw 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"
    },
}

Notitie

Vóór versie 2022.5.0 van de extensie was deze instelling een lijst met objecten met de vereiste sleutels exePath en versionName. Er is een belangrijke wijziging geïntroduceerd ter ondersteuning van configuratie via GUI. Als u deze instelling eerder hebt geconfigureerd, converteert u deze naar de nieuwe indeling. De opgegeven waarde voor versionName is nu de sleutelen de waarde die is opgegeven voor exePath is nu de waarde. U kunt dit eenvoudiger doen door de waarde opnieuw in te stellen en de interface Instellingen te gebruiken.

Als u de standaardVersie van PowerShell wilt instellen, stelt u de waarde powershell.powerShellDefaultVersion in op de tekst die wordt weergegeven in het sessiemenu (de tekst die voor de sleutel wordt gebruikt):

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

Nadat u deze instelling hebt geconfigureerd, start u VS Code opnieuw of laadt u het huidige VS Code-venster opnieuw vanuit het opdrachtpalet, typt u Developer: Reload Window.

Als u het sessiemenu opent, ziet u nu uw extra PowerShell-installaties.

Tip

Als u PowerShell vanaf de bron bouwt, is dit een uitstekende manier om uw lokale build van PowerShell te testen.

Foutopsporing met Visual Studio Code

Foutopsporing zonder werkruimten

In VS Code versie 1.9 (of hoger) kunt u fouten opsporen in PowerShell-scripts zonder de map te openen die het PowerShell-script bevat.

  1. Open het PowerShell-scriptbestand met Bestand > Bestand openen...
  2. Een onderbrekingspunt instellen: selecteer een regel en druk op F9-
  3. Druk op F5- om te beginnen met foutopsporing

U ziet dat het deelvenster Foutopsporingsacties verschijnt waarmee u het foutopsporingsprogramma kunt onderbreken, stap voor stap doorlopen, hervatten en stoppen.

Debuggen van werkruimten

Werkruimtefoutopsporing verwijst naar foutopsporing in de context van een map die u hebt geopend vanuit het menu Bestand met behulp van Map openen.... De map die u opent, is doorgaans uw PowerShell-projectmap of de hoofdmap van uw Git-opslagplaats. Met foutopsporing voor werkruimten kunt u meerdere foutopsporingsconfiguraties definiëren, behalve het opsporen van fouten in het momenteel geopende bestand.

Volg deze stappen om een foutopsporingsconfiguratiebestand te maken:

  1. Open de weergave Foutopsporing in Windows of Linux door op de Ctrl+Shift+Dte drukken. Druk in macOS op Cmd+Shift+D.

  2. Klik op de maak een launch.json bestand koppeling.

  3. Kies bij de Omgeving selecteren-prompt PowerShell-.

  4. Kies het type foutopsporing dat u wilt gebruiken:

    • Huidige bestand starten - Het bestand starten en fouten opsporen in het venster van de huidige actieve editor
    • script starten - Het opgegeven bestand of de opgegeven opdracht starten en fouten opsporen
    • Interactive Session - Foutopsporingsopdrachten uitgevoerd vanuit de geïntegreerde console
    • koppelen : het foutopsporingsprogramma koppelen aan een actief PowerShell-hostproces

VS Code maakt een map en een bestand .vscode\launch.json in de hoofdmap van uw werkruimtemap om de foutopsporingsconfiguratie op te slaan. Als uw bestanden zich in een Git-opslagplaats bevinden, wilt u meestal het launch.json bestand doorvoeren. De inhoud van het bestand launch.json zijn:

{
  "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}"
      }
  ]
}

Dit bestand vertegenwoordigt de veelvoorkomende foutopsporingsscenario's. Wanneer u dit bestand opent in de editor, ziet u een knop Configuratie toevoegen.... U kunt op deze knop klikken om meer Configuraties voor foutopsporing in PowerShell toe te voegen. Een handige configuratie die u kunt toevoegen, is PowerShell: Script starten. Met deze configuratie kunt u een bestand opgeven met optionele argumenten die worden gebruikt wanneer u op F5 drukt ongeacht welk bestand actief is in de editor.

Nadat de foutopsporingsconfiguratie tot stand is gebracht, kunt u de configuratie selecteren die u wilt gebruiken tijdens een foutopsporingssessie. Selecteer een configuratie uit de uitklaplijst voor foutopsporingsconfiguratie in de werkbalk van de Foutopsporing weergave.

Problemen met de PowerShell-extensie oplossen

Als u problemen ondervindt met het ontwikkelen van VS Code voor PowerShell-scripts, raadpleegt u de gids voor probleemoplossing op GitHub.

Nuttige bronnen

Er zijn enkele video's en blogberichten die nuttig kunnen zijn om u op weg te helpen met de PowerShell-extensie voor VS Code:

Video's

Blogberichten

Broncode van PowerShell-extensieproject

De broncode van de PowerShell-extensie vindt u op GitHub-.

Als u geïnteresseerd bent in het bijdragen, worden pull-aanvragen zeer gewaardeerd. Volg de documentatie voor ontwikkelaars op GitHub om aan de slag te gaan.