Partilhar via


Usando o Visual Studio Code para 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 VS Code. 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
  • VS Code e a extensão do PowerShell para VS Code

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 VS Code.

Exemplos de utilização

Estes exemplos mostram a edição e a depuração remotas de um MacBook Pro para uma VM Ubuntu a correr no Azure. O processo é idêntico no Windows.

Edição de arquivo local com Open-EditorFile

Com a extensão do PowerShell para VS Code 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

Observação

O ficheiro foo.ps1 já deve existir.

A partir daí, podemos:

  • Adicionar pontos de interrupção à margem

    Adicionar um ponto de interrupção à moldura

  • Pressione F5 para depurar o script do PowerShell.

    desbloqueando 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 ficheiros 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. 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 a conectar-nos a uma VM do Ubuntu no Azure, estamos a usar SSH.

Primeiro, no Console integrado, execute Enter-PSSession. Você está conectado à sessão remota quando [<hostname>] aparece à esquerda do prompt.

Ligue para 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. Execute 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. Iniciar a depuração (F5) do arquivo remoto

    Depurando o script remoto

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