Trabalho com a Janela Interativa do Python no Visual Studio
O Visual Studio fornece uma janela de Loop de Leitura, Avaliação e Impressão (REPL) interativa para cada um de seus ambientes do Python, que melhora o REPL obtido com o comando python.exe
na linha de comando. A Janela Interativa do Python permite inserir código Python arbitrário e visualizar resultados de forma imediata. Essa abordagem de codificação ajuda você a aprender e experimentar APIs e bibliotecas e a desenvolver de maneira interativa um código funcional para incluir em projetos.
O Visual Studio tem diversos modos de REPL do Python à sua disposição:
REPL | Descrição | Edição | Depuração | Imagens |
---|---|---|---|---|
Standard | O REPL padrão, que se comunica com o Python diretamente | Edição Standard (com múltiplas linhas e 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 | O 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, em uma janela separada |
Este artigo descreve os modos REPL Padrão e Depuração. Para obter detalhes sobre os modos do IPython, confira Usar o REPL do IPython.
Para obter um passo a passo em detalhes com exemplos, incluindo as interações com o editor, como Ctrl+Enter, confira Usar a janela Interativa REPL.
Pré-requisitos
- Instalação do Visual Studio no Windows com suporte para cargas de trabalho em Python. Para obter mais informações, confira Instalar o suporte ao Python no Visual Studio.
Não há suporte ao Visual Studio para Mac. Para obter mais informações, consulte O que está acontecendo com o Visual Studio para Mac? O Visual Studio Code no Windows, no Mac e no Linux funciona perfeitamente com o Python por meio das extensões disponíveis.
Abrir a Janela Interativa
Existem várias maneiras de abrir a Janela Interativa para um ambiente do Python.
Na janela Ambientes do Python:
Selecione Exibir>Outras Janelas>Ambientes do Python para abrir a janela Ambientes do Python (ou use o atalho de teclado Ctrl+K>Ctrl+`).
Na janela Ambientes do Python, selecione um ambiente e realize a comutação para a página de Visão Geral do ambiente.
Na página de Visão Geral, selecione a opção Abrir Janela Interativa.
No menu Exibir na ferramenta do Visual Studio, selecione Outras Janelas>Janela Interativa do Python:
No menu Depurar na barra de ferramentas do Visual Studio, selecione Executar <Projeto | Arquivo> em Interativo do Python ou use o atalho de teclado Shift+Alt+F5. É possível abrir uma Janela Interativa para o Arquivo de Inicialização no projeto ou para arquivos independentes:
Outra opção é enviar o código que você está gravando 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
É possível obter o controle sobre vários aspectos da Janela Interativa, como a localização dos arquivos de script de inicialização e como as teclas de direção funcionam no ambiente da janela. Para obter acesso às opções, selecione Ferramentas>Opções>Python>Janelas Interativas:
As opções são descritas em detalhes em Python Interactive Window options for Visual Studio.
Usar a Janela Interativa
Na Janela Interativa, é possível começar a inserir o código linha por linha no prompt de comando >>>
de REPL do Python. À medida que você inserir cada linha, o Visual Studio realizará a execução do código, incluindo a importação dos módulos necessários e a definição de variáveis.
Quando o Visual Studio detectar que uma linha de código não realiza a formação de uma instrução completa, a solicitação de código sofre alteração para a continuação de REPL ...
. Essa solicitação indica que você precisa inserir mais linhas de código para concluir o bloco de instruções. O Visual Studio aguarda a sintaxe de fechamento antes de tentar executar o bloco de código.
Quando você definir uma instrução for
, a primeira linha de código iniciará o bloco for
e terminará 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 for
. Ao selecionar Enter em uma linha em branco, a Janela Interativa fecha o bloco e o Visual Studio executa o código.
Comparação do REPL da linha de comando
A Janela Interativa aprimora a experiência do REPL usual da linha de comando do Python ao recuar automaticamente as instruções que pertencem a um escopo circundante. Ambas as abordagens permitem usar as teclas de direção para navegar pelo código inserido. A Janela Interativa também fornece itens com múltiplas linhas, enquanto o REPL da linha de comando fornece somente linhas únicas.
Comando meta
A Janela Interativa oferece suporte a diversos comandos meta. Todos os comandos meta começam com o símbolo do cifrão $
. É possível inserir $help
para visualizar uma lista de comandos meta e $help <command>
para obter detalhes de uso de um comando específico. A tabela apresentada a seguir resume os comandos meta.
Metacomando | Descrição |
---|---|
$$ |
Inserção de um comentário, que será útil para deixar comentários sobre o código durante a sessão. |
$cls , $clear |
Limpeza do conteúdo da janela do editor, mas o histórico e o contexto de execução permanecem intactos. |
$help |
Exibe uma lista de comandos ou a ajuda sobre um comando específico. |
$load |
Carregamento de comandos do arquivo e execução até eles estarem concluídos. |
$mod |
Comutação do escopo atual para o nome do módulo especificado. |
$reset |
Restauração do ambiente de execução para o estado inicial, mas o histórico é mantido. |
$wait |
Espera pelo menos o número especificado de milissegundos. |
Além disso, é possível ampliar os comandos com extensões do Visual Studio ao implementar e exportar a classe IInteractiveWindowCommand
. Para obter mais informações, faça a revisão de um (exemplo no GitHub).
Comutar 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ê tivesse executado o arquivo do programa no prompt de comando. Para um arquivo independente, o escopo é definido para esse arquivo. Durante a sessão do REPL, é possível usar o menu suspenso Escopo do módulo para alterar o escopo quando desejar:
Ao importar um módulo, como import importlib
, opções aparecem no menu suspenso Escopo do módulo para a comutação para qualquer escopo nesse módulo. Uma mensagem na Janela Interativa reporta as alterações para o novo escopo, para que seja possível para você acompanhar como chegou a um determinado estado durante a sessão ao realizar a revisão do histórico de comando.
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 apresentada 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, é possível enviar código do editor do Visual Studio para a janela. Esse comando é útil para o desenvolvimento de código iterativo ou evolucionário, incluindo o teste do código durante o desenvolvimento.
Abra um arquivo de código no editor do Visual Studio e selecione uma parte ou todo o código.
Clique com o botão direito do mouse no código selecionado e escolha Enviar para o Interativo (ou use o atalho de teclado Ctrl+E, E).
Modificação e execução do código
Após enviar o código para a Janela Interativa e realizar a exibição da saída, você poderá modificar o código e testar as alterações. Use as teclas de direção para cima e para baixo para rolar até o código no histórico de comando da janela. Realize a modificação do código e a execução do código atualizado ao selecionar 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 do código não estiver completa, o Visual Studio inserirá uma nova linha na janela.
Salvar o código e remover as solicitações
Após concluir o trabalho no código, você poderá selecionar o código atualizado na Janela Interativa e colá-lo novamente no arquivo de projeto para salvar o trabalho.
Ao colar o código da Janela Interativa no editor, o Visual Studio remove o prompt de comando >>>
do REPL e a solicitação de continuação ...
, por padrão. Esse comportamento permite transferir o código da janela para o editor com facilidade.
É possível alterar o comportamento com a opção Colar remove as solicitações do 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 as solicitações do 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 as solicitações do REPL.
Quando você desmarca a opção, os caracteres da solicitação são retidos no código colado da janela. Para obter mais informações, confira Opções: Opções diversas.
Revisar o comportamento do IntelliSense
A Janela Interativa inclui sugestões do IntelliSense com base em objetos ativos, diferentemente do editor de código, no qual o IntelliSense se baseia somente na análise do código-fonte. Como resultado, as sugestões do IntelliSense na Janela Interativa são mais corretas, especialmente com um código gerado de forma dinâmica. A desvantagem é que as funções com efeitos colaterais, como mensagens de registro em log, podem afetar a experiência de desenvolvimento.
É possível realizar o ajuste do comportamento do Intellisense ao usar as 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 as expressões ou Ocultar as sugestões de análise estática.
Para obter mais informações, confira Opções: Opções da Janela Interativa.