Arbeiten mit dem interaktiven Python-Fenster in Visual Studio

Visual Studio bietet ein interaktives „Lesen-Auswerten-Ausgeben-Schleife“-Fenster (Read Eval Print Loop, REPL) für Ihre Python-Umgebungen, das eine Verbesserung ist gegenüber dem REPL, das Sie mit dem Befehl von python.exe in der Befehlszeile erhalten. Im Python-Interactive-Fenster können Sie Python-Code eingeben, damit direkt Ergebnisse angezeigt werden. Dieser Programmieransatz unterstützt Sie beim Lernen und Experimentieren mit APIs und Bibliotheken und beim interaktiven Entwickeln von funktionierendem Code, den Sie in Ihre Projekte einfügen können.

Screenshot mit dem Interactive-Fenster REPL (read-eval-print-Loop) von Python in Visual Studio 2022.

Screenshot mit dem Interactive-Fenster REPL (read–eval–print-Loop) von Python in Visual Studio.

Visual Studio bietet viele Python-REPL-Modi zur Auswahl:

REPL Beschreibung Bearbeiten Debuggen Bilder
Standard Standard-REPL, kommuniziert direkt mit Python Standardbearbeitung (mehrzeilig und mehr) Ja, über $attach Nein
Debuggen Standard-REPL, kommuniziert mit debuggtem Python-Prozess Standardbearbeitung Nur Debuggen Nein
IPython REPL kommuniziert mit IPython-Back-End IPython-Befehle, Pylab-Vorteile Nein Ja, inline in REPL
IPython ohne Pylab REPL kommuniziert mit IPython-Back-End Standardmäßiges IPython Nein Ja, separates Fenster

In diesem Artikel werden der Standard- und Debug-REPL-Modus beschrieben. Ausführliche Informationen zu den IPython-Modi finden Sie unter Verwenden von IPython REPL (Verwenden von IPython REPL).

Eine detaillierte exemplarische Vorgehensweise mit Beispielen, einschließlich der Interaktionen mit dem Editor wie STRG+EINGABETASTE, finden Sie unter Verwenden des interaktiven REPL-Fensters.

Voraussetzungen

Visual Studio für Mac wird nicht unterstützt. Weitere Informationen finden Sie unter Was passiert mit Visual Studio für Mac? Visual Studio Code unter Windows, Mac und Linux funktioniert gut mit Python über verfügbare Erweiterungen.

Öffnen des Interactive-Fensters

Es gibt mehrere Methoden zum Öffnen des Interactive-Fensters für eine Python-Umgebung.

  • Das Fenster Python-Umgebungen:

    1. Wählen Sie Andere>Windows>Python-Umgebungen anzeigen aus, um das Fenster Python-Umgebungen zu öffnen (oder verwenden Sie die Tastatur Strg+K>Strg+`).

    2. Wählen Sie im Fenster Python-Umgebungen eine Umgebung aus und wechseln Sie zur Seite Übersicht für die Umgebung.

    3. Wählen Sie auf der Seite Übersicht die Option Interactive-Fenster öffnen aus.

    Screenshot, der zeigt, wie die Option Interactive-Fenster öffnen für die ausgewählte Umgebung in Visual Studio 2022 verwendet wird.

    Screenshot, der zeigt, wie die Option Interactive-Fenster öffnen für die ausgewählte Umgebung in Visual Studio verwendet wird.

  • Wählen Sie im Menü Ansicht im Visual Studio-Tool Anderes interaktives Windows>Python-Fenster aus:

    Screenshot, der zeigt, wie die Menüoption Python Interactive-Fenster anzeigen in Visual Studio 2022 verwendet wird.

    Screenshot, der zeigt, wie die Menüoption Python Interactive-Fenster anzeigen in Visual Studio verwendet wird.

  • Wählen Sie im Menü Debuggen auf der Visual-Studio-Symbolleiste <Projektdatei> ausführen in Python Interactive oder verwenden Sie den Tastaturkurzbefehl Umschalt+Alt+F5. Sie können ein Interactive-Fenster für die Startdatei in Ihrem Projekt oder für eine beliebige eigenständige Datei öffnen:

    Screenshot, der zeigt, wie man die Menüoption Debug Execute Project in Python Interactive in Visual Studio 2022 verwendet.

    Screenshot, der zeigt, wie man die Menüoption Debug Execute Project in Python Interactive in Visual Studio verwendet.

Eine weitere Option besteht darin, den Code, den Sie im Visual-Studio-Editor schreiben, an das Interactive-Fenster zu senden. Dieser Ansatz wird im Senden von Code an das Interactive-Fenster beschrieben.

Erkunden von Optionen für Interactive-Fenster

Sie können verschiedene Aspekte des Interactive-Fensters steuern, z. B. den Speicherort der Startskriptdateien und die Funktionsweise der Pfeiltasten innerhalb der Fensterumgebung. Um auf die Optionen zuzugreifen, wählen Sie Tools>Optionen>Python>Interactive Windows aus:

Screenshot der Python Interactive Windows-Optionen in Visual Studio.

Die Optionen werden in den Python Interactive-Fenster-Optionen für Visual Studio ausführlich beschrieben.

Verwenden des Interactive-Fensters

Im Interactive-Fenster können Sie damit beginnen, Code Zeile für Zeile an der REPL-Python-Eingabeaufforderung >>> einzugeben. Während Sie die einzelnen Zeilen eingeben, führt Visual Studio den Code aus, einschließlich des Imports der erforderlichen Module und der Definition von Variablen.

Wenn Visual Studio feststellt, dass eine Codezeile keine vollständige Anweisung darstellt, ändert sich die Code-Eingabeaufforderung in die REPL-Fortsetzung .... Diese Eingabeaufforderung gibt an, dass Sie weitere Codezeilen eingeben müssen, um den Anweisungsblock abzuschließen. Visual Studio wartet auf die schließende Syntax, bevor es versucht, den Codeblock auszuführen.

Wenn Sie eine for-Anweisung definieren, beginnt die erste Zeile des Codes den for-Block und endet mit einem Doppelpunkt. Der Block kann aus einer oder mehreren Codezeilen bestehen, die die während des for-Loops zu erledigenden Aufgaben definieren. Wenn Sie in einer leeren Zeile die Eingabetaste drücken, schließt das interaktive Fenster den Block und Visual Studio führt den Code aus.

REPL-Vergleich der Befehlszeile

Eine Verbesserung im Vergleich zum üblichen Befehlszeilen-REPL von Python ist im interaktiven Fenster das automatische Einrücken von Anweisungen, die zum gleichen Bereich gehören. Bei beiden Methoden können Sie mit den Pfeiltasten durch den eingegebenen Code blättern. Das Interactive-Fenster bietet auch mehrzeilige Elemente, während die REPL-Befehlszeile nur einzelne Zeilen bietet.

Metabefehle

Das interaktive Fenster unterstützt auch mehrere Metabefehle. Alle Metabefehle beginnen mit dem Dollarsymbol $. Sie können $help eingeben, um eine Liste der Meta-Befehle anzuzeigen und $help <command>, um Details zur Verwendung eines bestimmten Befehls zu erhalten. In der folgenden Tabelle sind die Metabefehle zusammengefasst.

Metabefehl Beschreibung
$$ Fügt einen Kommentar ein, was das Kommentieren von Code während der gesamten Sitzung erleichtert.
$cls, $clear Löscht den Inhalt des Editorfensters, Verlauf und Ausführungskontext bleiben jedoch erhalten.
$help Zeigt eine Liste von Befehlen an, oder Hilfe zu einem bestimmten Befehl.
$load Laden Sie Befehle aus der Datei und führen Sie sie aus, bis sie abgeschlossen sind.
$mod Legen Sie das angegebene Modul als aktuellen Bereich fest.
$reset Setzen Sie die Ausführungsumgebung auf den ursprünglichen Zustand zurück, behalten Sie jedoch den Verlauf bei.
$wait Warten Sie mindestens die angegebene Zahl von Millisekunden.

Sie können die Befehle auch mit Visual-Studio-Erweiterungen erweitern, indem Sie die IInteractiveWindowCommand-Klasse implementieren und exportieren. Weitere Informationen finden Sie in einem (Beispiel auf GitHub).

Wechsel des interaktiven Fensterbereichs

Standardmäßig wird der Bereich des interaktiven Fensters für ein Projekt auf die Startdatei des Projekts beschränkt, als ob Sie die Programmdatei von der Eingabeaufforderung aus ausführen würden. Bei einer eigenständigen Datei wird der Geltungsbereich auf diese Datei festgelegt. Während der REPL-Sitzung können Sie jederzeit die Dropdown-Liste Modulbereich verwenden, um den Bereich zu ändern:

Screenshot, der zeigt, wie Sie das Einblendmenü Modulbereich verwenden, um den Bereich im interaktiven Fenster in Visual Studio 2022 zu ändern.

Screenshot, der zeigt, wie Sie das Einblendmenü Modulbereich verwenden, um den Bereich im interaktiven Fenster zu ändern.

Sobald Sie ein Modul importieren, z. B. import importlib, werden in der Dropdownliste Modulbereich Optionen zum Wechsel in einen beliebigen Bereich dieses Moduls angezeigt. Eine Meldung im interaktiven Fenster meldet den Wechsel in den neuen Bereich, so dass Sie anhand des Befehlsverlaufs nachvollziehen können, wie Sie während Ihrer Sitzung zu einem bestimmten Zustand gelangt sind.

Wenn Sie den Befehl dir() in einem Bereich eingeben, zeigt Visual Studio gültige Bezeichner in diesem Bereich an, einschließlich Funktionsnamen, Klassen und Variablen. Das folgende Bild zeigt das Ergebnis des dir()-Befehls für den importlib-Bereich:

Screenshot, der die Ausgabe im interaktiven Fenster für den importlib-Bereich in Visual Studio 2022 zeigt.

Screenshot, der die Ausgabe im interaktiven Fenster für den importlib-Bereich zeigt.

Senden von Code an das interaktive Fenster

Sie können nicht nur direkt im Interaktiven Fenster arbeiten, sondern auch Code aus dem Visual-Studio-Editor an das Fenster senden. Dieser Befehl ist auch zur iterativen oder evolutionären Codeentwicklung inklusive des Testens Ihres Codes während der Entwicklung nützlich.

  1. Öffnen Sie eine Codedatei im Visual-Studio-Editor und markieren Sie den gesamten oder einen Teil des Codes.

  2. Klicken Sie mit der rechten Maustaste auf den ausgewählten Code und wählen Sie An interaktiv senden aus (oder verwenden Sie den Tastaturkurzbefehl STRG+E, E).

    Screenshot, der zeigt, wie die Menüoption An Interaktiv senden in Visual Studio 2022 verwendet wird.

    Screenshot, der zeigt, wie die Menüoption An Interaktiv senden in Visual Studio verwendet wird.

Ändern und Ausführen von Code

Nachdem Sie Code an das interaktive Fenster gesendet und die Ausgabe angezeigt haben, können Sie den Code ändern und die Änderungen testen. Verwenden Sie die Pfeile nach oben und unten, um zum Code im Befehlsverlauf für das Fenster zu scrollen. Ändern Sie den Code und führen Sie den aktualisierten Code aus, indem Sie STRG+EINGABETASTE auswählen.

Wenn Sie Änderungen vornehmen, führt Visual Studio den Code aus, wenn Sie am Ende einer vollständigen Code-Anweisung die EINGABETASTE auswählen. Wenn die Code-Anweisung nicht abgeschlossen ist, fügt Visual Studio eine neue Zeile in das Fenster ein.

Speichern von Code und Entfernen von Prompts

Nachdem Sie ihre Arbeit am Code abgeschlossen haben, können Sie den aktualisierten Code im interaktiven Fenster auswählen und wieder in Ihre Projektdatei einfügen, um Ihre Arbeit zu speichern.

Wenn Sie Code aus dem interaktiven Fenster in den Editor einfügen, entfernt Visual Studio standardmäßig die REPL-Eingabeaufforderung >>> und die Fortsetzungsaufforderung .... Mit diesem Verhalten können Sie Code einfach aus dem Fenster in den Editor übertragen.

Sie können das Verhalten mit der Option Einfügen entfernt REPL-Eingabeaufforderungen für das interaktive Fenster ändern:

  1. Klicken Sie in der Menüleiste auf Extras>Optionen, um den Dialog Optionen zu öffnen.

  2. Erweitern Sie den Abschnitt Text-Editor>Python>Formatierung.

  3. Deaktivieren Sie die Option Einfügen entfernt REPL-Eingabeaufforderungen.

  1. Klicken Sie in der Menüleiste auf Extras>Optionen, um den Dialog Optionen zu öffnen.

  2. Erweitern Sie den Abschnitt Text-Editor>Python>Advanced.

  3. Deaktivieren Sie die Option Einfügen entfernt REPL-Eingabeaufforderungen.

Wenn Sie die Option deaktivieren, werden die Eingabeaufforderungszeichen im Code beibehalten, der aus dem Fenster eingefügt wird. Weitere Informationen finden Sie unter Optionen – Verschiedene Optionen.

Überprüfung des IntelliSense-Verhaltens

Das interaktive Fenster enthält IntelliSense-Vorschläge auf der Basis von Liveobjekten, im Gegensatz zum Code-Editor, in dem IntelliSense nur auf der Quellcodeanalyse basiert. Infolgedessen sind die IntelliSense-Vorschläge im interaktiven Fenster korrekter, insbesondere bei dynamisch generiertem Code. Der Nachteil ist, dass Funktionen mit Nebenwirkungen, wie z. B. die Protokollierung von Meldungen, Ihre Entwicklungserfahrung beeinträchtigen können.

Sie können das IntelliSense-Verhalten über die Abschlussoptionen anpassen:

  1. Klicken Sie in der Menüleiste auf Extras>Optionen, um den Dialog Optionen zu öffnen.

  2. Erweitern Sie den Abschnitt Python>Interactive Windows.

  3. Passen Sie die Einstellungen in der Gruppe Vervollständigungsmodus an, z. B. Ausdrücke nie auswerten oder Statische Analysevorschläge ausblenden.

Weitere Informationen finden Sie unter Optionen – Interaktive Windows-Optionen.