Freigeben über


Bearbeiten von Python-Code und Verwenden von IntelliSense

Da Sie viel Zeit mit der Entwicklung im Code-Editor verbringen, bietet die Python-Unterstützung in Visual Studio Funktionen, die Ihnen helfen, produktiver zu sein. Zu den Features gehören IntelliSense-Syntaxmarkierung, AutoVervollständigen, Signaturhilfe, Methodenüberschreibungen, Suche und Navigation.

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

Die Gliederung hilft Ihnen, sich auf bestimmte Abschnitte Ihres Codes zu konzentrieren. Allgemeine Dokumentation zum Bearbeiten von Code in Visual Studio finden Sie unter Features des Code-Editors.

Mit dem Visual Studio-Objektkatalog können Sie Python-Klassen untersuchen, die in jedem Modul definiert sind, und die in diesen Klassen definierten Funktionen. Sie können auf dieses Feature im Menü "Ansicht" oder mithilfe der Tastenkombination STRG+ALT+J zugreifen.

Verwenden von IntelliSense-Features

IntelliSense bietet Vervollständigungen, Signaturhilfe, schnelle Informationen und Codefarben. Visual Studio 2017, Versionen 15.7 und höher, unterstützen auch Typhinweise.

Um die Leistung zu verbessern, hängt IntelliSense in Visual Studio 2017, Version 15.5 und früher, von einer Abschlussdatenbank ab, 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 Datenbankstatus wird im Python-Umgebungsfenster (ein Begleitfenster des Projektmappen-Explorers) auf der Registerkarte IntelliSense angezeigt. Weitere Informationen finden Sie in der Referenz zum Umgebungsfenster.

Visual Studio 2017, Version 15.6 und höher, verwendet eine andere Möglichkeit, IntelliSense-Fertigstellungen bereitzustellen, die nicht von der Datenbank abhängig sind.

Abschlüsse

Vervollständigungen erscheinen als Anweisungen, Bezeichner und andere Wörter, die an der aktuellen Position im Editor passend eingegeben werden können. IntelliSense füllt die Liste der Optionen basierend auf Kontext und filtert falsche oder ablenkende Elemente. Fertigstellungen werden häufig ausgelöst, indem verschiedene Anweisungen (z.B. import) und Operatoren (einschließlich eines Punkts) eingegeben werden, aber sie können jederzeit erscheinen, indem Sie die Tastenkombination STRG+J +Leerzeichen auswählen.

Screenshot, der die Mitgliedervollständigung mithilfe von IntelliSense im Visual Studio-Editor zeigt.

Wenn eine Vervollständigungsliste geöffnet ist, können Sie mithilfe der Pfeiltasten, der Maus oder der Eingabe nach dem gewünschten Abschluss suchen. Während Sie weitere Buchstaben eingeben, wird die Liste weiter gefiltert, um wahrscheinliche Fertigstellungen anzuzeigen. Sie können auch Tastenkombinationen wie zum Beispiel verwenden:

  • Geben Sie Buchstaben ein, die sich nicht am Anfang des Namens befinden, z. B. "parse", um "argparse" zu finden.
  • Geben Sie nur Buchstaben ein, die sich am Anfang der Wörter befinden, z. B. "abc", um "AbstractBaseClass" oder "air" zu finden, um "as_integer_ratio" zu finden.
  • Buchstaben wie "b64" auslassen, um "base64" zu finden

Hier sind einige Beispiele:

Screenshot, der die Mitgliedervollständigung mit der Filterung im Visual Studio-Editor darstellt.

Mitgliedervorschläge werden automatisch angezeigt, nach dem Tippen eines Punkts nach einer Variablen oder einem Wert, sowie die Methoden und Attribute der möglichen Typen. Wenn eine Variable mehrere Typen sein 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 eine Vervollständigung unterstützen, wird keine Anmerkung angezeigt.

Screenshot, der die Mitgliedervollständigung bei mehreren Typen im Visual Studio-Editor zeigt.

Standardmäßig werden "dunder"-Mitglieder (Elemente, die mit einem doppelten Unterstrich beginnen und enden) nicht angezeigt. Im Allgemeinen sollten auf solche Mitglieder nicht direkt zugegriffen werden. Wenn Sie einen Dunder verwenden müssen, geben Sie den führenden doppelten Unterstrich ein, um diese Vervollständigungen zur Liste hinzuzufügen:

Screenshot der Vervollständigungstypen für private Dundermitglieder im Visual Studio-Editor.

Die import- und from ... import-Anweisungen zeigen eine Liste der Module an, die importiert werden können. Die from ... import Anweisung erzeugt eine Liste, die Elemente enthält, die aus dem angegebenen Modul importiert werden können.

Screenshot, der den Importvorgang und den Importabschluss im Visual Studio-Editor zeigt.

In der Anweisung raise und except werden Listen von Klassen angezeigt, die wahrscheinlich Fehlertypen sind. Die Liste enthält möglicherweise nicht alle benutzerdefinierten Ausnahmen, hilft Ihnen jedoch, geeignete integrierte Ausnahmen schnell zu finden:

Screenshot, der den Abschluss eines Ausnahmeprozesses im Visual Studio-Editor zeigt.

Das Auswählen eines @-Symbols (@) startet einen Dekorator und zeigt potenzielle Dekoratoren an. Viele dieser Elemente können nicht als Dekorationen verwendet werden. Überprüfen Sie die Bibliotheksdokumentation, um zu bestimmen, welcher Dekorateur verwendet werden soll.

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

Weitere Informationen finden Sie unter "Optionen – Abschlussergebnisse".

Typ-Hinweise

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

"Typhinweise" in Python 3.5+ (PEP 484 (python.org) ist eine Anmerkungssyntax für Funktionen und Klassen, die die Typen von Argumenten, Rückgabewerten und Klassenattributen angeben. IntelliSense zeigt Typhinweise an, wenn Sie mit dem Mauszeiger auf Funktionsaufrufe, Argumente und Variablen zeigen, die über diese Anmerkungen verfügen.

Im folgenden Beispiel wird die Vector Klasse als Typ List[float]deklariert, und die scale Funktion enthält Typhinweise für ihre Argumente und den Rückgabewert. Beim Darüberhovern auf einen Aufruf dieser Funktion werden die Typhinweise angezeigt:

Screenshot, der zeigt, wie man mit dem Mauszeiger auf einen Funktionsaufruf zeigt, um Typ-Hinweise anzuzeigen.

Im nächsten Beispiel können Sie sehen, wie die kommentierten Attribute der Employee Klasse im IntelliSense-Vervollständigungspopup für ein Attribut angezeigt werden:

Screenshot der IntelliSense-Fertigstellung für eine Klasse mit Typhinweisen.

Es ist auch hilfreich, Typenhinweise im gesamten Projekt zu überprüfen, da Fehler normalerweise erst während der Laufzeit angezeigt werden. Zu diesem Zweck integriert Visual Studio das Branchenstandardtool Mypy über den Kontextmenübefehl Python>Run Mypy im Projektmappen-Explorer:

Screenshot der verfügbaren Linting-Befehle für Python-Projekte im Projektmappen-Explorer.

Wenn Sie die Eingabeaufforderungen ausführen, werden Sie aufgefordert, das Mypy-Paket bei Bedarf zu installieren. Visual Studio führt dann Mypy aus, um Typenhinweise in jeder Python-Datei im Projekt zu überprüfen. Fehler werden im Visual Studio-Fehlerlistenfenster angezeigt. Wenn Sie ein Element im Fenster auswählen, wird zu der entsprechenden Zeile im Code navigiert.

Als einfaches Beispiel enthält die folgende Funktionsdefinition einen Typhinweis, der angibt, dass das input Argument typ strist, während der Aufruf dieser 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)

Wenn Sie den Befehl "Mypy ausführen" in diesem Code verwenden, wird der folgende Fehler generiert:

Screenshot, das 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-Stubdateien (.pyi) bereitstellen. Sie können Stubdateien verwenden, wenn Sie keine Typenhinweise direkt in Den Code einschließen möchten oder Typhinweise für eine Bibliothek erstellen möchten, die sie nicht direkt verwendet. Weitere Informationen finden Sie unter Erstellen von Stubs für Python-Module im Mypy-Projektwiki.

Visual Studio unterstützt derzeit keine Typ-Hinweise in Kommentaren.

Signaturhilfe

Beim Schreiben von Code, 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+Shift+Leertaste innerhalb eines Funktionsaufrufs zugreifen. Die angezeigten Informationen hängen von den Dokumentationszeichenfolgen im Quellcode der Funktion ab, enthalten jedoch alle Standardwerte.

Screenshot der Signaturhilfe im Visual Studio-Editor.

Tipp

Um die Signaturhilfe zu deaktivieren, wechseln Sie zu Tools>Options>Text Editor>Python>General. Deaktivieren Sie das Kontrollkästchen "Abschluss von Anweisungen>Parameterinformationen".

Schnelle Informationen

Wenn Sie mit dem Mauszeiger auf einen Bezeichner zeigen, wird ein QuickInfo-Tooltip angezeigt. Je nach Bezeichner zeigt QuickInfo möglicherweise die potenziellen Werte oder Typen, jede verfügbare Dokumentation, Rückgabetypen und Definitionsspeicherorte an:

Screenshot der QuickInfo-Anzeigeinformationen im Visual Studio-Editor.

Codefarbe

Die Codefärbung verwendet Informationen aus der Codeanalyse, um Variablen, Anweisungen und andere Teile des Codes einzufärben. Variablen, die auf Module oder Klassen verweisen, können in einer anderen Farbe als Funktionen oder andere Werte angezeigt werden. Parameternamen werden möglicherweise in einer anderen Farbe als lokale oder globale Variablen angezeigt. Standardmäßig werden Funktionen nicht fett formatiert angezeigt.

Screenshot der Code- und Syntaxfarbe im Visual Studio-Editor.

Um die Farben anzupassen, wechseln Sie zu Tools>Options>Environment>Fonts and Colors. Ändern Sie in der Liste " Elemente anzeigen " die gewünschten Python-Einträge :

Screenshot der Optionen

Einfügen von Codeausschnitten

Codeausschnitte sind Codefragmente, die mithilfe einer Tastenkombination und auswählen von TAB in Ihre Dateien eingefügt werden können. Sie können auch den> Befehl"IntelliSense>Einfügen von Codeausschnitt bearbeiten" und "Surround With" verwenden, "Python" auswählen und dann den gewünschten Codeausschnitt auswählen.

Beispielsweise ist class ein Shortcut für einen Codeausschnitt, der eine Klassendefinition einfügt. Der Ausschnitt erscheint in der Autovervollständigungsliste, wenn Sie class eingeben.

Screenshot eines Codeausschnitts für den Klassenkurzbefehl.

Durch das Auswählen von Tab wird der Rest der Klasse generiert. Sie können dann den Namen und die Basisliste überschreiben, zwischen den hervorgehobenen Feldern mit Tab wechseln und die EINGABETASTE auswählen, um mit der Eingabe des Textkörpers zu beginnen.

Screenshot, der Hervorhebungen in Bereichen eines Codeausschnitts zeigt, die Sie abschließen können.

Wenn Sie den Menübefehl "Codeausschnitt einfügen"> von IntelliSense> verwenden, wählen Sie zuerst Python und dann den gewünschten Codeausschnitt aus:

Screenshot, der zeigt, wie Sie einen Codeausschnitt über den Befehl

Der Befehl "Bearbeiten">IntelliSense>Surround With platziert die aktuelle Auswahl im Texteditor in einem ausgewählten Strukturelement. Angenommen, Sie hatten einen Code wie das folgende Beispiel:

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

Wenn Sie diesen Code auswählen und den Befehl "Surround With" auswählen, wird eine Liste der verfügbaren Codeausschnitte angezeigt. Durch Auswählen von def aus der Liste von Codeausschnitten wird der ausgewählte Code innerhalb einer Funktionsdefinition platziert. Mit der TAB-TASTE können Sie zwischen dem Namen der hervorgehobenen Funktion und den Argumenten navigieren:

Screenshot, der zeigt, wie Sie den Befehl

Untersuchen verfügbarer Codeausschnitte

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

Screenshot des Codeausschnitt-Managers in Visual Studio.

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

Wenn Sie einen großartigen Codeausschnitt schreiben, den Sie freigeben möchten, können Sie ihn in einem Gist posten und uns mitteilen. Möglicherweise können wir es in eine zukünftige Version von Visual Studio einschließen.

Python-Unterstützung in Visual Studio bietet verschiedene Möglichkeiten, schnell in Ihrem Code zu navigieren, einschließlich Bibliotheken, für die der Quellcode verfügbar ist. Sie finden Bibliotheken mit Quellcode für die Navigationsleiste, "Gehe zu Definition", "Gehe zu" und " Alle Verweise suchen ". Sie können auch den Visual Studio-Objektbrowser verwenden.

Die Navigationsleiste wird oben in jedem Editorfenster angezeigt und enthält eine Liste mit definitionen auf zwei Ebenen. Das linke Dropdown enthält Klassen- und Funktionsdefinitionen der obersten Ebene in der aktuellen Datei. In der rechten Dropdownliste wird eine Liste der Definitionen innerhalb des bereichs angezeigt, der links angezeigt wird. Während Sie im Editor navigieren, aktualisieren die Listen, um Ihren aktuellen Kontext anzuzeigen, und Sie können auch einen Eintrag aus diesen Listen auswählen, um direkt zu springen.

Screenshot der Navigationsleiste im Visual Studio-Editor.

Tipp

Um die Navigationsleiste auszublenden, wechseln Sie zu Tools>Options>Text Editor>Python>General and clear Settings>Navigation bar.

Gehe zu Definition

Der Befehl "Gehe zu Definition " springt schnell von der Verwendung eines Bezeichners (z. B. Funktionsname, Klasse oder Variable) zum Speicherort der Quellcodedefinition. Um den Befehl auszuführen, klicken Sie mit der rechten Maustaste auf einen Bezeichner und wählen Sie "Gehe zu Definition", oder platzieren Sie die Einfügemarke im Bezeichner und drücken Sie F12. Der Befehl funktioniert in Ihrem Code und externen Bibliotheken, in denen der Quellcode verfügbar ist. Wenn bibliotheksquellcode nicht verfügbar ist, springt go To Definition zur relevanten import Anweisung für einen Modulverweis oder zeigt einen Fehler an.

Screenshot des Befehls

Gehe zu

Der Befehl Bearbeiten>Gehe zu (STRG+,) zeigt ein Suchfeld im Editor an, in das Sie eine beliebige Zeichenfolge eingeben können, um mögliche Treffer im Code zu sehen, die eine Funktion, Klasse oder Variable mit dieser Zeichenfolge definieren. Dieses Feature bietet eine ähnliche Funktion wie Gehe zu Definition, ohne jedoch den Gebrauch eines Bezeichners finden zu müssen.

Um zur Definition dieses Bezeichners zu navigieren, doppelklicken Sie auf einen beliebigen Namen, oder wählen Sie den Namen mit Pfeiltasten gefolgt von der EINGABETASTE aus.

Screenshot, das den

Alle Verweise suchen

Das Feature "Alle Verweise suchen" ist eine hilfreiche Möglichkeit, zu ermitteln, wo ein gegebener Bezeichner sowohl definiert als auch verwendet wird, einschließlich Importe und Zuordnungen. Um den Befehl aufzurufen, klicken Sie mit der rechten Maustaste auf einen Bezeichner und wählen Sie "Alle Verweise suchen" aus, oder platzieren Sie den Cursor im Bezeichner und drücken Sie Umschalt+F12. Durch Doppelklicken auf ein Element in der Liste wird zu seinem Speicherort navigiert.

Screenshot, der die Ergebnisse