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
Installeer Visual Studio Code. Zie het overzicht van het instellen van Visual Studio Code voor meer informatie.
Er zijn installatie-instructies voor elk platform:
Installeer de PowerShell-extensie.
- Start de VS Code-app door in een console te typen
code
ofcode-insiders
door Visual Studio Code Insiders te installeren. - Start Snel openen in Windows of Linux door op Ctrl+P te drukken. Druk in macOS op Cmd+P.
- Typ
ext install powershell
en druk in Snel openen op Enter. - De weergave Extensies wordt geopend op de zijbalk. Selecteer de PowerShell-extensie van Microsoft.
- Klik op de knop Installeren in de PowerShell-extensie van Microsoft.
- Als de knop Installeren na de installatie wordt weergegeven in Opnieuw laden, klikt u op Opnieuw laden.
- Nadat VS Code opnieuw is geladen, bent u klaar om te bewerken.
- Start de VS Code-app door in een console te typen
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:
- Open het opdrachtenpalet in Windows of Linux met Ctrl+Shift+P. In macOS gebruikt u Cmd+Shift+P.
- Zoek naar sessie.
- Klik op PowerShell: Sessiemenu weergeven.
- 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:
- Zoek in het opdrachtpalet naar en selecteer Gebruiker openen Instellingen. Of gebruik de sneltoets op Windows of Linux Ctrl+. Gebruik Cmd+ in macOS.
- Zoek in de Instellingen-editor naar Aanvullende Exe-paden van PowerShell.
- Klik op Add Item.
- Geef voor de sleutel (onder Item) uw naam op voor deze extra PowerShell-installatie.
- 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.
- Open het PowerShell-scriptbestand met Bestand > openen...
- Een onderbrekingspunt instellen - selecteer een regel en druk op F9
- 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:
Open de foutopsporingsweergave in Windows of Linux door op Ctrl+Shift+D te drukken. Druk in macOS op Cmd+Shift+D.
Klik op de koppeling een launch.json bestand maken.
Kies PowerShell in de prompt Omgeving selecteren.
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
- Visual Studio Code gebruiken als uw standaard PowerShell-editor
- Visual Studio Code: uitgebreide informatie over het opsporen van fouten in uw PowerShell-scripts
Blogberichten
- PowerShell-extensie
- PowerShell-scripts schrijven en fouten opsporen in Visual Studio Code
- Richtlijnen voor Foutopsporing in Visual Studio Code
- Foutopsporing in PowerShell in Visual Studio Code
- Aan de slag met PowerShell-ontwikkeling in Visual Studio Code
- Visual Studio Code-bewerkingsfuncties voor PowerShell-ontwikkeling - deel 1
- Visual Studio Code-bewerkingsfuncties voor PowerShell-ontwikkeling - deel 2
- Fouten opsporen in PowerShell-script in Visual Studio Code - deel 1
- Foutopsporing in PowerShell-script in Visual Studio Code - deel 2
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.