Usando o Visual Studio Code para edição e depuração remotas
Para aqueles que se familiarizaram com o ISE, talvez se lembrem que podiam executar psedit file.ps1
no console integrado para abrir arquivos locais ou remotos diretamente no ISE.
Esse recurso também está disponível na extensão do PowerShell para VSCode. Este guia mostra como fazê-lo.
Prerequisites
Este guia pressupõe que você tenha:
- Um recurso remoto (p.ex.: uma VM, um contêiner) ao qual você tenha acesso
- O PowerShell em execução nesse recurso e no computador host
- VSCode e a extensão do PowerShell para VSCode
Esse recurso funciona no Windows PowerShell e no PowerShell.
Esse recurso também funciona ao se conectar a um computador remoto via WinRM, PowerShell Direct ou SSH. Se você quer usar o SSH, mas está usando o Windows, consulte a versão Win32 do SSH!
Importante
Os comandos Open-EditorFile
e psedit
funcionam somente no Console integrado do PowerShell criado pela extensão do PowerShell para VSCode.
Exemplos de uso
Esses exemplos mostram a edição e a depuração remotas de uma VM Ubuntu em execução no Azure por um MacBook Pro. O processo é idêntico no Windows.
Edição de arquivo local com o Open-EditorFile
Com a extensão do PowerShell para VSCode iniciada e o Console Integrado do PowerShell aberto, podemos digitar Open-EditorFile foo.ps1
ou psedit foo.ps1
para abrir o arquivo foo.ps1 local diretamente no editor.
Observação
O arquivo foo.ps1
já deve existir.
A partir daí, podemos:
Adicionar pontos de interrupção à medianiz
Pressione F5 para depurar o script do PowerShell.
Durante a depuração, você pode interagir com o console de depuração, ver as variáveis no escopo à esquerda e todas as outras ferramentas de depuração padrão.
Edição de arquivo remoto com o Open-EditorFile
Agora, vamos abordar a edição e a depuração de arquivo remoto. As etapas são praticamente as mesmas, com exceção de um pequeno detalhe: precisamos informar nossa sessão do PowerShell ao servidor remoto.
Há um cmdlet para fazer isso. Ele se chama Enter-PSSession
.
Resumindo:
Enter-PSSession -ComputerName foo
inicia uma sessão via WinRMEnter-PSSession -ContainerId foo
eEnter-PSSession -VmId foo
iniciam uma sessão via PowerShell DirectEnter-PSSession -HostName foo
inicia uma sessão via SSH
Para saber mais, veja a documentação para o Enter-PSSession.
Ao usar remotamente uma VM do Ubuntu no Azure, use também SSH.
Primeiro, no Console Integrado, execute Enter-PSSession
. Você estará conectado à sessão remota quando o [<hostname>]
aparecer à esquerda de seu prompt.
Agora, é possível seguir as mesmas etapas como se você fosse editar um script local.
Execute
Open-EditorFile test.ps1
oupsedit test.ps1
para abrir o arquivotest.ps1
remotoEdite os pontos de interrupção do arquivo/conjunto
Comece a depurar (F5) o arquivo remoto
Em caso de problemas, você pode abrir ocorrências no repositório GitHub.