Utilizar o Visual Studio Code para a edição e depuração remotas
Para aqueles de vocês que estão familiarizados com o ISE, você pode se lembrar que você pode executar psedit file.ps1
a partir 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 fazê-lo.
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 na máquina 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 uma máquina remota via WinRM, PowerShell Direct ou SSH. Se você quiser usar SSH, mas estiver usando o Windows, confira a versão Win32 do SSH!
Importante
Os Open-EditorFile
comandos e psedit
só funcionam no Console Integrado do PowerShell criado pela extensão do PowerShell para VSCode.
Exemplos de utilização
Estes exemplos mostram a edição remota e a depuração de um MacBook Pro para uma VM do Ubuntu em execução no Azure. O processo é idêntico no Windows.
Edição de arquivos locais 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
abrir o arquivo foo.ps1 local diretamente no editor.
Nota
O arquivo foo.ps1
já deve existir.
A partir daí, podemos:
Adicionar pontos de interrupção à calha
Pressione 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 entrar na edição e depuração remota de arquivos. As etapas são quase as mesmas, há apenas uma coisa que precisamos fazer primeiro - inserir nossa sessão do PowerShell no servidor remoto.
Há um cmdlet para fazer isso. Esta chama-se Enter-PSSession
.
Em resumo:
Enter-PSSession -ComputerName foo
inicia uma sessão via WinRMEnter-PSSession -ContainerId foo
eEnter-PSSession -VmId foo
iniciar uma sessão via PowerShell DirectEnter-PSSession -HostName foo
inicia uma sessão via SSH
Para obter mais informações, consulte a documentação do Enter-PSSession.
Como estamos conectando a uma VM do Ubuntu no Azure, estamos usando SSH.
Primeiro, no Console integrado, execute Enter-PSSession
. Você estará conectado à sessão remota quando [<hostname>]
aparecer à esquerda do prompt.
Agora, podemos fazer as mesmas etapas como se estivéssemos editando um script local.
Executar
Open-EditorFile test.ps1
oupsedit test.ps1
abrir o arquivo remototest.ps1
Editar o arquivo/definir pontos de interrupção
Iniciar a depuração (F5) do arquivo remoto
Se você tiver algum problema, você pode abrir problemas no repositório GitHub.