Praca z interaktywnym oknem języka Python w programie Visual Studio
Program Visual Studio udostępnia interaktywne okno pętli rePL (read-evaluate-print loop) dla każdego środowiska języka Python, co poprawia środowisko REPL, które można uzyskać za pomocą polecenia python.exe
w wierszu polecenia.
Okno interaktywne języka Python pozwala na wprowadzanie dowolnego kodu w języku Python i natychmiastowe wyświetlanie wyników. Takie podejście do kodowania pomaga uczyć się i eksperymentować z interfejsami API i bibliotekami oraz interaktywnie opracowywać kod roboczy do uwzględnienia w projektach.
Program Visual Studio ma wiele trybów REPL języka Python do wyboru:
REPL | Opis | Edycja | Debugowanie | Obrazy |
---|---|---|---|---|
Standard | Domyślne REPL komunikuje się bezpośrednio z językiem Python. | Standardowe edytowanie (wielowierszowe i więcej) | Tak, za pośrednictwem $attach |
Nie |
Debugowanie | Domyślny interfejs REPL komunikuje się z debugowanym procesem Pythona. | Edytowanie standardowe | Tylko debugowanie | Nie |
IPython | RePL komunikuje się z zapleczem IPython | Polecenia IPython, udogodnienia Pylab | Nie | Tak, wbudowane w środowisku REPL |
IPython bez Pylab | REPL komunikuje się z zapleczem IPython | Standard IPython | Nie | Tak, oddzielne okno |
W tym artykule opisano tryby Standard i Debug REPL. Aby uzyskać szczegółowe informacje na temat trybów IPython, zobacz Use the IPython REPL.
Aby uzyskać szczegółowy przewodnik z przykładami, w tym interakcje z edytorem, takie jak Ctrl+Enter, zobacz Użyj interaktywnego okna REPL.
Warunki wstępne
- Program Visual Studio w systemie Windows zainstalowany z obsługą obciążeń języka Python. Aby uzyskać więcej informacji, zobacz Instalowanie obsługi języka Python w programie Visual Studio.
Program Visual Studio dla komputerów Mac nie jest obsługiwany. Aby uzyskać więcej informacji, zobacz Co się dzieje z programem Visual Studio dla komputerów Mac? program Visual Studio Code w systemach Windows, Mac i Linux dobrze współpracuje z językiem Python za pośrednictwem dostępnych rozszerzeń.
Otwieranie okna interakcyjnego
Istnieje kilka sposobów otwierania okna interaktywnego dla środowiska Python.
Z okna środowiska języka Python:
Wybierz pozycję widok >Inne środowiska języka Python>Windows, aby otworzyć okno środowiska języka Python (lub użyj okna klawiatury ctrl+K>Ctrl+`).
W oknie środowiska języka Python wybierz środowisko i przejdź do strony Przegląd dla środowiska.
Na stronie Przegląd wybierz opcję Otwórz Okno interakcyjne.
W menu widoków w narzędziu Visual Studio wybierz pozycję Inne okno interaktywne systemu Windows>Python:
Z menu debugowania na pasku narzędzi programu Visual Studio wybierz pozycję Wykonaj projekt <|> plików w interaktywnym języka Python lub użyj skrótu klawiaturowego Shift+Alt+F5. Możesz otworzyć okna interaktywnego dla pliku startowego w projekcie lub dla dowolnego pliku autonomicznego:
Inną opcją jest wysłanie kodu, który piszesz w edytorze programu Visual Studio, do okna interaktywnego . To podejście zostało opisane w Wysyłanie kodu do okna interaktywnego.
Eksplorowanie opcji okna interakcyjnego
Można kontrolować różne aspekty okna interaktywnego , takie jak lokalizacja plików skryptu uruchamiania i sposób działania strzałek w środowisku okna. Aby uzyskać dostęp do opcji, wybierz pozycję Narzędzia Tools>Options>Python>Interactive Windows:
Opcje są szczegółowo opisane w opcjach Okna Interaktywnego Pythona dla Visual Studio.
Korzystanie z okna interakcyjnego
W okna interaktywnegomożesz rozpocząć wprowadzanie kodu wiersz po wierszu w wierszu polecenia w języku Python REPL >>>
. Podczas wprowadzania każdego wiersza program Visual Studio wykonuje kod, w tym importowanie niezbędnych modułów i definiowanie zmiennych.
Gdy program Visual Studio wykryje, że wiersz kodu nie tworzy pełnej instrukcji, monit kodu zmienia się na kontynuację REPL ...
. Ten monit wskazuje, że musisz wprowadzić więcej wierszy kodu, aby ukończyć blok instrukcji. Program Visual Studio czeka na składnię zamykającą, zanim podejmie próbę wykonania bloku kodu.
Podczas definiowania instrukcji for
pierwszy wiersz kodu rozpoczyna blok for
i kończy się dwukropkiem. Blok może składać się z co najmniej jednego wiersza kodu, który definiuje zadania do wykonania podczas pętli for
. Po wybraniu Enter w pustym wierszu okno interaktywne zamyka blok, a program Visual Studio wykonuje kod.
Porównanie REPL wiersza polecenia
Interakcyjne okno poprawia doświadczenie wiersza polecenia Python REPL przez automatyczne wcięcia instrukcji należących do otaczającej przestrzeni. Obie metody umożliwiają przewijanie wprowadzonego kodu za pomocą strzałek. Interakcyjne okno zawiera również elementy wielowierszowe, natomiast wiersz polecenia REPL zawiera tylko pojedyncze wiersze.
Metaza pomocą poleceń
Interakcyjne okno obsługuje kilka metakomend. Wszystkie meta-polecenia zaczynają się od znaku dolara $
. Możesz wprowadzić $help
, aby wyświetlić listę meta-poleceń i $help <command>
, aby uzyskać szczegóły użycia dla określonego polecenia. Poniższa tabela zawiera podsumowanie metadanych poleceń.
Meta-polecenie | Opis |
---|---|
$$ |
Wstaw komentarz, który jest przydatny do komentowania kodu w całej sesji. |
$cls , $clear |
Wyczyść zawartość okna edytora, ale pozostaw bez zmian historię oraz kontekst wykonywania. |
$help |
Wyświetl listę poleceń lub pomoc dotyczącą określonego polecenia. |
$load |
Załaduj polecenia z pliku i wykonaj je do momentu ukończenia. |
$mod |
Przełącz bieżący zakres na określoną nazwę modułu. |
$reset |
Zresetuj środowisko wykonywania do stanu początkowego, ale zachowaj historię. |
$wait |
Poczekaj co najmniej określoną liczbę milisekund. |
Możesz również rozszerzyć polecenia za pomocą rozszerzeń programu Visual Studio, implementując i eksportując klasę IInteractiveWindowCommand
. Aby uzyskać więcej informacji, zapoznaj się z przykładem (w witrynie GitHub).
Przełączanie zakresu okna interakcyjnego
Domyślnie okna interakcyjnego dla projektu jest ograniczone do pliku uruchamiania projektu tak, jakby plik programu był uruchamiany z poziomu wiersza polecenia. W przypadku pliku autonomicznego zakres jest ustawiony na ten plik. W dowolnym momencie podczas sesji REPL możesz użyć listy rozwijanej zakresu modułu , aby zmienić zakres:
Po zaimportowaniu modułu, takiego jak import importlib
, w menu rozwijanym pojawiają się opcje zakresu modułu, które pozwalają na przełączenie się do dowolnego zakresu w tym module. Komunikat w oknie interaktywnym zgłasza zmianę nowego zakresu, dzięki czemu możesz śledzić, jak przejść do określonego stanu podczas sesji, przeglądając historię poleceń.
Jeśli wprowadzisz polecenie dir()
w zakresie, program Visual Studio wyświetli prawidłowe identyfikatory w tym zakresie, w tym nazwy funkcji, klasy i zmienne. Na poniższej ilustracji przedstawiono wynik polecenia dir()
dla zakresu importlib
:
Wysyłanie kodu do okna interakcyjnego
Oprócz bezpośredniej pracy w okna interaktywnego można wysłać kod w edytorze programu Visual Studio do okna. To polecenie jest przydatne w przypadku programowania iteracyjnego lub ewolucyjnego kodu, w tym testowania kodu podczas jego opracowywania.
Otwórz plik kodu w edytorze programu Visual Studio i wybierz część lub cały kod.
Kliknij prawym przyciskiem myszy wybrany kod i wybierz pozycję Wyślij do interaktywnego środowiska (lub użyj skrótu klawiaturowego Ctrl+E, E).
Modyfikowanie i uruchamianie kodu
Po wysłaniu kodu do okna interaktywnego i wyświetleniu danych wyjściowych możesz zmodyfikować kod i przetestować zmiany. Użyj strzałek w górę i w dół, aby przewinąć kod w historii poleceń okna. Zmodyfikuj kod i uruchom zaktualizowany kod, wybierając ctrl+Wprowadź.
Po wprowadzeniu zmian, jeśli wybierzesz Wprowadź na końcu pełnej instrukcji kodu, program Visual Studio wykonuje kod. Jeśli instrukcja kodu nie została ukończona, program Visual Studio wstawia nowy wiersz do okna.
Zapisywanie kodu i usuwanie monitów
Po zakończeniu pracy nad kodem możesz wybrać zaktualizowany kod w oknie interaktywnym i wkleić go z powrotem do pliku projektu, aby zapisać pracę.
Podczas wklejania kodu z okna interaktywnego , do edytora, program Visual Studio domyślnie usuwa wiersz polecenia REPL >>>
i monit kontynuacji ...
. To zachowanie umożliwia łatwe przesyłanie kodu z okna do edytora.
Można zmienić zachowanie za pomocą opcji Wklej usuwa monity REPL dla okna interaktywnego :
Wybierz Narzędzia>Opcje, aby otworzyć okno dialogowe Opcje.
Rozwiń sekcję Text Editor>Python>Formatowanie.
Wyczyść opcję usuwa monity REPL.
Wybierz Narzędzia>Opcje, aby otworzyć okno dialogowe Opcje .
Rozwiń sekcję edytora tekstów >Python>Advanced.
Wyczyść opcję "Wklej usuwa monity REPL" dla .
Gdy wyczyścisz opcję, znaki monitu są zachowywane w kodzie wklejonym z okna. Aby uzyskać więcej informacji, zobacz opcje — różne opcje.
Przegląd działania funkcji IntelliSense
Interakcyjne okno zawiera sugestie funkcji IntelliSense oparte na obiektach na żywo, w przeciwieństwie do edytora kodu, w którym funkcja IntelliSense jest oparta tylko na analizie kodu źródłowego. W związku z tym sugestie IntelliSense w oknie interaktywnym są dokładniejsze, szczególnie w przypadku dynamicznie generowanego kodu. Wadą jest to, że funkcje z efektami ubocznymi, takimi jak rejestrowanie komunikatów, mogą wpływać na doświadczenie programistyczne.
Można dostosować zachowanie funkcji IntelliSense za pomocą opcji Ukończenia:
Wybierz Narzędzia>Opcje, aby otworzyć okno dialogowe Opcje.
Rozwiń sekcję Python>Interactive Windows.
Dostosuj ustawienia w grupie trybu uzupełniania, na przykład Nigdy nie oceniaj wyrażeń lub Ukryj sugestie analizy statycznej.
Aby uzyskać więcej informacji, zobacz opcje — opcje interakcyjne systemu Windows.