Uso di Visual Studio Code per lo sviluppo di PowerShell
Visual Studio Code (VS Code) è un editor di script multipiattaforma di Microsoft. Insieme all'estensione di PowerShell , offre un'esperienza di modifica degli script avanzata e interattiva, semplificando la scrittura di script powerShell affidabili. Visual Studio Code con l'estensione PowerShell è l'editor consigliato per la scrittura di script di PowerShell.
Supporta le versioni di PowerShell seguenti:
- PowerShell 7.2 e versioni successive (Windows, macOS e Linux)
- Windows PowerShell 5.1 (solo Windows) con .NET Framework 4.8
Nota
Visual Studio Code non equivale a Visual Studio.
Iniziare
Prima di iniziare, assicurarsi che PowerShell esista nel sistema. Per i carichi di lavoro moderni in Windows, macOS e Linux, vedere i collegamenti seguenti:
- Installazione di PowerShell in Linux
- Installazione di PowerShell in macOS
- Installazione di PowerShell in Windows
Per i carichi di lavoro tradizionali di Windows PowerShell, vedere Installazione di Windows PowerShell.
Importante
L'ambiente Windows PowerShell ISE è ancora disponibile per Windows. Tuttavia, non è più in sviluppo attivo di funzionalità. L'ISE funziona solo con PowerShell 5.1 e versioni precedenti. Come componente di Windows, continua a essere ufficialmente supportato per le correzioni di manutenzione di sicurezza e ad alta priorità. non abbiamo intenzione di rimuovere l'ISE da Windows.
Installare VS Code e l'estensione PowerShell
Installare Visual Studio Code. Per maggiori dettagli, consultare la panoramica Configurazione di Visual Studio Code.
Per ogni piattaforma sono disponibili istruzioni di installazione:
Installare l'estensione PowerShell.
- Avviare l'app VS Code digitando
code
in una console ocode-insiders
se è stato installato Visual Studio Code Insiders. - Avvia Apertura Rapida su Windows o Linux premendo Ctrl+P. In macOS premere Cmd+P.
- In Apertura rapida digitare
ext install powershell
e premere INVIO. - La visualizzazione Estensioni si apre sulla barra laterale. Selezionare l'estensione PowerShell da Microsoft.
- Fare clic sul pulsante Installa nell'estensione PowerShell di Microsoft.
- Dopo l'installazione, se il pulsante Installa si trasforma in Ricarica, fare clic su Ricarica.
- Dopo aver ricaricato VS Code, si è pronti per la modifica.
- Avviare l'app VS Code digitando
Ad esempio, per creare un nuovo file, fare clic su File > Nuovo. Per salvarlo, fare clic su File > Salva e quindi specificare un nome file, ad esempio HelloWorld.ps1
. Per chiudere il file, fare clic sul X
accanto al nome file.
Per uscire da VS Code, File > Uscire.
Installazione dell'estensione PowerShell nei sistemi con restrizioni
Alcuni sistemi sono configurati per richiedere la convalida di tutte le firme di codice. È possibile che venga visualizzato l'errore seguente:
Language server startup failed.
Questo problema può verificarsi quando i criteri di esecuzione di PowerShell vengono impostati da Criteri di gruppo di Windows. Per approvare manualmente i servizi editor di PowerShell e l'estensione PowerShell per VS Code, aprire un prompt di PowerShell ed eseguire il comando seguente:
Import-Module $HOME\.vscode\extensions\ms-vscode.powershell*\modules\PowerShellEditorServices\PowerShellEditorServices.psd1
Ti viene chiesto Vuoi eseguire il software da questo editore non attendibile? Digita A
per eseguire il file. Aprire quindi VS Code e verificare che l'estensione powerShell funzioni correttamente. Se si verificano ancora problemi durante l'avvio, segnalarlo in un problema di GitHub .
Scelta di una versione di PowerShell da usare con l'estensione
Con l'installazione side-by-side di PowerShell con Windows PowerShell, è ora possibile usare una versione specifica di PowerShell con l'estensione PowerShell. Questa funzionalità esamina alcuni percorsi noti in sistemi operativi diversi per individuare le installazioni di PowerShell.
Usare la procedura seguente per scegliere la versione:
- Apri la tavolozza dei comandi in Windows o Linux con Ctrl+Shift+P. In macOS usare Cmd+Shift+P.
- Cerca Sessione.
- Fare clic su PowerShell: Mostra il Menu Sessione.
- Scegliere la versione di PowerShell che si vuole usare dall'elenco.
Se PowerShell è stato installato in un percorso non tipico, potrebbe non essere visualizzato inizialmente nel menu sessione. È possibile estendere il menu di sessione aggiungere percorsi personalizzati come descritto di seguito.
È anche possibile accedere al menu della sessione di PowerShell dall'icona {}
nell'angolo in basso a destra della barra di stato. Passando il puntatore del mouse o selezionando questa icona, viene visualizzato un collegamento al menu di sessione e un'icona a forma di puntina piccola. Se si seleziona l'icona a forma di puntina, il numero di versione viene aggiunto alla barra di stato. Il numero di versione è un collegamento al menu di sessione che richiede meno clic.
Nota
L'aggiunta del numero di versione replica il comportamento dell'estensione nelle versioni di VS Code precedenti alla 1.65. La versione 1.65 di VS Code ha modificato le API usate dall'estensione di PowerShell e standardizzato la barra di stato per le estensioni del linguaggio.
Impostazioni di configurazione per Visual Studio Code
In primo luogo, se non si ha familiarità con la modifica delle impostazioni in VS Code, consigliamo di leggere la documentazione relativa alle impostazioni di Visual Studio Code.
Dopo aver letto la documentazione, è possibile aggiungere le impostazioni di configurazione in settings.json
.
{
"editor.renderWhitespace": "all",
"editor.renderControlCharacters": true,
"files.trimTrailingWhitespace": true,
"files.encoding": "utf8bom",
"files.autoGuessEncoding": true
}
Se non si vuole che queste impostazioni influiscano su tutti i tipi di file, VS Code consente anche configurazioni per linguaggio. Creare un'impostazione specifica della lingua inserendo le impostazioni in un campo [<language-name>]
. Per esempio:
{
"[powershell]": {
"files.encoding": "utf8bom",
"files.autoGuessEncoding": true
}
}
Mancia
Per altre informazioni sulla codifica dei file in VS Code, vedere Informazioni sulla codifica dei file. Vedere anche Come replicare l'esperienza ISE in VS Code per altri suggerimenti su come configurare VS Code per la modifica di PowerShell.
Aggiunta di percorsi di PowerShell personalizzati al menu della sessione
È possibile aggiungere altri percorsi eseguibili di PowerShell al menu della sessione tramite l'impostazione di Visual Studio Code: powershell.powerShellAdditionalExePaths
.
A tale scopo, usare l'interfaccia utente grafica:
- Dalla tavolozza comandi cercare e selezionare Apri impostazioni utente. In alternativa, usare i tasti di scelta rapida in Windows o Linux CTRL+,. In macOS usare Cmd+,.
- Nell'editor di Impostazioni di cercare Percorsi exe aggiuntivi di PowerShell.
- Fare clic su Aggiungi elemento.
- Per la chiave (sotto l'elemento ), scegli il nome per questa installazione aggiuntiva di PowerShell.
- Per il valore (in Valore), specificare il percorso assoluto dell'eseguibile stesso.
È possibile aggiungere tutti i percorsi aggiuntivi desiderati. Gli elementi aggiunti vengono visualizzati nel menu della sessione con la chiave specificata come nome.
In alternativa, è possibile aggiungere coppie chiave-valore all'oggetto powershell.powerShellAdditionalExePaths
nel 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"
},
}
Nota
Prima della versione 2022.5.0 dell'estensione, questa impostazione era un elenco di oggetti con le chiavi necessarie exePath
e versionName
. È stata introdotta una modifica sostanziale nella configurazione tramite GUI. Se questa impostazione è stata configurata in precedenza, convertirla nel nuovo formato. Il valore specificato per versionName
è ora il valore Chiave, e il valore specificato per exePath
è ora il valore Valore. È possibile eseguire questa operazione più facilmente reimpostando il valore e usando l'interfaccia Impostazioni.
Per impostare la versione predefinita di PowerShell, impostare il valore powershell.powerShellDefaultVersion
sul testo visualizzato nel menu della sessione (il testo usato per la chiave):
{
"powershell.powerShellAdditionalExePaths": {
"Downloaded PowerShell": "C:/Users/username/Downloads/PowerShell/pwsh.exe",
},
"powershell.powerShellDefaultVersion": "Downloaded PowerShell",
}
Dopo aver configurato questa impostazione, riavvia VS Code oppure, per ricaricare la finestra corrente di VS Code dalla tavolozza comandi , digita Developer: Reload Window
.
Se si apre il menu di sessione, vengono visualizzate le installazioni aggiuntive di PowerShell.
Mancia
Se si compila PowerShell dall'origine, si tratta di un ottimo modo per testare la build locale di PowerShell.
Debug con Visual Studio Code
Debug senza area di lavoro
In VS Code versione 1.9 (o successiva) è possibile eseguire il debug degli script di PowerShell senza aprire la cartella contenente lo script di PowerShell.
- Aprire il file di script di PowerShell con File > Apri file...
- Impostare un punto di interruzione: selezionare una riga e quindi premere F9
- Premere F5 per avviare il debug
Verrà visualizzato il riquadro Azioni di debug che consente di entrare nel debugger, procedere passo passo, riprendere e arrestare il debug.
Debug dell'area di lavoro
Il debug dell'area di lavoro si riferisce al debug nel contesto di una cartella che hai aperto dal menu File usando Apri cartella.... La cartella che apri è in genere la cartella del tuo progetto PowerShell o la radice del tuo repository Git. Il debug dell'area di lavoro consente di definire più configurazioni di debug diverse dal semplice debug del file attualmente aperto.
Seguire questa procedura per creare un file di configurazione di debug:
Apri la visualizzazione debug in Windows o Linux premendo Ctrl+Shift+D. In macOS premere Cmd+Shift+D.
Fare clic sul link creare un file launch.json.
Dal prompt di Selezione Ambiente, selezionare PowerShell.
Scegliere il tipo di debug che si vuole usare:
- Avvia file corrente - Avviare ed eseguire il debug del file nella finestra dell'editor attualmente attiva
- Avvia script - Avviare ed eseguire il debug del file o del comando specificato
- Sessione Interattiva - Comandi di debug eseguiti dalla console integrata
- Collega - Collegare il debugger a un processo host di PowerShell in esecuzione
VS Code crea una directory e un file .vscode\launch.json
nella radice della cartella dell'area di lavoro per archiviare la configurazione di debug. Se i file si trovano in un repository Git, in genere si vuole eseguire il commit del file launch.json
. Il contenuto del file launch.json
sono:
{
"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}"
}
]
}
Questo file rappresenta gli scenari di debug comuni. Quando si apre questo file nell'editor, viene visualizzato un pulsante Aggiungi configurazione.... È possibile fare clic su questo pulsante per aggiungere altre configurazioni di debug di PowerShell. Una configurazione utile da aggiungere è PowerShell: Avviare script. Con questa configurazione, è possibile specificare un file contenente argomenti facoltativi usati ogni volta che si preme F5 indipendentemente dal file attivo nell'editor.
Dopo aver stabilito la configurazione di debug, è possibile selezionare la configurazione da usare durante una sessione di debug. Selezionare una configurazione dall'elenco a discesa della configurazione di debug nella barra degli strumenti della Debug view.
Risoluzione dei problemi relativi all'estensione PowerShell
Se si verificano problemi con VS Code per lo sviluppo di script di PowerShell, vedere la guida alla risoluzione dei problemi in GitHub.
Risorse utili
Esistono alcuni video e post di blog che possono essere utili per iniziare a usare l'estensione PowerShell per VS Code:
Video
- uso di Visual Studio Code come editor di PowerShell predefinito
- Visual Studio Code: approfondimenti sul debug degli script di PowerShell
Post di blog
- dell'estensione PowerShell
- scrivere ed eseguire il debug di script di PowerShell in Visual Studio Code
- Guida al debug di Visual Studio Code
- debug di PowerShell in Visual Studio Code
- Introduzione allo sviluppo di PowerShell in Visual Studio Code
- funzionalità di modifica di Visual Studio Code per lo sviluppo di PowerShell - Parte 1
- funzionalità di modifica di Visual Studio Code per lo sviluppo di PowerShell - Parte 2
- Debug dello Script di PowerShell in Visual Studio Code - Parte 1
- debug dello script di PowerShell in Visual Studio Code - Parte 2
Codice sorgente del progetto di estensione PowerShell
Il codice sorgente dell'estensione PowerShell è disponibile in GitHub.
Se siete interessati a contribuire, le pull request sono molto apprezzate. Per iniziare, seguire la documentazione per sviluppatori su GitHub.