Etapa 3: usar a janela interativa REPL
Etapa anterior: Gravar e executar código
A Janela Interativa do Visual Studio para Python oferece uma experiência avançada de REPL (leitura-avaliação-impressão-loop), que reduz consideravelmente o ciclo comum de edição-compilação-depuração. A Janela Interativa fornece todos os recursos da experiência de REPL da linha de comando do Python. Ela também facilita a troca de código com arquivos de origem no editor do Visual Studio, o que seria complicado com a linha de comando.
Observação
Para problemas com REPL, verifique se os pacotes ipython
e ipykernel
estão instalados e, para obter ajuda na instalação dos pacotes, confira a guia de pacotes de ambientes Python.
Abra a Janela Interativa clicando com o botão direito do mouse no ambiente de projeto do Python no Gerenciador de Soluções (como Python 3.6 (32 bits), mostrado em um gráfico anterior) e selecionando Abrir Janela Interativa. Como alternativa, você pode selecionar Exibir>Outras Janelas>Janelas Interativas do Python no menu principal do Visual Studio.
A Janela Interativa abre-se abaixo do editor com o prompt padrão de REPL do Python >>>. A lista suspensa Ambiente permite selecionar um intérprete específico com o qual trabalhar. Se você quiser aumentar a Janela Interativa, poderá arrastar o separador entre as duas janelas, como mostrado na imagem abaixo:
Dica
Você pode redimensionar todas as janelas no Visual Studio, arrastando os separadores de bordas. Você também pode arrastar e retirar janelas para fora do quadro do Visual Studio e reorganizá-las da forma que quiser dentro do quadro. Para obter detalhes completos, confira Personalizar layouts de janela.
Insira algumas instruções, como
print("Hello, Visual Studio")
, e expressões, como123/456
, para ver resultados imediatos:Ao começar a escrever uma instrução de várias linhas (como uma definição de função) a Janela Interativa mostrará o prompt ... do Python para continuar as linhas. Ao contrário do REPL de linha de comando, isso proporcionará recuo automático. Você pode adicionar uma nova linha ... pressionando
Shift+Enter
:A Janela Interativa fornece um histórico completo de tudo o que foi inserido, e é uma melhoria do REPL de linha de comando com itens de histórico de várias linhas. Por exemplo, com facilidade, é possível cancelar toda a definição da função
f
como uma única unidade e alterar o nome paramake_double
, em vez de recriar a função linha por linha.O Visual Studio pode enviar várias linhas de código de uma janela do editor para a Janela Interativa. Essa capacidade permite que você mantenha o código em um arquivo de origem e envie facilmente fragmentos selecionados para a Janela Interativa. Assim, você poderá trabalhar com esses fragmentos de código no ambiente REPL rápido em vez de ter que executar o programa inteiro. Para ver esse recurso, primeiro substitua o loop
for
no arquivo PythonApplication1.py pelo código abaixo:# Create a string with spaces proportional to a cosine of x in degrees def make_dot_string(x): return ' ' * int(20 * cos(radians(x)) + 20) + 'o'
Selecione as instruções de função
import
,from
emake_dot_string
no arquivo .py. Clique com o botão direito do mouse no texto selecionado e escolha Enviar para Interativo (ou pressione Ctrl+Enter). O fragmento de código será imediatamente colado na Janela Interativa e executado. Como o código definiu uma função, é possível testar essa função rapidamente chamando-a algumas vezes:Dica
O uso de Ctrl+Enter no editor sem uma seleção, executará a linha de código atual na Janela Interativa e posicionará automaticamente o cursor na próxima linha. Com esse recurso, ao pressionar Ctrl+Enter repetidamente, você terá uma maneira conveniente de percorrer o código, o que não é possível somente com a linha de comando do Python. Isso também permitirá que você percorra o código sem executar o depurador e sem, necessariamente, começar desde o início do programa.
Você também pode copiar e colar várias linhas de código de qualquer fonte na Janela Interativa, como no snippet a seguir, o que é difícil fazer com o REPL da linha de comando do Python. Ao colar, a Janela Interativa executa o código como se você o tivesse digitado:
for i in range(360): s = make_dot_string(i) print(s)
Como você pode ver, esse código funciona bem, mas a saída não é muito impressionante. Um valor de etapa diferente no loop
for
mostraria mais da curva do cosseno. Todo o loop for está disponível no histórico de REPL como uma única unidade. Você pode voltar e fazer as alterações desejadas e depois testar a função novamente. Pressione a seta para cima para, primeiro, recuperar o loopfor
. Você pode navegar no código pressionando as setas para a esquerda e para a direita (até que você faça isso, as setas para baixo e para cima continuam a percorrer o histórico). Navegue até a especificaçãorange
e altere-a pararange(0, 360, 12)
. Em seguida, pressione Ctrl+Enter em qualquer lugar no código para executar toda a instrução novamente:Repita o processo para fazer experiências com configurações de etapas diferentes, até encontrar um valor que você mais goste. Você também pode fazer a curva se repetir, aumentando o intervalo, por exemplo,
range(0, 1800, 12)
.Quando estiver satisfeito com o código que você escreveu na Janela Interativa, selecione-o. Em seguida, clique com o botão direito do mouse no código e escolha Copiar Código (Ctrl+Shift+C). Por fim, cole o código selecionado no editor. Observe como esse recurso especial do Visual Studio omite automaticamente qualquer saída, bem como os prompts
>>>
e...
. Por exemplo, a imagem abaixo mostra o uso do comando Copiar Código em uma seleção que inclui os prompts e a saída:Ao colar no editor, você obtém somente o código:
for i in range(0, 1800, 12): s = make_dot_string(i) print(s)
Se quiser copiar o conteúdo exato da Janela Interativa, incluindo os prompts e a saída, basta usar o comando padrão Copiar.
O que você acabou de fazer é usar o ambiente de REPL rápido da Janela Interativa para planejar os detalhes de uma pequena parte de código e depois adicionou convenientemente esse código ao arquivo de origem do seu projeto. Agora, ao executar o código novamente com Ctrl+F5 (ou Depurar>Iniciar sem Depurar), você verá exatamente os resultados desejados.