Delen via


Visual Studio Code gebruiken voor PowerShell-ontwikkeling

Visual Studio Code (VS Code) is een platformoverschrijdende scripteditor van Microsoft. Samen met de PowerShell-extensie biedt 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

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 van het instellen van Visual Studio Code voor meer informatie.

    Er zijn installatie-instructies voor elk platform:

  2. Installeer de PowerShell-extensie.

    1. Start de VS Code-app door in een console te typen code of code-insiders door Visual Studio Code Insiders te installeren.
    2. Start Snel openen in Windows of Linux door op Ctrl+P te drukken. Druk in macOS op Cmd+P.
    3. Typ ext install powershell en druk in Snel openen 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 de knop Installeren na de installatie wordt weergegeven 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 > nieuw. 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 volgende bestandsnaam. Als u VS Code wilt afsluiten, sluit u het bestand > af.

De PowerShell-extensie installeren op beperkte systemen

Sommige systemen zijn zo ingesteld dat alle codehandtekeningen moeten worden gevalideerd. De volgende fout kan optreden:

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 of u software wilt 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 opdrachtenpalet in Windows of Linux met Ctrl+Shift+P. In macOS gebruikt u 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 de documentatie over instellingen van Visual Studio Code te lezen.

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. Voorbeeld:

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

Tip

Zie Bestandscodering begrijpen voor meer informatie over bestandscodering in VS Code. Bekijk ook Hoe u de ISE-ervaring repliceert 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 in het opdrachtpalet naar en selecteer Gebruiker openen Instellingen. Of gebruik de sneltoets op Windows of Linux Ctrl+. Gebruik Cmd+ in macOS.
  2. Zoek in de Instellingen-editor naar Aanvullende Exe-paden van PowerShell.
  3. Klik op Add Item.
  4. Geef voor de sleutel (onder Item) uw naam op voor deze extra PowerShell-installatie.
  5. Geef voor de waarde (onder Waarde) het absolute pad op naar het uitvoerbare bestand zelf.

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 versionName waarde is nu de sleutel en de opgegeven exePath waarde is nu de waarde. U kunt dit eenvoudiger doen door de waarde opnieuw in te stellen en de Instellingen-interface 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 op of laadt u het huidige VS Code-venster opnieuw vanuit het opdrachtpalet, typtDeveloper: Reload Window u .

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 in 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 > openen...
  2. Een onderbrekingspunt instellen - selecteer een regel en druk op F9
  3. Druk op F5 om foutopsporing te starten

U ziet dat het deelvenster Foutopsporingsacties wordt weergegeven waarmee u kunt inbreken in het foutopsporingsprogramma, de stap, het hervatten en stoppen van foutopsporing.

Foutopsporing voor werkruimten

Werkruimtefoutopsporing verwijst naar foutopsporing in de context van een map die u hebt geopend in 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 foutopsporingsweergave in Windows of Linux door op Ctrl+Shift+D te drukken. Druk in macOS op Cmd+Shift+D.

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

  3. Kies PowerShell in de prompt Omgeving selecteren.

  4. Kies het type foutopsporing dat u wilt gebruiken:

    • Huidig bestand starten - Het bestand starten en fouten opsporen in het venster van de actieve editor
    • Script starten : het opgegeven bestand of de opgegeven opdracht starten en fouten opsporen
    • Interactieve sessie : 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 het launch.json bestand meestal doorvoeren. De inhoud van het launch.json bestand is:

{
  "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 de knop Configuratie toevoegen... U kunt op deze knop klikken om meer Configuraties voor foutopsporing in PowerShell toe te voegen. Een handige configuratie om toe te voegen 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 in de vervolgkeuzelijst voor foutopsporingsconfiguratie in de werkbalk van de foutopsporingsweergave .

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.

Handige 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.