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 (Read-Eval-Print Loop - Ler-Avaliar-Imprimir Loop) Descrição Edição Depuração Imagens
Padrão O REPL padrão fala diretamente com Python Edição padrão (multilinhas e mais funcionalidades) Sim, via $attach Não
Depurar O REPL padrão comunica-se com o processo Python em depuração Edição padrão Apenas depuração Não
IPython REPL fala com o backend IPython Comandos IPython, facilidades do Pylab Não Sim, em linha na REPL
IPython sem Pylab REPL fala com 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.

  • Na janela Python Environments:

    1. Selecione Exibir>Outros Ambientes Windows>Python para abrir a janela Ambientes Python (ou use o teclado Ctrl+K>Ctrl+`).

    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 | Ficheiro> no Python Interactive ou use o atalho de teclado Shift+Alt+F5. Você pode abrir uma janela interativa para o arquivo de inicialização no 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 detalhe em opções da Janela Interativa do Python para o 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 em 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 REPL de linha de comando

O Interactive Window melhora a experiência REPL usual da linha de comando Python ao indentar automaticamente instruções que pertencem a um escopo circundante. Ambas as abordagens permitem que você use as teclas de seta para percorrer o código inserido. A janela interativa também disponibiliza itens multilineares, enquanto o REPL de linha de comando fornece apenas linhas singulares.

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.

Meta-comando 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 autônomo, o escopo é definido como esse arquivo. A qualquer momento durante a sessão REPL, podes usar a lista suspensa 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 no da Janela Interativa do relata a alteração no novo escopo, para que você possa acompanhar como chegou a um determinado estado durante a sessão, revisando 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 Interactivo no Visual Studio.

Modificar e executar código

Após enviar o código para o Janela Interativa e visualizar o resultado, é possível 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 o de janela interativa:

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

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

  3. Desmarcar 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 você desmarca a opção, os caracteres de prompt são retidos no código colado 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 através das opções Conclusão:

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

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

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

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