Bearbeiten von Python-Code und verwenden von IntelliSense

Da Sie einen Großteil Ihrer Entwicklungszeit im Code-Editor verbringen, bietet die Python-Unterstützung in Visual Studio Funktionen, die Ihre Produktivität erhöhen. Zu den Funktionen gehören die Syntaxhervorhebung von IntelliSense, die automatische Vervollständigung, Signaturhilfe, Methodenüberschreibungen, die Suche und die Navigation.

Der Code-Editor ist im Fenster Interaktiv in Visual Studio integriert. Während Sie arbeiten, ist es einfach, Code zwischen den beiden Fenstern auszutauschen. Weitere Informationen finden Sie unter Tutorial Schritt 3: Verwenden des interaktiven REPL-Fensters und Verwenden des interaktiven Fensters: Befehl „An Interactive senden“.

Mit der Option Gliedern können Sie sich auf bestimmte Abschnitte Ihres Codes konzentrieren. Eine allgemeine Dokumentation zur Codebearbeitung in Visual Studio finden Sie unter Features des Code-Editors.

Mit dem Visual Studio-Objektbrowser können Sie die in den einzelnen Modulen definierten Python-Klassen und die in diesen Klassen definierten Funktionen überprüfen. Sie können auf dieses Feature im Menü Ansicht oder mithilfe der Tastenkombination STRG+ALT+J zugreifen.

Verwenden von IntelliSense-Funktionen

IntelliSense bietet Vervollständigung, Signaturhilfe, QuickInfos und Codefarben. Visual Studio 2017 Version 15.7 und höher unterstützt auch Typhinweise.

Zur Verbesserung der Leistung nutzt IntelliSense in Visual Studio 2017 Version 15.5 und früher eine Vervollständigungsdatenbank, die für jede Python-Umgebung in Ihrem Projekt generiert wird. Möglicherweise müssen Sie Ihre Datenbank aktualisieren, wenn Sie Pakete hinzufügen, entfernen oder aktualisieren. Der Status der Datenbank wird im Fenster Python-Umgebungen (einer Ergänzung zum Projektmappen-Explorer) auf der Registerkarte IntelliSense angezeigt. Weitere Informationen erhalten Sie unter Referenz zum Fenster „Umgebungen“).

Visual Studio 2017 Version 15.6 und höher ermöglicht auf andere Weise IntelliSense-Vervollständigungen, die nicht von der Datenbank abhängig sind.

Vervollständigungen

Vervollständigungen werden für Anweisungen, Bezeichner oder andere Wörter angezeigt, die an der aktuellen Position im Editor eingegeben werden können. IntelliSense füllt die Liste der Optionen basierend auf Kontext und filtert falsche oder ablenkende Elemente. Vervollständigungen werden häufig durch Eingabe verschiedener Anweisungen (z. B. import) und Operatoren einschließlich eines Punkts) ausgelöst. Sie können sie jedoch auch jederzeit durch Drücken von STRG+J +Leertaste anzeigen.

Screenshot, der die Vervollständigung von Membern durch Intellisense im Visual-Studio-Editor zeigt.

Wenn eine Vervollständigungsliste geöffnet ist, können Sie mithilfe der Pfeiltasten, der Maus oder durch weitere Eingabe nach der gewünschten Vervollständigung suchen. Je mehr Buchstaben Sie eingeben, desto genauer wird die Liste gefiltert, um wahrscheinliche Vervollständigungen anzuzeigen. Ebenso können Sie diese Tastaturkombinationen verwenden:

  • Geben Sie Buchstaben ein, die sich nicht am Anfang des gesuchten Begriffs befinden, z. B. „parse“ zum Suchen nach „argparse“.
  • Geben Sie nur Anfangsbuchstaben, z. B. „abc“ zum Suchen nach „AbstractBaseClass“ oder „air“ zum Suchen nach „as_integer_ratio“ ein.
  • Lassen Sie Buchstaben aus, z. B. „b64“ zum Suchen nach „base64“.

Im Folgenden finden Sie einige Beispiele:

Screenshot, der die Vervollständigung von Membern mit Filterung im Visual Studio Editor zeigt.

Membervervollständigungen werden automatisch angezeigt, wenn Sie nach einer Variable oder einem Wert einen Punkt zusammen mit dem Methoden und Attributen der möglichen Typen eingeben. Wenn eine Variable mehr als einen Typ aufweisen kann, enthält die Liste alle Möglichkeiten aller Typen. Zusätzliche Informationen werden angezeigt, um anzugeben, welche Typen jeden Abschluss unterstützen. Wenn alle möglichen Typen einen Abschluss unterstützen, wird keine Anmerkung angezeigt.

Screenshot, der die Vervollständigung von Membern für mehrere Typen im Visual-Studio-Editor zeigt.

Standardmäßig werden „dunder“-Member, die mit einem doppelten Unterstrich beginnen und enden, nicht angezeigt. Auf diese Member sollte grundsätzlich nicht direkt zugegriffen werden. Wenn Sie einen Dunder verwenden müssen, geben Sie die doppelten Unterstriche vom Anfang ein, sodass diese Vervollständigungen der Liste hinzugefügt werden:

Screenshot, der die Vervollständigungstypen für private Dunder-Member im Visual Studio-Editor zeigt.

Die Anweisungen import und from ... import zeigen eine Liste von Modulen an,die importiert werden können. Die from ... import-Aussage erzeugt eine Liste mit Membern, die aus dem angegebenen Modul importiert werden können.

Screenshot, der den Import und die Fertigstellung des Imports im Visual Studio-Editor zeigt.

Die Anweisungen raise und except zeigen Listen mit Klassen an, bei denen es sich wahrscheinlich um Fehlertypen handelt. Diese Liste umfasst möglicherweise nicht alle benutzerdefinierten Ausnahmen, hilft Ihnen aber dabei, schnell passende integrierte Ausnahmen zu finden:

Screenshot, der die Vervollständigung von Ausnahmen im Visual Studio-Editor zeigt.

Durch Auswahl des @-Symbols (at) wird ein Decorator gestartet und potenzielle Decorators angezeigt. Viele dieser Elemente können nicht als Decorators verwendet werden. Überprüfen Sie die Bibliotheksdokumentation, um zu bestimmen, welcher Decorator verwendet werden soll.

Screenshot, der die Vervollständigung des Decorators im Visual Studio-Editor zeigt.

Weitere Informationen finden Sie unter Optionen – Abschlussergebnisse.

Typhinweise

Typhinweise sind in Visual Studio 2017, Version 15.7 und höher, verfügbar.

Bei „Typhinweisen“ in Python 3.5+ (PEP 484, python.org) handelt es sich um eine Anmerkungssyntax für Funktionen und Klassen, die die Typen der Argumente, Rückgabewerte und Klassenattribute angeben. IntelliSense zeigt Typhinweise an, wenn Sie auf Funktionsaufrufe, Argumente und Variablen zeigen, die diese Anmerkungen aufweisen.

Im folgenden Beispiel ist die Vector-Klasse als List[float]-Typ deklariert, und die scale-Funktion enthält Typhinweise sowohl für ihre Argumente als auch für ihren Rückgabewert. Wenn mit dem Mauszeiger auf einen Aufruf dieser Funktion gezeigt wird, werden die Typhinweise angezeigt:

Screenshot, der zeigt, wie der Mauszeiger über einen Funktionsaufruf bewegt wird, um Hinweise zum Typ anzuzeigen.

Im nächsten Beispiel sehen Sie, wie die mit Anmerkungen versehenen Attribute der Employee-Klasse im IntelliSense-Vervollständigungspopupfenster für ein Attribut angezeigt werden:

Screenshot, der die IntelliSense-Vervollständigung für eine Klasse mit Typ-Hinweisen zeigt.

Es ist ferner hilfreich, Typhinweise während Ihres Projekts zu überprüfen, da Fehler üblicherweise erst während der Laufzeit auftreten. Zu diesem Zweck integriert Visual Studio das branchenübliche Mypy-Tool über den Kontextmenübefehl Python>Mypy ausführen im Lösungsmappen-Explorer:

Screenshot, der die verfügbaren Linting-Befehle für Python-Projekte im Solution Explorer zeigt.

Beim Ausführen des Befehls werden Sie ggf. aufgefordert, das mypy-Paket zu installieren. Visual Studio führt dann mypy aus, um Typhinweise in allen Python-Dateien im Projekt zu überprüfen. Fehler werden im Fenster Fehlerliste von Visual Studio angezeigt. Wenn ein Element im Fenster ausgewählt wird, erfolgt der Sprung zur entsprechenden Zeile in Ihrem Code.

Als einfaches Beispiel enthält die folgende Funktionsdefinition einen Typhinweis, um anzugeben, dass es sich bei dem input-Argument um den Typ str handelt, während der Aufruf der Funktion versucht, eine ganze Zahl zu übergeben:

def commas_to_colons(input: str):
    items = input.split(',')
    items = [x.strip() for x in items]
    return ':'.join(items)

commas_to_colons(1)

Mithilfe des Befehls Mypy ausführen für diesen Code wird der folgende Fehler generiert:

Screenshot, der das Beispielergebnis der Mypy-Validierung von Typ-Hinweisen zeigt.

Hinweis

Für Versionen von Python vor 3.5 zeigt Visual Studio auch Typhinweise an, die Sie über Typeshed-Stub-Dateien (.pyi) angeben. Sie können Stub-Dateien immer dann verwenden, wenn Sie Typhinweise nicht direkt in Ihren Code einschließen möchten oder Typhinweise für eine Bibliothek erstellen wollen, die diese nicht direkt verwendet. Weitere Informationen finden Sie unter Create Stubs for Python Modules (Erstellen von Stubs für Python-Module) im Projekt-Wiki für MyPy.

Visual Studio unterstützt derzeit keine Typhinweise in Kommentaren.

Signaturhilfe

Wenn Sie Code schreiben, der eine Funktion aufruft, wird die Signaturhilfe angezeigt, wenn Sie die öffnende Klammer ( eingeben. Es zeigt verfügbare Dokumentations- und Parameterinformationen an. Sie können auf die Signaturhilfe mit der Tastenkombination Strg+Umschalttaste+Leertaste innerhalb eines Funktionsaufrufs zugreifen. Die angezeigten Informationen hängen von den Dokumentationszeichenfolgen im Quellcode der Funktion ab, enthalten aber alle Standardwerte.

Screenshot, der die Signaturhilfe im Visual-Studio-Editor zeigt.

Tipp

Um die Signaturhilfe zu deaktivieren, wechseln Sie zu Extras>Optionen>Text-Editor>Python>Allgemein. Deaktivieren Sie das Kontrollkästchen Anweisungsabschluss>Parameterinformationen.

QuickInfo

Wenn Sie den Mauszeiger über einen Bezeichner bewegen, wird eine QuickInfo angezeigt. Je nach Bezeichner zeigt QuickInfo die möglichen Werte oder Typen, die verfügbare Dokumentation, Rückgabetypen und Definitionsspeicherorte an:

Screenshot, der die Quick-Info-Anzeigeinformationen im Visual-Studio-Editor zeigt.

Codefarben

Codefarben verwenden Informationen aus der Codeanalyse, um Variablen, Anweisungen und andere Teile Ihres Codes farbig hervorzuheben. Variablen, die auf Module oder Klassen verweisen, werden möglicherweise in einer anderen Farbe angezeigt als Funktionen oder andere Werte. Parameternamen werden möglicherweise in einer anderen Farbe angezeigt als lokale oder globale Variablen. Funktionen werden standardmäßig nicht fett hervorgehoben.

Screenshot, der Code und Syntaxfärbung im Visual-Studio-Editor zeigt.

Um die Farben anzupassen, wechseln Sie zu Extras>Optionen>Umgebungen>Schriftarten und Farben. Ändern Sie in der Liste Anzeigeelemente die gewünschten Python-Einträge:

Screenshot, der die Optionen für Schriftarten und Farben in Visual Studio zeigt.

Einfügen von Codeausschnitten

Codeausschnitte sind Fragmente, die über eine Tastenkombination und Auswahl der Tab-Taste in Ihre Dateien eingefügt werden können. Sie können auch die Befehle Bearbeiten>IntelliSense>Ausschnitt einfügen und Umschließen mit verwenden. Wählen Sie Python und dann den gewünschten Ausschnitt aus.

Beispielsweise ist class eine Kurzform für einen Codeausschnitt, der eine Klassendefinition einfügt. Wenn Sie class eingeben, sehen Sie, dass der Codeausschnitt in der Liste für automatische Vervollständigung angezeigt wird:

Screenshot, der einen Codeschnipsel für die Klassenverknüpfung zeigt.

Durch Auswahl der Tab-Taste wird der Rest der Klasse generiert. Sie können dann in die Namens- und Basisliste schreiben, zwischen den hervorgehobenen Feldern mit der Tab-Taste wechseln und dann die Eingabetaste drücken, um mit dem Eingeben des Texts zu beginnen.

Screenshot, in dem Bereiche eines Codeschnipsels hervorgehoben werden, die Sie vervollständigen müssen.

Wenn Sie den Menübefehl Bearbeiten>IntelliSense>Codeausschnitt einfügen verwenden, wählen Sie zunächst Python und dann den gewünschten Ausschnitt aus.

Screenshot, der zeigt, wie man einen Codeschnipsel mit dem Befehl Codeschnipsel einfügen auswählt.

Der Befehl Bearbeiten>IntelliSense>Umgeben mit platziert auf ähnliche Weise die aktuelle Auswahl im Text-Editor in einem ausgewählten Strukturelement. Angenommen, Sie hätten einen Code wie im folgenden Beispiel:

sum = 0
for x in range(1, 100):
    sum = sum + x

Bei Auswahl dieses Codes und des Befehls Umschließen mit wird eine Liste der verfügbaren Ausschnitte angezeigt. Durch Auswählen von def aus der Codeausschnittliste wird der ausgewählte Code in einer Funktionsdefinition platziert. Mit der Tab-Taste können Sie zwischen dem Namen der hervorgehobenen Funktion und den Argumenten navigieren:

Screenshot, der zeigt, wie der Befehl Surround With für Codeschnipsel verwendet wird.

Untersuchen verfügbarer Ausschnitte

Die verfügbaren Codeausschnitte werden im Codeausschnitt-Manager angezeigt. Greifen Sie auf dieses Feature über Extras>Codeausschnitt-Manager zu, und wählen Sie Python als Sprache aus:

Screenshot, der den Codeschnipsel Manager in Visual Studio zeigt.

Informationen zum Erstellen eigener Codeausschnitte finden Sie unter Exemplarische Vorgehensweise: Erstellen eines Codeausschnitts.

Wenn Sie einen Codeausschnitt geschrieben haben, den Sie gerne für andere Benutzer freigeben möchten, posten Sie ihn in einem Gist, und informieren Sie uns darüber. Möglicherweise verwenden wir ihn in einer zukünftigen Version von Visual Studio.

Die Python-Unterstützung in Visual Studio bietet mehrere Möglichkeiten zum schnellen Navigieren im Code, einschließlich Bibliotheken, für die der Quellcode verfügbar ist. Sie finden Bibliotheken mit Quellcode für die Befehle Navigationsleiste, Gehe zu Definition, Gehe zu und Alle Verweise suchen. Sie können auch den Objektkatalog von Visual Studio verwenden.

Die Navigationsleiste wird am oberen Rand jedes Editor-Fensters angezeigt und enthält eine Liste mit Definitionen auf zwei Ebenen. Das linke Dropdownmenü enthält Klassen- und Funktionsdefinitionen der obersten Ebene in der aktuellen Datei. Das rechte Dropdownmenü zeigt eine Liste von Definitionen innerhalb des links angezeigten Bereichs an. Wenn Sie sich im Editor bewegen, werden die Listen aktualisiert und zeigen den aktuellen Kontext an. Sie können auch einen Eintrag aus diesen Listen auswählen, um direkt an die entsprechende Stelle zu springen.

Screenshot der Navigationsleiste im Visual-Studio-Editor.

Tipp

Um die Navigationsleiste auszublenden, wechseln Sie zu Extras>Optionen>Text-Editor>Python>Allgemein, und deaktivieren Sie die Option Einstellungen>Navigationsleiste.

Gehe zu Definition

Der Befehl Gehe zu Definition wechselt schnell von einem Bezeichner (z. B. einem Funktionsnamen, einer Klasse oder einer Variablen) zu dem Quellcode, in dem dieser definiert ist. Um den Befehl aufzurufen, klicken Sie mit der rechten Maustaste auf einen Bezeichner, und wählen Sie Gehe zu Definition aus, oder platzieren Sie das Caretzeichen im Bezeichner, und wählen Sie F12 aus. Der Befehl funktioniert in Ihrem Code und in externen Bibliotheken, in denen der Quellcode verfügbar ist. Wenn der Quellcode der Bibliothek nicht verfügbar ist, wechselt Gehe zu Definition zur entsprechenden import-Anweisung für einen Modulverweis oder zeigt einen Fehler an.

Screenshot, der den Befehl Gehe zu Definition in Visual Studio zeigt.

Gehe zu

Der Befehl Bearbeiten>Gehe zu (Strg+,) zeigt ein Suchfeld im Editor an, in das Sie eine beliebige Zeichenfolge eingeben und mögliche Übereinstimmungen in Ihrem Code anzeigen können, der eine Funktion, eine Klasse oder eine Variable definiert, die diese Zeichenfolge enthält. Diese Funktion bietet eine ähnliche Funktionalität wie Gehe zu Definition, ohne jedoch die Verwendung eines Bezeichners suchen zu müssen.

Um zur Definition dieses Bezeichners zu navigieren, doppelklicken Sie auf einen beliebigen Namen oder wählen Sie den Namen mit den Pfeiltasten und anschließend die Eingabetaste aus.

Screenshot, der den Befehl Gehe zu in Visual Studio zeigt.

Alle Verweise suchen

Das Feature Alle Verweise suchen ist eine nützliche Möglichkeit, um herauszufinden, wo ein bestimmter Bezeichner definiert und verwendet wird, einschließlich Importen und Zuweisungen. Um den Befehl aufzurufen, klicken Sie mit der rechten Maustaste auf einen Bezeichner, und wählen Sie Alle Verweise suchen, aus, oder platzieren Sie das Caretzeichen im Bezeichner, und wählen Sie Umschalttaste+F12 aus. Durch Doppelklicken auf ein Element in der Liste navigieren Sie zur entsprechenden Position.

Screenshot, der die Ergebnisse der Suche nach allen Referenzen in Visual Studio zeigt.