Partilhar via


Trabalhar com a janela interativa Python no Visual Studio

O Visual Studio fornece uma janela de loop de leitura-avaliação-impressão interativa (REPL) para cada um dos seus ambientes Python, que melhora o REPL obtido com o comando python.exe na linha de comando. O Python Interactive Window permite inserir código Python arbitrário e ver resultados imediatos. Essa abordagem de codificação ajuda você a aprender e experimentar APIs e bibliotecas e desenvolver interativamente código de trabalho para incluir em seus projetos.

O Visual Studio tem muitos modos Python REPL para escolher:

REPL Descrição Edição Depuração Imagens
Standard O REPL padrão fala diretamente com Python Edição padrão (multilinha e muito mais) Sim, via $attach Não
Depurar REPL padrão comunica-se com o processo Python em depuração Edição padrão Apenas debug Não
IPython REPL comunica-se com o backend IPython Comandos IPython, funcionalidades Pylab Não Sim, diretamente na REPL
IPython sem Pylab REPL comunica-se com o backend IPython IPython padrão Não Sim, janela separada

Este artigo descreve os modos Standard e Debug REPL. Para obter detalhes sobre os modos IPython, consulte Usar o IPython REPL.

Para obter um passo a passo detalhado com exemplos, incluindo as interações com o editor, como Ctrl+Enter, consulte Usar a janela REPL interativa.

Pré-requisitos

O Visual Studio para Mac não é suportado. Para obter mais informações, consulte O que está acontecendo com o Visual Studio para Mac? Visual Studio Code no Windows, Mac e Linux funciona bem com Python por meio de extensões disponíveis.

Abrir a janela interativa

Há várias maneiras de abrir o Interactive Window para um ambiente Python.

  • Da janela Python Environments:

    1. Selecione ExibirOutros Ambientes WindowsPython para abrir a janela Ambientes Python (ou use o teclado CtrlKCtrl).

    2. Na janela Ambientes Python, selecione um ambiente e alterne para a página Visão Geral do ambiente.

    3. Na página Visão Geral, selecione a opção Abrir janela interativa.

  • No menu Ver na ferramenta Visual Studio, selecione Outras Janelas>Janela Interativa do Python:

  • No menu Depurar na barra de ferramentas do Visual Studio, selecione Executar <Projeto | O arquivo> no Python Interactive ou use o atalho de teclado Shift+Alt+F5. Você pode abrir uma de janela interativa para o de arquivo de inicialização em seu projeto ou para qualquer arquivo autônomo:

Outra opção é enviar o código que você está escrevendo no editor do Visual Studio para o Interactive Window. Essa abordagem é descrita em Enviar código para a janela interativa.

Explore as opções da janela interativa

Você pode controlar vários aspetos do Interactive Window, como o local dos arquivos de script de inicialização e como as teclas de seta funcionam dentro do ambiente da janela. Para acessar as opções, selecione Ferramentas>Opções>Python>Interactive Windows:

Captura de tela das opções do Python Interactive Windows no Visual Studio.

As opções são descritas em detalhes em opções da janela interativa Python para Visual Studio.

Use a Janela Interativa

No Interactive Window, você pode começar a inserir código linha por linha no prompt de comando REPL Python >>>. À medida que você insere cada linha, o Visual Studio executa o código, incluindo a importação dos módulos necessários e a definição de variáveis.

Quando o Visual Studio deteta que uma linha de código não forma uma instrução completa, o prompt de código muda para a continuação REPL .... Esse prompt indica que você precisa inserir mais linhas de código para concluir o bloco de instrução. O Visual Studio aguarda a sintaxe de fechamento antes de tentar executar o bloco de código.

Ao definir uma instrução for, a primeira linha de código inicia o bloco for e termina com dois pontos. O bloco pode consistir em uma ou mais linhas de código que definem as tarefas a serem concluídas durante o loop de for. Quando você seleciona Enter em uma linha em branco, o Interactive Window fecha o bloco e o Visual Studio executa o código.

Comparação de REPLs de linha de comando

O Interactive Window melhora a experiência habitual do REPL da linha de comando Python, ao indentar automaticamente instruções que pertencem a um escopo envolvente. Ambas as abordagens permitem que você use as teclas de seta para percorrer o código inserido. O Interactive Window também fornece itens de várias linhas, enquanto o REPL de linha de comando fornece apenas linhas únicas.

Meta-comandos

O Interactive Window suporta vários meta-comandos. Todos os meta-comandos começam com o símbolo de dólar $. Você pode inserir $help para ver uma lista de metacomandos e $help <command> para obter detalhes de uso para um comando específico. A tabela a seguir resume os metacomandos.

Metacomando Descrição
$$ Insira um comentário, o que é útil para comentar o código durante toda a sessão.
$cls, $clear Limpe o conteúdo da janela do editor, mas deixe o histórico e o contexto de execução intactos.
$help Exiba uma lista de comandos ou ajuda em um comando específico.
$load Carregue comandos do arquivo e execute até concluir.
$mod Alterne o escopo atual para o nome do módulo especificado.
$reset Redefina o ambiente de execução para o estado inicial, mas mantenha o histórico.
$wait Aguarde pelo menos o número especificado de milissegundos.

Você também pode estender os comandos com extensões do Visual Studio implementando e exportando a classe IInteractiveWindowCommand. Para obter mais informações, consulte um exemplo (no GitHub).

Alternar o escopo da janela interativa

Por padrão, o Janela Interativa de um projeto tem como escopo o do Arquivo de Inicialização do projeto como se você executasse o arquivo de programa no prompt de comando. Para um arquivo independente, o escopo é definido como esse arquivo. A qualquer momento durante a sessão REPL, pode usar a lista suspensa de escopo do módulo para alterar o escopo:

Depois de importar um módulo, como import importlib, as opções aparecem no Escopo do módulo menu suspenso para alternar para qualquer escopo nesse módulo. Uma mensagem na Janela Interativa relata a alteração para o novo escopo, para que possa acompanhar como chegou a um determinado estado durante a sessão, revendo o histórico de comandos.

Se você inserir o comando dir() em um escopo, o Visual Studio exibirá identificadores válidos nesse escopo, incluindo nomes de funções, classes e variáveis. A imagem a seguir mostra o resultado do comando dir() para o escopo importlib:

Enviar código para a Janela Interativa

Além de trabalhar diretamente no Interactive Window, você pode enviar código no editor do Visual Studio para a janela. Este comando é útil para o desenvolvimento de código iterativo ou evolutivo, incluindo o teste do seu código à medida que o desenvolve.

  1. Abra um arquivo de código no editor do Visual Studio e selecione parte ou todo o código.

  2. Clique com o botão direito do mouse no código selecionado e selecione Enviar para interativo (ou use o atalho de teclado Ctrl+E, E).

    Captura de ecrã que mostra como usar a opção de menu Enviar para o Interativo no Visual Studio.

Modificar e executar código

Depois de enviar o código para a janela interativa e visualizar o resultado, pode modificar o código e testar as alterações. Use as setas para cima e para baixo para rolar até o código no histórico de comandos da janela. Modifique o código e execute o código atualizado selecionando Ctrl+Enter.

Quando você faz alterações, se você selecionar Enter no final de uma instrução de código completa, o Visual Studio executa o código. Se a instrução de código não estiver completa, o Visual Studio insere uma nova linha na janela.

Salvar código e remover prompts

Depois de concluir seu trabalho no código, você pode selecionar o código atualizado no Janela Interativa e colá-lo novamente em seu arquivo de projeto para salvar seu trabalho.

Quando você cola o código do de janela interativa do no editor, o Visual Studio remove o prompt de comando REPL e o prompt de continuação por padrão. Esse comportamento permite que você transfira facilmente o código da janela para o editor.

Você pode alterar o comportamento com a opção Colar remove os prompts REPL para ode janela interativa :

  1. Selecione Ferramentas>Opções para abrir a caixa de diálogo Opções .

  2. Expanda a seção Editor de Texto>Python> Formatação.

  3. Desmarque a opção Colar remove os prompts REPL.

  1. Selecione Ferramentas>Opções para abrir a caixa de diálogo Opções .

  2. Expanda a seção Editor de Texto>Python>Advanced.

  3. Desmarque a opção Colar remove os prompts REPL.

Quando se desmarca a opção, os caracteres de prompt são mantidos no código colado a partir da janela. Para obter mais informações, consulte Opções - Opções diversas.

Rever o comportamento do IntelliSense

O Interactive Window inclui sugestões do IntelliSense baseadas nos objetos dinâmicos, ao contrário do editor de código, onde o IntelliSense é baseado apenas na análise do código-fonte. Como resultado, as sugestões do IntelliSense na Interactive Window são mais corretas, especialmente com código gerado dinamicamente. A desvantagem é que funções com efeitos colaterais, como mensagens de registro, podem afetar sua experiência de desenvolvimento.

Você pode ajustar o comportamento do Intellisense por meio das opções de Conclusão :

  1. Selecione Ferramentas>Opções para abrir a caixa de diálogo Opções .

  2. Expanda a secção Python>Interactive Windows.

  3. Ajuste as definições no grupo Modo de Conclusão, como Nunca avaliar expressões ou Ocultar sugestões de análise estática.

Para mais informações, consulte Opções - opções interativas do Windows.