Partilhar via


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.

Open-EditorFile foo.ps1 funciona localmente

Nota

O arquivo foo.ps1 já deve existir.

A partir daí, podemos:

  • Adicionar pontos de interrupção à calha

    Adicionar um ponto de interrupção à calha

  • Pressione F5 para depurar o script do PowerShell.

    depurando o script do PowerShell local

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 WinRM
  • Enter-PSSession -ContainerId foo e Enter-PSSession -VmId foo iniciar uma sessão via PowerShell Direct
  • Enter-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.

Chamar Enter-PSSession para se conectar a uma sessão remota

Agora, podemos fazer as mesmas etapas como se estivéssemos editando um script local.

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

    Editar o script no sistema remoto

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

    Editar e definir pontos de interrupção

  3. Iniciar a depuração (F5) do arquivo remoto

    Depurando o script remoto

Se você tiver algum problema, você pode abrir problemas no repositório GitHub.