Compartilhar via


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.

Open-EditorFile foo.ps1 funciona localmente

Nota

O arquivo foo.ps1 já deve existir.

A partir daí, podemos:

  • Adicionar pontos de interrupção à medianiz

    Adicionar um ponto de interrupção à medianiz

  • Clique em F5 para depurar o script do PowerShell.

    debugando o script local 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 WinRM
  • Enter-PSSession -ContainerId foo e Enter-PSSession -VmId foo iniciar uma sessão por meio do PowerShell Direct
  • Enter-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.

Chame Enter-PSSession para conectar a uma sessão remota

Agora, podemos executar as mesmas etapas que se estivermos editando um script local.

  1. Executar Open-EditorFile test.ps1 ou psedit test.ps1 para abrir o arquivo de test.ps1 remoto

    Editar o script no sistema remoto

  2. Editar o arquivo/definir pontos de interrupção

    Editar e definir pontos de interrupção

  3. Comece a depurar (F5) o arquivo remoto

    Depurar o script remoto

Se você tiver problemas, poderá abrir problemas no repositório GitHub.