Uso di Visual Studio Code per la modifica e il debug remoti
Gli utenti che hanno familiarità con l'ambiente ISE ricorderanno forse che è possibile eseguire psedit file.ps1
dalla console integrata per aprire i file, locali o remoti, direttamente nell'ISE.
Questa funzionalità è disponibile anche nell'estensione di PowerShell per VSCode. Questa guida illustra come eseguire queste operazioni.
Prerequisiti
Questa guida presuppone che si disponga di:
- Una risorsa remota ( ad esempio una macchina virtuale o un contenitore) a cui si ha accesso
- PowerShell in esecuzione nella risorsa remota e nel computer host
- VSCode e l'estensione di PowerShell per VSCode
Questa funzionalità funziona in PowerShell e Windows PowerShell.
Questa funzionalità funziona anche quando ci si connette a un computer remoto tramite WinRM, PowerShell Direct o SSH. Se si desidera usare SSH, ma si usa Windows, considerare la versione Win32 di SSH.
Importante
I comandi Open-EditorFile
e psedit
funzionano solo nella console integrata di PowerShell creata dall'estensione di PowerShell per VSCode.
Esempi di utilizzo
Questi esempi illustrano le operazioni di modifica e debug remoti da un MacBook Pro a una macchina virtuale Ubuntu in esecuzione in Azure. Il processo è identico in Windows.
Modifica dei file locali con Open-EditorFile
Con l'estensione di PowerShell per VSCode avviata e la console integrata di PowerShell aperta, è possibile digitare Open-EditorFile foo.ps1
o psedit foo.ps1
per aprire il file locale foo.ps1 direttamente nell'editor.
Nota
Il file foo.ps1
deve essere già presente.
Da qui, è possibile:
Aggiungere punti di interruzione alla barra di navigazione
Premere F5 per eseguire il debug dello script di PowerShell.
Durante il debug, è possibile interagire con la console di debug, verificare le variabili nell'ambito a sinistra e tutti gli altri gli strumenti standard di debug.
Modifica dei file remoti con Open-EditorFile
È ora possibile passare alla modifica e al debug dei file remoti. I passaggi sono quasi gli stessi, occorre solo fare prima di tutto una cosa: avviare la sessione di PowerShell nel server remoto.
È disponibile un cmdlet per eseguire questa operazione. Lo strumento è chiamato Enter-PSSession
.
In breve:
Enter-PSSession -ComputerName foo
avvia una sessione tramite Gestione remota WindowsEnter-PSSession -ContainerId foo
eEnter-PSSession -VmId foo
avviano una sessione tramite PowerShell DirectEnter-PSSession -HostName foo
avvia una sessione tramite SSH
Per altre informazioni, vedere la documentazione di Enter-PSSession.
Poiché si sta eseguendo la comunicazione remota a una macchina virtuale Ubuntu in Azure, si usa SSH.
Nella console integrata eseguire prima di tutto Enter-PSSession
. Quando [<hostname>]
viene visualizzato a sinistra del prompt, si è connessi alla sessione remota.
A questo scopo, è possibile eseguire gli stessi passaggi di se si sta modificando uno script locale.
Eseguire
Open-EditorFile test.ps1
opsedit test.ps1
per aprire il file remototest.ps1
Modificare i file/impostare punti di interruzione
Avviare il debug del file remoto (F5)
Se si verificano problemi, è possibile segnalarli nel repository GitHub.