Usando o Visual Studio Code para edição e depuração remotas
Para aqueles que estão familiarizados com o ISE, você pode lembrar que pode executar psedit file.ps1
do 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 fazer isso.
Pré-requisitos
Este guia pressupõe que você tenha:
- Um recurso remoto (por exemplo: uma VM, um contêiner) ao qual você tem acesso
- PowerShell em execução nele e no computador host
- VSCode e a extensão do PowerShell para VSCode
Esse recurso funciona no PowerShell e no Windows PowerShell.
Esse recurso também funciona ao se conectar a um computador remoto por meio do WinRM, do PowerShell Direct ou do SSH. Se você quiser usar o SSH, mas estiver usando o Windows, confira a versão Win32 do SSH!
Importante
Os comandos Open-EditorFile
e psedit
funcionam apenas no Console Integrado do PowerShell criado pela extensão do PowerShell para o 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 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 de foo.ps1 local diretamente no editor.
Nota
O arquivo foo.ps1
já deve existir.
A partir daí, podemos:
Adicionar pontos de interrupção à medianiz
Clique em F5 para depurar o script do PowerShell.
Durante a depuração, você pode interagir com o console de depuração, verificar as variáveis no escopo à esquerda e todas as outras ferramentas de depuração padrão.
Edição remota de arquivos com Open-EditorFile
Agora, vamos abordar a edição e a depuração de arquivo remoto. As etapas são quase as mesmas, há apenas uma coisa que precisamos fazer primeiro: insira nossa sessão do PowerShell no servidor remoto.
Há um cmdlet para fazer isso. Chama-se Enter-PSSession
.
Resumindo:
Enter-PSSession -ComputerName foo
inicia uma sessão por meio do WinRMEnter-PSSession -ContainerId foo
eEnter-PSSession -VmId foo
iniciar uma sessão por meio do PowerShell DirectEnter-PSSession -HostName foo
inicia uma sessão via SSH
Para saber mais, veja a documentação para o Enter-PSSession.
Como estamos comunicando remotamente para uma VM do Ubuntu no Azure, estamos usando o SSH.
Primeiro, no Console Integrado, execute Enter-PSSession
. Você está conectado à sessão remota quando [<hostname>]
aparece à esquerda do prompt.
Agora, podemos executar as mesmas etapas que se estivermos editando um script local.
Executar
Open-EditorFile test.ps1
oupsedit test.ps1
para abrir o arquivo detest.ps1
remotoEditar o arquivo/definir pontos de interrupção
Comece a depurar (F5) o arquivo remoto
Se você tiver problemas, poderá abrir problemas no repositório GitHub.