Krok 3. Korzystanie z interakcyjnego okna REPL

Poprzedni krok: Pisanie i uruchamianie kodu

Interaktywne okno programu Visual Studio dla języka Python zapewnia rozbudowane środowisko pętli read-evaluate-print-loop (REPL), które znacznie skraca zwykły cykl edycji kompilacji-debugowania. Okno interakcyjne zapewnia wszystkie możliwości środowiska REPL wiersza polecenia języka Python. Ułatwia również wymianę kodu za pomocą plików źródłowych w edytorze programu Visual Studio, co w przeciwnym razie jest kłopotliwe z wierszem polecenia.

Uwaga

W przypadku problemów z usługą REPL upewnij się, że ipython zainstalowano pakiety i ipykernel oraz aby uzyskać pomoc dotyczącą instalowania pakietów, zobacz kartę Pakiety środowisk języka Python.

  1. Otwórz okno interaktywne, klikając prawym przyciskiem myszy środowisko języka Python projektu w Eksplorator rozwiązań (np. Python 3.6 (32-bitowy) i wybierając pozycję Otwórz okno interaktywne. Innym sposobem jest wybranie pozycji Wyświetl>inne>windows Python Interactive Windows z głównego menu programu Visual Studio.

  2. Okno interakcyjne zostanie otwarte poniżej edytora z standardowym >>> monitem REPL języka Python. Lista rozwijana Środowisko umożliwia wybranie określonego interpretera do pracy. Jeśli chcesz zwiększyć okno interakcyjne, możesz przeciągnąć separator między dwoma oknami widocznymi na poniższej ilustracji:

    Python interactive window and dragging to resize

    Napiwek

    Możesz zmienić rozmiar wszystkich okien w programie Visual Studio, przeciągając separatory obramowania. Okna można również przeciągać niezależnie od ramki programu Visual Studio i rozmieszczać je tak samo jak w ramce. Aby uzyskać szczegółowe informacje, zobacz Dostosowywanie układów okien.

  3. Wprowadź kilka instrukcji, takich jak print("Hello, Visual Studio") i wyrażenia, aby 123/456 wyświetlić natychmiastowe wyniki:

    Python interactive window immediate results

  4. Po rozpoczęciu pisania instrukcji wielowierszowej (takiej jak definicja funkcji) w oknie interaktywnym jest wyświetlany monit języka Python o kontynuowanie wierszy. W przeciwieństwie do wiersza polecenia REPL, zapewni to automatyczne wcięcie. Możesz dodać nowy wiersz ... przez naciśnięcie klawisza Shift+Enter:

    Python interactive window with statement continuation

  5. Okno interakcyjne zapewnia pełną historię wszystkich wprowadzonych elementów i ulepsza środowisko REPL wiersza polecenia za pomocą wielowierszowych elementów historii. Można na przykład łatwo odwołać całą definicję f funkcji jako pojedynczą jednostkę i łatwo zmienić nazwę na make_double, zamiast ponownie tworzyć wiersz funkcji według wiersza.

  6. Program Visual Studio może wysyłać wiele wierszy kodu z okna edytora do okna interaktywnego. Ta funkcja umożliwia obsługę kodu w pliku źródłowym i łatwe wysyłanie wybranych fragmentów do okna interaktywnego. Następnie można pracować z takimi fragmentami kodu w szybkim środowisku REPL, zamiast uruchamiać cały program. Aby zobaczyć tę funkcję, najpierw zastąp pętlę for w pliku PythonApplication1.py poniższym kodem:

    # 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. Wybierz instrukcje import, fromi make_dot_string funkcji w pliku py . Kliknij prawym przyciskiem myszy zaznaczony tekst i wybierz polecenie Wyślij do interakcyjnego (lub naciśnij klawisze Ctrl+Enter). Fragment kodu jest natychmiast wklejany w oknie interaktywnym i uruchamiany. Ponieważ kod zdefiniował funkcję, możesz szybko przetestować tę funkcję, wywołując ją kilka razy:

    Sending code to the interactive window and testing it

    Napiwek

    Za pomocą klawiszy Ctrl+Enter w edytorze bez zaznaczenia uruchamia bieżący wiersz kodu w oknie interaktywnym i automatycznie umieszcza daszek w następnym wierszu. Dzięki tej funkcji naciśnięcie klawisza Ctrl+Enter wielokrotnie zapewnia wygodny sposób przechodzenia przez kod, który nie jest możliwy tylko w wierszu polecenia języka Python. Umożliwia również przejście przez kod bez uruchamiania debugera i bez konieczności uruchamiania programu od początku.

  8. Możesz również skopiować i wkleić wiele wierszy kodu do okna interaktywnego z dowolnego źródła, takiego jak poniższy fragment kodu, co jest trudne do wykonania w wierszu polecenia języka Python REPL. Po wklejeniu okno interakcyjne uruchamia ten kod tak, jakby wpisał go w:

    for i in range(360):
        s = make_dot_string(i)
        print(s)
    

    Pasting multiple lines of code using Sending Interactive

  9. Jak widać, ten kod działa prawidłowo, ale jego dane wyjściowe nie są inspirujące. Inna wartość kroku w for pętli pokaże więcej cosinus fali. Cała pętla for jest dostępna w historii REPL jako pojedyncza jednostka. Możesz wrócić i wprowadzić dowolne zmiany, a następnie ponownie przetestować funkcję. Naciśnij strzałkę w górę, aby najpierw odwołać pętlę for . Możesz nawigować w kodzie, naciskając strzałki w lewo lub w prawo (dopóki nie zrobisz tego, strzałki w górę i w dół będą nadal przechodzić przez historię). Przejdź do i zmień specyfikację range na range(0, 360, 12). Następnie naciśnij klawisze Ctrl+Enter w dowolnym miejscu w kodzie, aby ponownie uruchomić całą instrukcję:

    Editing a previous statement in the interactive window

  10. Powtórz proces, aby eksperymentować z różnymi ustawieniami kroków, dopóki nie znajdziesz najlepszej wartości. Można również powtórzyć falę, wydłużając zakres, na przykład range(0, 1800, 12).

  11. Jeśli kod napisany w oknie interaktywnym jest zadowalający, wybierz go. Następnie kliknij prawym przyciskiem myszy kod i wybierz polecenie Kopiuj kod (Ctrl+Shift+C). Na koniec wklej wybrany kod do edytora. Zwróć uwagę, że ta specjalna funkcja programu Visual Studio automatycznie pomija wszystkie dane wyjściowe wraz z >>> monitami i ... . Na przykład na poniższej ilustracji przedstawiono użycie polecenia Kopiuj kod w zaznaczeniu zawierającym monity i dane wyjściowe:

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

    Wklejanie do edytora powoduje pobranie tylko kodu:

    for i in range(0, 1800, 12):
        s = make_dot_string(i)
        print(s)
    

    Jeśli chcesz skopiować dokładną zawartość okna interaktywnego, w tym monity i dane wyjściowe, użyj standardowego polecenia Kopiuj.

  12. To, co zrobiliśmy, to użycie szybkiego środowiska REPL okna interaktywnego, aby wypracować szczegóły dla małego fragmentu kodu, a następnie wygodnie dodano ten kod do pliku źródłowego projektu. Po ponownym uruchomieniu kodu za pomocą klawisza Ctrl+F5 (lub Debuguj>uruchamianie bez debugowania) zobaczysz dokładne żądane wyniki.

Następny krok

Głębiej