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.

Open-EditorFile foo.ps1 funziona localmente

Nota

Il file foo.ps1 deve essere già presente.

Da qui, è possibile:

  • Aggiungere punti di interruzione alla barra di navigazione

    Aggiunta di un punto di interruzione alla barra di navigazione

  • Premere F5 per eseguire il debug dello script di PowerShell.

    debug dello script di PowerShell locale

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 Windows
  • Enter-PSSession -ContainerId foo e Enter-PSSession -VmId foo avviano una sessione tramite PowerShell Direct
  • Enter-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.

Chiamare Enter-PSSession per connettersi a una sessione remota

A questo scopo, è possibile eseguire gli stessi passaggi di se si sta modificando uno script locale.

  1. Eseguire Open-EditorFile test.ps1 o psedit test.ps1 per aprire il file remoto test.ps1

    Modificare lo script nel sistema remoto

  2. Modificare i file/impostare punti di interruzione

    Modificare e impostare punti di interruzione

  3. Avviare il debug del file remoto (F5)

    Debug dello script remoto

Se si verificano problemi, è possibile segnalarli nel repository GitHub.