Share via


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.

  1. 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.

  2. 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:

    Python interactive window and dragging to resize

    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.

  3. Insira algumas instruções, como print("Hello, Visual Studio"), e expressões, como 123/456, para ver resultados imediatos:

    Python interactive window immediate results

  4. 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:

    Python interactive window with statement continuation

  5. 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 para make_double, em vez de recriar a função linha por linha.

  6. 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'
    
  7. Selecione as instruções de função import, from e make_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:

    Sending code to the interactive window and testing it

    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.

  8. 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)
    

    Pasting multiple lines of code using Sending Interactive

  9. 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 loop for. 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ção range e altere-a para range(0, 360, 12). Em seguida, pressione Ctrl+Enter em qualquer lugar no código para executar toda a instrução novamente:

    Editing a previous statement in the interactive window

  10. 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).

  11. 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:

    Interactive window copy code command on a selection with prompts and output

    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.

  12. 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.

Próxima etapa

Aprofunde-se um pouco mais