Trabalhar com a janela interativa do Python no Visual Studio
O Visual Studio fornece uma janela interativa de REPL (loop de leitura-avaliação-impressão) para cada um dos ambientes do Python, o que melhora o REPL obtido com o comando python.exe
na linha de comando. A janela interativa Python 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 o código de trabalho para incluir em seus projetos.
O Visual Studio tem muitos modos REPL do Python para escolher:
REPL | Descrição | Edição | Depuração | Imagens |
---|---|---|---|---|
Padrão | O REPL padrão conversa diretamente com o Python | Edição padrão (várias linhas e muito mais) | Sim, por meio de $attach |
Não |
Depurar | REPL padrão, que se comunica com o processo depurado do Python | Edição padrão | Somente depuração | Não |
IPython | REPL se comunica com o back-end do IPython | Comandos do IPython, funcionalidades do Pylab | Não | Sim, embutido no REPL |
IPython sem Pylab | O REPL se comunica com o back-end do IPython. | IPython padrão | Não | Sim, janela separada |
Este artigo descreve os modos REPL Padrão e de Depuração. Para obter detalhes sobre os modos do IPython, confira Usar o REPL do IPython.
Para obter um passo a passo detalhado com exemplos, incluindo as interações com o editor, como Ctrl+Enter, consulte Utilize a janela interativa REPL.
Pré-requisitos
- Visual Studio no Windows instalado com suporte para cargas de trabalho do Python. Para obter mais informações, consulte Instalar o suporte ao Python no Visual Studio.
Não há suporte para o Visual Studio para Mac. 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 o Python por meio de extensões disponíveis.
Abrir a janela interativa
Há várias maneiras de abrir a Janela Interativa para um ambiente de Python.
Na janela Ambientes de Python:
Selecione Exibir>Outras Janelas>Ambientes de Python para abrir a janela Ambientes de Python (ou use o teclado Ctrl+K>Ctrl+`).
Na janela Ambientes de Python, selecione um ambiente e mude para a página Visão Geral do ambiente.
Na página visão geral, selecione a opção Abrir Janela Interativa.
No menu Exibir na ferramenta do Visual Studio, selecione Outras Janelas>Janela Interativa de Python:
No menu Depurar na barra de ferramentas do Visual Studio, selecione Executar <Projeto | Arquivo> no Python Interativo ou use o atalho de teclado Shift+Alt+F5. Você pode abrir uma Janela Interativa para o Arquivo de Inicialização no projeto ou em qualquer arquivo independente:
Outra opção é enviar o código que você está escrevendo no editor do Visual Studio para a Janela Interativa . Essa abordagem é descrita em Enviar código para a janela interativa.
Explorar as opções da Janela Interativa
Você pode controlar vários aspectos da Janela Interativa , como a localização dos arquivos de script de inicialização e como as teclas de seta funcionam no ambiente da janela. Para acessar as opções, selecione Ferramentas>Opções>Python>Windows Interativo:
As opções estão detalhadamente descritas em Python Interactive Window options for Visual Studio.
Usar a janela interativa
Na janela Interativa , você pode começar a inserir o código linha por linha no prompt de comando do REPL Python >>>
. À medida que você insere cada linha, o Visual Studio executa o código, incluindo a importação de módulos necessários e a definição de variáveis.
Quando o Visual Studio detecta que uma linha de código não forma uma instrução completa, o prompt de comando é alterado 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.
Quando você define 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 for
. Quando você pressiona Enter em uma linha em branco, a Janela Interativa fecha o bloco e o Visual Studio executa o código.
Comparação de REPL da linha de comando
A Janela Interativa é uma melhoria da experiência comum do REPL da linha de comando do Python, recuando automaticamente as instruções que pertencem a um escopo ao redor. Ambas as abordagens permitem que você use as teclas de direção para rolar pelo código inserido. A Janela Interativa também fornece itens de várias linhas, enquanto o REPL da linha de comando fornece apenas linhas únicas.
Metacomandos
A Janela Interativa dá suporte a vários metacomandos. Todos os metadados começam com o símbolo de dólar $
. Você pode inserir $help
para ver uma lista de metadados e $help <command>
para obter detalhes de uso de um comando específico. A tabela a seguir resume os metacomandos.
Metacomando | Descrição |
---|---|
$$ |
Insira um comentário, 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 |
Exibir 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, examine um (exemplo no GitHub).
Alternar o escopo da Janela Interativa
Por padrão, a Janela Interativa para um projeto tem como escopo o Arquivo de Inicialização do projeto, como se você executasse o arquivo de aplicativo no prompt de comando. Para um arquivo autônomo, o escopo é definido para esse arquivo. A qualquer momento durante a sessão de REPL, você pode usar a lista suspensa Escopo do módulo para alterar o escopo:
Após você importar um módulo, como import importlib
, opções aparecem no menu suspenso Escopo do Módulo para alternar para qualquer um dos escopos nesse módulo. Uma mensagem na janela interativa relata a alteração para o novo escopo, para que você possa acompanhar como chegou a um determinado estado durante a sessão examinando 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ção, 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 na janela Interativa, você pode enviar código no editor do Visual Studio para a janela. Esse comando é útil para o desenvolvimento de código iterativo ou evolutivo, incluindo testar seu código à medida que você o desenvolve.
Abra um arquivo de código no editor do Visual Studio e selecione alguns ou todos os códigos.
Clique com o botão direito do mouse no código selecionado e selecione Enviar para o Interativo (ou use o atalho de teclado Ctrl+E, E).
Modificar e executar código
Depois de enviar o código para o da Janela Interativa e exibir a saída, você 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.
Ao fazer alterações, se você selecionar Enter no final de uma instrução de código completa, o Visual Studio executará o código. Se a instrução de código não estiver concluída, o Visual Studio inserirá 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 da Janela Interativa e cole-o novamente no arquivo de projeto para salvar seu trabalho.
Quando você cola código da Janela Interativa 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 prompts de REPL para a Janela Interativa:
Selecione Ferramentas>Opções para abrir a caixa de diálogo Opções.
Expanda a seção Editor de Texto>Python>Formatação.
Desmarque a opção Colar remove prompts de REPL.
Selecione Ferramentas>Opções para abrir a caixa de diálogo Opções.
Expanda a seção Editor de Texto>Python>Avançado.
Desmarque a opção Colar remove prompts de REPL.
Quando você desmarca a opção, os caracteres do prompt são mantidos no código colado da janela. Para obter mais informações, consulte opções de – opções diversas.
Examinar o comportamento do IntelliSense
A Janela Interativa inclui sugestões do IntelliSense com base nos objetos dinâmicos, diferente do editor de código, em que o IntelliSense se baseia apenas na análise de código-fonte. Como resultado, as sugestões do IntelliSense na janela interativa estão mais corretas, especialmente com código gerado dinamicamente. A desvantagem é que funções com efeitos colaterais, como mensagens de log, podem afetar sua experiência de desenvolvimento.
Você pode ajustar o comportamento do Intellisense por meio das opções de Conclusão:
Selecione Ferramentas>Opções para abrir a caixa de diálogo Opções.
Expanda a seção Python>Janelas Interativas.
Ajuste as configurações no grupo 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 de – opções interativas do Windows.