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
- Visual Studio no Windows instalado com suporte para cargas de trabalho Python. Para obter mais informações, consulte Instalar suporte a Python no Visual Studio.
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:
Selecione Exibir>Outros Ambientes Windows>Python para abrir a janela Ambientes Python (ou use o teclado Ctrl+K>Ctrl+`).
Na janela Ambientes Python, selecione um ambiente e alterne para a página Visão Geral do ambiente.
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:
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.
Abra um arquivo de código no editor do Visual Studio e selecione parte ou todo o código.
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).
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:
Selecione Ferramentas>Opções para abrir a caixa de diálogo Opções .
Expanda a seçãode Formatação do Editor de Texto >Python>.
Desmarcar a opção Colar remove os prompts REPL.
Selecione Ferramentas >Opções para abrir a caixa de diálogo Opções.
Expanda a seção Editor de Texto>Python>Advanced.
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:
Selecione Ferramentas>Opções para abrir a caixa de diálogo Opções .
Expanda a seção Python>Interactive Windows.
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.