Uso di Visual Studio Code per la modifica e il debug remoti
Per coloro che hanno familiarità con l'ISE, è possibile ricordare che è possibile eseguire psedit file.ps1
dalla console integrata per aprire file, locali o remoti, direttamente nell'ISE.
Questa funzionalità è disponibile anche nell'estensione PowerShell per VSCode. Questa guida illustra come eseguire questa operazione.
Prerequisiti
Questa guida presuppone che l'utente abbia:
- Una risorsa remota (ad esempio una macchina virtuale, un contenitore) a cui si ha accesso
- PowerShell in esecuzione su di esso e sul computer host
- VSCode e l'estensione 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 vuole usare SSH, ma si usa Windows, consultare la versione Win32 di SSH!
Importante
I comandi Open-EditorFile
e psedit
funzionano solo nella console integrata di PowerShell creata dall'estensione PowerShell per VSCode.
Esempi di utilizzo
Questi esempi illustrano la modifica remota e il debug 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 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 foo.ps1 locale direttamente nell'editor.
Nota
Il file foo.ps1
deve esistere già.
Da qui è possibile:
Aggiungere punti di interruzione al margine
Premere F5 per eseguire il debug dello script di PowerShell.
Durante il debug, è possibile interagire con la console di debug, controllare le variabili nell'ambito a sinistra e tutti gli altri strumenti di debug standard.
Modifica di file remoti con Open-EditorFile
Ora passiamo alla modifica e al debug dei file remoti. I passaggi sono quasi uguali, è necessario prima eseguire una sola operazione: immettere la sessione di PowerShell nel server remoto.
A tale scopo, è disponibile un cmdlet. Viene chiamato Enter-PSSession
.
Insomma:
-
Enter-PSSession -ComputerName foo
avvia una sessione tramite WinRM -
Enter-PSSession -ContainerId foo
eEnter-PSSession -VmId foo
avviare una sessione tramite PowerShell Direct -
Enter-PSSession -HostName foo
avvia una sessione tramite SSH
Per altre informazioni, vedere la documentazione per Enter-PSSession.
Poiché stiamo effettuando il collegamento remoto a una VM Ubuntu in Azure, utilizziamo SSH.
Prima di tutto, nella console integrata eseguire Enter-PSSession
. Si è connessi alla sessione remota quando [<hostname>]
viene visualizzato a sinistra del prompt.
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 ditest.ps1
remotoModificare il file/impostare i punti di interruzione
Avviare il debug (F5) del file remoto
In caso di problemi, è possibile aprire problemi nel repository GitHub .