Freigeben über


Arbeiten mit dem interaktiven Python-Fenster in Visual Studio

Visual Studio stellt ein interaktives REPL-Fenster (Read-Evaluate-Print Loop) für jede Ihrer Python-Umgebungen bereit, das die REPL verbessert, die Sie mit dem Befehl python.exe in der Befehlszeile erhalten. Mit dem Python Interactive Window können Sie beliebigen Python-Code eingeben und sofortige Ergebnisse anzeigen. Dieser Ansatz zur Codierung hilft Ihnen beim Erlernen und Experimentieren mit APIs und Bibliotheken und der interaktiven Entwicklung von Funktionierendem Code, der in Ihre Projekte einbezogen werden soll.

Screenshot des Python-REPL-Fensters (interaktive Read-Evaluate-Print-Schleife) in Visual Studio 2022.

Screenshot: Python Interactive-Fenster REPL (Read-Evaluate-Print Loop) in Visual Studio.

Visual Studio verfügt über viele Python REPL-Modi, aus der Sie auswählen können:

REPL Beschreibung Bearbeiten Fehlerbehebung Bilder
Standard Standardmäßig kommuniziert REPL direkt mit Python Standardbearbeitung (mehrzeilig und mehr) Ja, über $attach Nein
Debuggen Standard-REPL, kommuniziert mit gedebuggtem Python-Prozess Standardredaktion Nur Debuggen Nein
IPython REPL spricht mit dem IPython-Back-End IPython-Befehle, Pylab-Annehmlichkeiten Nein Ja, inline in REPL
IPython ohne Pylab REPL spricht mit dem IPython-Back-End Standard IPython Nein Ja, separates Fenster

In diesem Artikel werden die REPL-Modi Standard und Debuggen beschrieben. Ausführliche Informationen zu IPython-Modi finden Sie unter Verwenden der IPython REPL.

Eine detaillierte Anleitung mit Beispielen, einschließlich der Interaktionen mit dem Editor wie Strg+Eingabe, finden Sie im Abschnitt Verwenden Sie das interaktive REPL-Fenster.

Voraussetzungen

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

Interaktives Fenster öffnen

Es gibt mehrere Möglichkeiten zum Öffnen des interaktiven Fensters für eine Python-Umgebung.

  • Im Fenster Python-Umgebungen:

    1. Wählen Sie Ansicht>Andere Fenster>Python-Umgebungen aus, um das Fenster Python-Umgebungen zu öffnen (oder verwenden Sie die Tastenkombination 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 Interaktives Fenster öffnen aus.

    Screenshot, der zeigt, wie Sie die Option

    Screenshot, der zeigt, wie die Option

  • Wählen Sie im Visual Studio-Tool im Menü Ansicht die Option Weitere Fenster>Python Interactive Windowaus:

    Screenshot, der zeigt, wie Die Menüoption

    Screenshot: Menüoption „Python Interactive-Fenster anzeigen“ in Visual Studio.

  • Wählen Sie im Menü Debuggen auf der Visual Studio-Symbolleiste Ausführen <Projekt | Datei> in Python Interactive aus, oder verwenden Sie die Tastenkombination UMSCHALT+ALT+F5. Sie können ein interaktives Fenster für die Startdatei in Ihrem Projekt oder für jede eigenständige Datei öffnen:

    Screenshot, der zeigt, wie Sie die Menüoption

    Screenshot, der zeigt, wie Sie die Menüoption

Eine weitere Option besteht darin, den Code, den Sie im Visual Studio-Editor schreiben, an das Interaktives Fensterzu senden. Dieser Ansatz wird in Senden von Code an das interaktive Fensterbeschrieben.

Optionen für interaktives Fenster erkunden

Sie können verschiedene Aspekte des interaktiven Fensterssteuern, z. B. den Speicherort von Startskriptdateien und die Funktionsweise der Pfeiltasten in der Fensterumgebung. Um auf die Optionen zuzugreifen, wählen Sie Tools>Optionen>Python>Interactive Windowsaus:

Screenshot der Python Interactive Windows-Optionen in Visual Studio.

Die Optionen werden in Python Interactive Window-Optionen für Visual Studioausführlich beschrieben.

Verwenden des interaktiven Fensters

Im interaktiven Fensterkönnen Sie an der REPL-Python-Eingabeaufforderung >>>Code zeilenweise eingeben. Während Sie jede Zeile eingeben, führt Visual Studio den Code aus, einschließlich des Importierens der erforderlichen Module und definieren von Variablen.

Wenn Visual Studio erkennt, dass eine Codezeile keine vollständige Anweisung bildet, ändert sich die Codeaufforderung 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 versucht wird, den Codeblock auszuführen.

Wenn Sie eine for-Anweisung definieren, startet die erste Codezeile den for Block und endet mit einem Doppelpunkt. Der Block kann aus einer oder mehreren Codezeilen bestehen, die die während der for Schleife auszuführenden Aufgaben definieren. Wenn Sie Enter in einer leeren Zeile auswählen, schließt das interaktive Fenster den Block und Visual Studio führt den Code aus.

Vergleich: Befehlszeile und REPL

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

Metabefehle

Das interaktives Fenster unterstützt mehrere Metabefehle. Alle Metabefehle beginnen mit dem Dollarsymbol $. Sie können $help eingeben, um eine Liste der Metabefehle anzuzeigen, und $help <command>, um Nutzungsdetails für einen bestimmten Befehl abzurufen. In der folgenden Tabelle sind die Metabefehle zusammengefasst.

Metabefehl Beschreibung
$$ Fügen Sie einen Kommentar ein, der hilfreich ist, um Code während der gesamten Sitzung zu kommentieren.
$cls, $clear Löschen Sie den Inhalt des Editorfensters, lassen Sie den Verlauf und den Ausführungskontext jedoch intakt.
$help Anzeigen einer Liste von Befehlen oder Hilfe zu einem bestimmten Befehl.
$load Laden Sie Befehle aus der Datei, und führen Sie sie bis zum Abschluss aus.
$mod Legt das angegebene Modul als aktuellen Bereich fest.
$reset Setzen Sie die Ausführungsumgebung auf den Anfangszustand zurück, behalten Sie jedoch den Verlauf bei.
$wait Warten Sie mindestens auf die angegebene Anzahl 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).

Wechseln der Bereiche des Interactive-Fensters

Standardmäßig ist das Interactive-Fenster für ein Projekt auf die Startdatei des Projekts festgelegt, als wenn Sie die Programmdatei über die Eingabeaufforderung ausgeführt hätten. Bei einer eigenständigen Datei wird der Bereich auf diese Datei festgelegt. Sie können jederzeit während der REPL-Sitzung die Dropdownliste Modulbereich verwenden, um den Bereich zu ändern:

Screenshot, der zeigt, wie Sie das Dropdownmenü

Screenshot, der zeigt, wie Sie das Dropdownmenü

Nachdem Sie ein Modul wie import importlibimportiert haben, werden Optionen im Modulbereich Dropdownmenü angezeigt, um in einen beliebigen Bereich in diesem Modul zu wechseln. Eine Nachricht im interaktiven Fenster meldet die Änderung zum neuen Bereich, sodass Sie nachverfolgen können, wie Sie während Ihrer Sitzung zu einem bestimmten Zustand gelangt sind, indem Sie den Befehlsverlauf überprüfen.

Wenn Sie den Befehl dir() in einen Bereich eingeben, zeigt Visual Studio gültige Bezeichner in diesem Bereich an, einschließlich Funktionsnamen, Klassen und Variablen. Die folgende Abbildung zeigt das Ergebnis des befehls dir() für den bereich importlib:

Screenshot: Ausgabe im Interactive-Fenster für den importlib-Bereich in Visual Studio 2022.

Screenshot: Ausgabe im Interactive-Fenster für den importlib-Bereich.

Code an interaktives Fenster senden

Zusätzlich zum direkten Arbeiten im interaktiven Fenster- können Sie Code im Visual Studio-Editor an das Fenster senden. Dieser Befehl ist nützlich für die iterative oder evolutionäre Codeentwicklung, einschließlich des Testens des Codes während der Entwicklung.

  1. Öffnen Sie eine Codedatei im Visual Studio-Editor, und wählen Sie einen oder alle Code aus.

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

    Screenshot, der zeigt, wie Sie die Menüoption

    Screenshot, der zeigt, wie die Menüoption

Ändern und Ausführen von Code

Nachdem Sie Code an das Interaktives 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+Eingabeauswählen.

Wenn Sie Änderungen vornehmen und am Ende einer vollständigen Codeanweisung die EINGABETASTE drücken, führt Visual Studio den Code aus. Wenn die Code-Anweisung nicht abgeschlossen ist, fügt Visual Studio eine Neueinline in das Fenster ein.

Speichern von Code und Entfernen von Eingabeaufforderungen

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 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 Interactive-Fenster ändern:

  1. Wählen Sie Extras>Optionen aus, um das Dialogfeld Optionen zu öffnen.

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

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

  1. Wählen Sie Extras>Optionen aus, um das Dialogfeld Optionen zu öffnen.

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

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

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

Überprüfen des IntelliSense-Verhaltens

Das Interactive-Fenster enthält IntelliSense-Vorschläge auf der Basis von Liveobjekten, im Gegensatz zum Code-Editor, in dem IntelliSense nur auf der Quellcodeanalyse basiert. Daher sind IntelliSense-Vorschläge im Interaktives Fenster korrekter, insbesondere bei dynamisch generiertem Code. Der Nachteil besteht darin, dass Funktionen mit Nebeneffekten wie der Protokollierung von Nachrichten ihre Entwicklungserfahrung beeinträchtigen können.

Sie können das IntelliSense-Verhalten über die Optionen zum Vervollständigen anpassen:

  1. Wählen Sie Extras>Optionen aus, um das Dialogfeld Optionen zu öffnen.

  2. Erweitern Sie den Abschnitt Python>Interactive-Fenster.

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

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