Partilhar via


Usando o Visual Studio Code para Desenvolvimento em PowerShell

Visual Studio Code (VS Code) é um editor de scripts multiplataforma da Microsoft. Juntamente com a extensão PowerShell, ele fornece uma experiência de edição de scripts rica e interativa, facilitando a escrita de scripts PowerShell confiáveis. O Visual Studio Code com a extensão PowerShell é o editor recomendado para escrever scripts do PowerShell.

Ele suporta as seguintes versões do PowerShell:

  • PowerShell 7.2 e superior (Windows, macOS e Linux)
  • Windows PowerShell 5.1 (somente Windows) com .NET Framework 4.8

Observação

Visual Studio Code não é o mesmo que Visual Studio.

Primeiros passos

Antes de começar, verifique se o PowerShell existe em seu sistema. Para cargas de trabalho modernas no Windows, macOS e Linux, consulte os seguintes links:

Para cargas de trabalho tradicionais do Windows PowerShell, consulte Instalando o Windows PowerShell.

Importante

O ISE do Windows PowerShell ainda está disponível para Windows. No entanto, já não se encontra em desenvolvimento ativo de funcionalidades. O ISE só funciona com o PowerShell 5.1 e versões anteriores. Como um componente do Windows, ele continua a ser oficialmente suportado para correções de segurança e manutenção de alta prioridade. não temos planos de remover o ISE do Windows.

Instalar o VS Code e a extensão do PowerShell

  1. Instale o Visual Studio Code. Para obter mais informações, consulte a visão geral Configurando o Visual Studio Code.

    Existem instruções de instalação para cada plataforma:

  2. Instale a extensão do PowerShell.

    1. Inicie o aplicativo VS Code digitando code em um console ou code-insiders se você instalou o Visual Studio Code Insiders.
    2. Inicie Quick Open no Windows ou Linux pressionando Ctrl+P. No macOS, pressione Cmd+P.
    3. Na Abertura Rápida, digite ext install powershell e pressione Enter.
    4. A vista Extensões é aberta na Barra Lateral. Selecione a extensão PowerShell da Microsoft.
    5. Clique no botão Instalar na extensão PowerShell da Microsoft.
    6. Após a instalação, se vir o botão Instalar mudar para Recarregar, clique em Recarregar.
    7. Depois que o VS Code for recarregado, você estará pronto para edição.

Por exemplo, para criar um novo ficheiro, clique em Ficheiro > Novo. Para salvá-lo, clique em Arquivo > Salvar e forneça um nome de arquivo, como HelloWorld.ps1. Para fechar o arquivo, clique no X ao lado do nome do arquivo. Para sair do VS Code, Arquivo > Sair.

Instalando a extensão do PowerShell em sistemas restritos

Alguns sistemas são configurados para exigir a validação de todas as assinaturas de código. Você pode receber o seguinte erro:

Language server startup failed.

Esse problema pode ocorrer quando a política de execução do PowerShell é definida pela Diretiva de Grupo do Windows. Para aprovar manualmente os Serviços de Editor do PowerShell e a extensão do PowerShell para o VS Code, abra um prompt do PowerShell e execute o seguinte comando:

Import-Module $HOME\.vscode\extensions\ms-vscode.powershell*\modules\PowerShellEditorServices\PowerShellEditorServices.psd1

Aparecerá a mensagem Deseja executar o software deste publicador não confiável? Digite A para executar o arquivo. Em seguida, abra o VS Code e verifique se a extensão do PowerShell está funcionando corretamente. Se você ainda tiver problemas para começar, informe-nos em um problema do GitHub.

Escolhendo uma versão do PowerShell para usar com a extensão

Com a instalação do PowerShell lado a lado com o Windows PowerShell, agora é possível usar uma versão específica do PowerShell com a extensão do PowerShell. Esse recurso examina alguns caminhos conhecidos em diferentes sistemas operacionais para descobrir instalações do PowerShell.

Use as seguintes etapas para escolher a versão:

  1. Abra a Paleta de Comandos no Windows ou Linux com Ctrl+Shift+P. No macOS, use Cmd+Shift+P.
  2. Pesquisar a Sessão .
  3. Clique em PowerShell: Mostrar menu de sessão.
  4. Escolha a versão do PowerShell que você deseja usar na lista.

Se você instalou o PowerShell em um local atípico, ele pode não aparecer inicialmente no Menu de Sessão. Você pode ampliar o menu de sessão ao adicionar os seus próprios caminhos personalizados conforme descrito abaixo.

O menu de sessão do PowerShell também pode ser acessado a partir do ícone {} no canto inferior direito da barra de status. Passar o cursor sobre ou selecionar este ícone exibe um atalho para o menu da sessão e um pequeno ícone de pino. Se você selecionar o ícone de pino, o número da versão será adicionado à barra de status. O número da versão é um atalho para o menu de sessão que requer menos cliques.

Observação

Fixar o número da versão replica o comportamento da extensão em versões do VS Code anteriores à 1.65. A versão 1.65 do VS Code alterou as APIs que a extensão do PowerShell usa e padronizou a barra de status para extensões de idioma.

Definições de configuração para o Visual Studio Code

Primeiro, se você não estiver familiarizado com como alterar as configurações no VS Code, recomendamos ler as configurações do Visual Studio Code a documentação.

Depois de ler a documentação, você pode adicionar definições de configuração em settings.json.

{
    "editor.renderWhitespace": "all",
    "editor.renderControlCharacters": true,
    "files.trimTrailingWhitespace": true,
    "files.encoding": "utf8bom",
    "files.autoGuessEncoding": true
}

Se você não quiser que essas configurações afetem todos os tipos de arquivos, o VS Code também permite configurações por idioma. Crie uma configuração específica do idioma colocando as configurações em um campo [<language-name>]. Por exemplo:

{
    "[powershell]": {
        "files.encoding": "utf8bom",
        "files.autoGuessEncoding": true
    }
}

Dica

Para obter mais informações sobre a codificação de arquivos no VS Code, consulte Noções básicas sobre codificação de arquivos. Além disso, confira Como replicar a experiência ISE no VS Code para obter outras dicas sobre como configurar o VS Code para edição do PowerShell.

Adicionando seus próprios caminhos do PowerShell ao menu de sessão

Você pode adicionar outros caminhos executáveis do PowerShell ao menu de sessão por meio da configuração Visual Studio Code: powershell.powerShellAdditionalExePaths.

Você pode fazer isso usando a GUI:

  1. Na paleta de comandos , procure e selecione Abrir Configurações do Utilizador. Ou use o atalho de teclado no Windows ou Linux Ctrl+,. No macOS, use Cmd+,.
  2. No editor de Configurações do, procure Caminhos Exe Adicionais do PowerShell.
  3. Clique Adicionar item.
  4. Para a chave (sob o item ), forneça a sua escolha de nome para esta instalação adicional do PowerShell.
  5. Para o Value (em Value), forneça o caminho absoluto para o próprio executável.

Você pode adicionar quantos caminhos adicionais quiser. Os itens adicionados aparecem no menu da sessão com a chave fornecida como o nome.

Como alternativa, você pode adicionar pares chave-valor ao objeto powershell.powerShellAdditionalExePaths em seu settings.json:

{
    "powershell.powerShellAdditionalExePaths": {
        "Downloaded PowerShell": "C:/Users/username/Downloads/PowerShell/pwsh.exe",
        "Built PowerShell": "C:/Users/username/src/PowerShell/src/powershell-win-core/bin/Debug/net6.0/win7-x64/publish/pwsh.exe"
    },
}

Observação

Antes da versão 2022.5.0 da extensão, essa configuração era uma lista de objetos com as chaves necessárias exePath e versionName. Uma alteração disruptiva foi introduzida para suportar a configuração através da interface gráfica. Se você já havia configurado essa configuração, converta-a no novo formato. O valor dado para versionName é agora a Chave, e o valor dado para exePath é agora o Valor. Você pode fazer isso mais facilmente redefinindo o valor e usando a interface Configurações.

Para definir a versão padrão do PowerShell, defina o valor powershell.powerShellDefaultVersion para o texto exibido no menu de sessão (o texto usado para a chave):

{
    "powershell.powerShellAdditionalExePaths": {
        "Downloaded PowerShell": "C:/Users/username/Downloads/PowerShell/pwsh.exe",
    },
    "powershell.powerShellDefaultVersion": "Downloaded PowerShell",
}

Depois de configurar esta definição, reinicie o VS Code ou, para recarregar a janela atual do VS Code a partir da Paleta de comandos , digite Developer: Reload Window.

Se você abrir o menu de sessão, verá suas instalações adicionais do PowerShell.

Dica

Se você criar o PowerShell a partir do código-fonte, essa é uma ótima maneira de testar sua compilação local do PowerShell.

Depuração com código do Visual Studio

Depuração sem necessidade de um espaço de trabalho

No VS Code versão 1.9 (ou superior), você pode depurar scripts do PowerShell sem abrir a pasta que contém o script do PowerShell.

  1. Abra o arquivo de script do PowerShell com Arquivo > Abrir Arquivo...
  2. Definir um ponto de interrupção - selecione uma linha e pressione F9
  3. Pressione F5 para iniciar a depuração

Você verá o painel de Ações de Depuração aparecer, que lhe permite acessar o depurador, avançar passo a passo, retomar e parar a depuração.

Depuração do espaço de trabalho

A depuração no espaço de trabalho refere-se à depuração no contexto de uma pasta que você abriu a partir do menu Arquivo usando Abrir Pasta.... A pasta que você abre é normalmente a pasta do projeto PowerShell ou a raiz do repositório Git. A depuração do espaço de trabalho permite que você defina várias configurações de depuração além de apenas depurar o arquivo aberto no momento.

Siga estas etapas para criar um arquivo de configuração de depuração:

  1. Abra a visualização Depuração no Windows ou Linux pressionando Ctrl+Shift+D. No macOS, pressione Cmd+Shift+D.

  2. Clique no link criar um arquivo launch.json.

  3. Na mensagem Select Environment, escolha PowerShell.

  4. Escolha o tipo de depuração que você gostaria de usar:

    • Launch Current File - Inicie e depure o arquivo na janela do editor atualmente ativa
    • Launch Script - Inicie e depure o arquivo ou comando especificado
    • Interactive Session - Comandos de depuração executados a partir do console integrado
    • Anexar - Anexar o depurador a um processo de host do PowerShell em execução

O VS Code cria um diretório e um arquivo .vscode\launch.json na raiz da sua pasta de trabalho para armazenar a configuração de depuração. Se seus arquivos estiverem em um repositório Git, você normalmente deseja confirmar o arquivo launch.json. O conteúdo do arquivo launch.json são:

{
  "version": "0.2.0",
  "configurations": [
      {
          "type": "PowerShell",
          "request": "launch",
          "name": "PowerShell Launch (current file)",
          "script": "${file}",
          "args": [],
          "cwd": "${file}"
      },
      {
          "type": "PowerShell",
          "request": "attach",
          "name": "PowerShell Attach to Host Process",
          "processId": "${command.PickPSHostProcess}",
          "runspaceId": 1
      },
      {
          "type": "PowerShell",
          "request": "launch",
          "name": "PowerShell Interactive Session",
          "cwd": "${workspaceRoot}"
      }
  ]
}

Este arquivo representa os cenários de depuração comuns. Quando você abre este arquivo no editor, você vê um botão Adicionar configuração.... Você pode clicar nesse botão para adicionar mais configurações de depuração do PowerShell. Uma configuração útil a ser adicionada é PowerShell: Launch Script. Com essa configuração, você pode especificar um arquivo contendo argumentos opcionais que são usados sempre que você pressiona F5 independentemente do arquivo ativo no editor.

Depois que a configuração de depuração for estabelecida, você poderá selecionar a configuração que deseja usar durante uma sessão de depuração. Selecione uma configuração na lista suspensa de configuração de depuração na barra de ferramentas do Debug view.

Solução de problemas da extensão do PowerShell

Se você tiver problemas ao usar o VS Code para desenvolvimento de scripts do PowerShell, consulte o guia de solução de problemas no GitHub.

Recursos úteis

Há alguns vídeos e postagens de blog que podem ser úteis para você começar a usar a extensão do PowerShell para VS Code:

Vídeos

Artigos de blogue

Código-fonte do projeto de extensão do PowerShell

O código-fonte da extensão PowerShell pode ser encontrado em GitHub.

Se você estiver interessado em contribuir, os Pull Requests são muito apreciados. Acompanhe a documentação do desenvolvedor no GitHub para começar.