Entdecken Sie agentenbasierte Entwicklung –

Python-Einstellungsreferenz

Die Python-Erweiterung für Visual Studio Code ist hochgradig konfigurierbar. Diese Seite beschreibt die wichtigsten Einstellungen, mit denen Sie arbeiten können.

Allgemeine Informationen zur Arbeit mit Einstellungen in VS Code finden Sie unter Benutzer- und Arbeitsbereichseinstellungen sowie in der Variablenreferenz für Informationen zur Unterstützung vordefinierter Variablen.

Allgemeine Python-Einstellungen

Einstellung (python.) Standard Beschreibung
condaPath "conda" Pfad zur conda-ausführbaren Datei.
defaultInterpreterPath "python" Pfad zum Standard-Python-Interpreter, der von der Python-Erweiterung beim ersten Laden eines Arbeitsbereichs verwendet wird, oder der Pfad zu einem Ordner, der den Python-Interpreter enthält. Es können Variablen wie ${workspaceFolder} und ${workspaceFolder}/.venv verwendet werden. Die Verwendung eines Pfads zu einem Ordner ermöglicht es jedem, der an einem Projekt arbeitet, eine Umgebung im .venv-Ordner gemäß seinem Betriebssystem zu erstellen, anstatt einen exakten plattformabhängigen Pfad angeben zu müssen. Die settings.json-Datei kann dann in ein Quellcode-Repository aufgenommen werden. Hinweis: Änderungen an dieser Einstellung, die vorgenommen werden, nachdem ein Interpreter für einen Arbeitsbereich ausgewählt wurde, werden von der Python-Erweiterung nicht angewendet oder berücksichtigt. Die Python-Erweiterung fügt diese Einstellung nicht automatisch hinzu oder ändert sie.
envFile "${workspaceFolder}/.env" Absoluter Pfad zu einer Datei, die Umgebungsvariablendefinitionen enthält. Siehe Unterstützung für .env-Dateien.
experiments.enabled true Aktiviert A/B-Experimente in der Python-Erweiterung. Wenn aktiviert, erhalten Sie möglicherweise Vorschläge für Verbesserungen und/oder Funktionen.
globalModuleInstallation false Gibt an, ob Pakete nur für den aktuellen Benutzer mit dem --user-Befehlszeilenargument (Standard) installiert werden sollen oder ob sie für alle Benutzer in der globalen Umgebung installiert werden sollen (wenn auf true gesetzt). Wird bei Verwendung einer virtuellen Umgebung ignoriert. Weitere Informationen zum --user-Argument finden Sie unter pip - User Installs.
interpreter.infoVisibility "onPythonRelated" Steuert, wann die Informationen zum ausgewählten Interpreter in der Statusleiste angezeigt werden. Standardmäßig werden sie nur angezeigt, wenn Python-bezogene Dateien im Editor geöffnet sind. Sie können den Wert auf "always" setzen, wenn sie immer in der Statusleiste angezeigt werden sollen, oder auf "never", um sie vollständig auszublenden.
pipenvPath "pipenv" Pfad zur ausführbaren pipenv-Datei, die für die Aktivierung verwendet werden soll.
poetryPath "poetry" Gibt den Speicherort der ausführbaren Datei des Poetry-Abhängigkeitsmanagers an, sofern installiert. Der Standardwert "poetry" geht davon aus, dass sich die ausführbare Datei im aktuellen Pfad befindet. Die Python-Erweiterung verwendet diese Einstellung, um Pakete zu installieren, wenn Poetry verfügbar ist und sich eine poetry.lock-Datei im Arbeitsbereichsordner befindet.
REPL.enableREPLSmartSend true Gibt an, ob Shift+Enter „Smart Send“ nutzt. Smart Send prüft den Code an der Cursor-Position, sendet das kleinste ausführbare Code-Stück an die Python-REPL und platziert den Cursor anschließend in der nächsten Code-Zeile.
terminal.activateEnvInCurrentTerminal false Gibt an, ob das aktuell geöffnete Terminal aktiviert werden soll, wenn die Python-Erweiterung aktiviert wird, wobei die ausgewählte virtuelle Umgebung verwendet wird.
terminal.activateEnvironment true Gibt an, ob die Umgebung, die Sie mit dem Befehl Python: Select Interpreter auswählen, automatisch aktiviert werden soll, wenn ein neues Terminal erstellt wird. Wenn diese Einstellung beispielsweise true ist und Sie eine virtuelle Umgebung auswählen, führt die Erweiterung beim Erstellen eines neuen Terminals automatisch den Aktivierungsbefehl der Umgebung aus (source env/bin/activate unter macOS/Linux; env\scripts\activate unter Windows). Hinweis: Diese Einstellung wird durch python-envs.terminal.autoActivationType überschrieben, wenn diese Einstellung konfiguriert ist.
terminal.executeInFileDir false Gibt an, ob eine Datei im Verzeichnis der Datei statt im aktuellen Ordner ausgeführt werden soll.
terminal.focusAfterLaunch false Ob der Cursor-Fokus beim Starten eines Python-Terminals auf das Terminal gewechselt werden soll.
terminal.launchArgs [] Startargumente, die an den Python-Interpreter übergeben werden, wenn Sie eine Datei mit Befehlen wie Python: Run Python File in Terminal ausführen. In der Liste launchArgs ist jedes Element ein Befehlszeilenelement auf oberster Ebene, das durch ein Leerzeichen getrennt ist (Werte in Anführungszeichen, die Leerzeichen enthalten, sind ein einziges Element auf oberster Ebene und somit ein einzelnes Element in der Liste). Für die Argumente --a --b --c {"value1" : 1, "value2" : 2} sollten die Listenelemente beispielsweise ["--a", "--b", "--c", "{\"value1\" : 1, \"value2\" : 2}\""] lauten. Beachten Sie, dass VS Code diese Einstellung beim Debuggen ignoriert, da es stattdessen Argumente aus Ihrer ausgewählten Debugging-Konfiguration in launch.json verwendet.
terminal.useEnvFile false Steuert, ob Umgebungsvariablen aus env-Dateien und der Einstellung python.envFile in Terminals eingefügt werden.
venvFolders [] Pfade zu Ordnern, in denen virtuelle Umgebungen erstellt werden. Abhängig vom verwendeten Virtualisierungstool kann dies das Projekt selbst sein: ${workspaceFolder}, oder separate Ordner für alle virtuellen Umgebungen, die nebeneinander liegen: .\envs, ~/.virtualenvs usw. Hinweis: Diese Einstellung wird automatisch mit python-envs.globalSearchPaths zusammengeführt. Erwägen Sie einen Umstieg auf die neue Einstellung für zusätzliche Funktionen.

Einstellungen der Python-Umgebungserweiterung

Die Python-Umgebungserweiterung bietet Umgebungs- und Paketverwaltung innerhalb der VS Code-Benutzeroberfläche. Diese Einstellungen steuern die Erkennung, Erstellung und Terminalaktivierung von Umgebungen.

Weitere Informationen zur Umgebungsverwaltung finden Sie unter Python-Umgebungen.

Einstellungen zur Umgebungsverwaltung

Einstellung (python-envs.) Standard Beschreibung
defaultEnvManager "ms-python.python:venv" Der Standard-Umgebungsmanager zum Erstellen und Verwalten von Umgebungen.
defaultPackageManager "ms-python.python:pip" Der Standard-Paketmanager zur Installation von Paketen in Umgebungen.
pythonProjects [] Die Liste der Python-Projekte. Jedes Element ist ein Objekt mit den Eigenschaften: path (string), envManager (string), packageManager (string). Verwenden Sie dies, um ordnerspezifische Umgebungen in Multi-Root-Arbeitsbereichen zu konfigurieren.
workspaceSearchPaths ["./**/.venv"] Glob-Muster zur Suche nach Umgebungen in diesem Arbeitsbereich. Standardmäßig wird überall im Arbeitsbereich nach Ordnern mit dem Namen .venv gesucht. Hinweis: Diese Einstellung muss auf Arbeitsbereichs- oder Ordnerebene konfiguriert werden, nicht auf Benutzerebene.
globalSearchPaths [] Absolute Pfade zur Suche nach Python-Umgebungen über alle Arbeitsbereiche hinweg. Verwenden Sie dies für gemeinsam genutzte Umgebungsordner wie ~/envs. Hinweis: Die veralteten Einstellungen python.venvPath und python.venvFolders werden automatisch mit dieser Einstellung zusammengeführt.
alwaysUseUv true Wenn auf true gesetzt, wird uv zur Verwaltung aller virtuellen Umgebungen verwendet, falls verfügbar. Wenn auf false gesetzt, verwaltet uv nur virtuelle Umgebungen, die explizit von uv erstellt wurden.

Terminal-Einstellungen

Einstellung (python-envs.terminal.) Standard Beschreibung
autoActivationType "command" Gibt an, wie die Erweiterung eine Umgebung in einem Terminal aktiviert. Verfügbare Werte: command (Aktivierung durch Ausführen eines Befehls im Terminal), shellStartup (Aktivierung durch Shell-Integration oder durch Modifikation des Shell-Startskripts, unterstützt für zsh, fish, pwsh, bash, cmd), off (keine automatische Aktivierung). Hinweis: Diese Einstellung hat Vorrang vor python.terminal.activateEnvironment.
showActivateButton false (Experimentell) Ob die Schaltfläche 'Aktivieren' im Terminalmenü angezeigt werden soll.

Migration veralteter Einstellungen

Wenn Sie von älteren Python-Erweiterungseinstellungen migrieren, zeigt die folgende Tabelle die Zuordnung zu neuen Einstellungen

Veraltete Einstellung Neue Einstellung Hinweise
python.venvPath python-envs.globalSearchPaths oder python-envs.workspaceSearchPaths Die veraltete Einstellung funktioniert weiterhin und wird automatisch zusammengeführt. Erwägen Sie die Umstellung auf Glob-Muster.
python.venvFolders python-envs.globalSearchPaths oder python-envs.workspaceSearchPaths Die veraltete Einstellung funktioniert weiterhin und wird automatisch zusammengeführt.
python.terminal.activateEnvironment python-envs.terminal.autoActivationType Auf "off" setzen, um die automatische Aktivierung zu deaktivieren. Die neue Einstellung hat Vorrang, wenn sie konfiguriert ist.

Debugger-Einstellungen

Allgemeines Debugging

Einstellung (python.debugpy.) Standard Beschreibung Siehe auch
debugJustMyCode true Gibt an, ob der Debugger nur durch vom Benutzer geschriebenen Code steppen soll. Durch Deaktivierung können Sie auch durch Bibliothekscode steppen. Debugging

Test-Einstellungen

Allgemeines Testen

Einstellung (python.testing.) Standard Beschreibung Siehe auch
autoTestDiscoverOnSaveEnabled true Gibt an, ob die automatische Test-Erkennung beim Speichern einer Testdatei aktiviert oder deaktiviert werden soll. Testen
cwd null Gibt ein optionales Arbeitsverzeichnis für Tests an. Testen
debugPort 3000 Portnummer, die für das Debuggen von unittest-Tests verwendet wird. Testen
promptToConfigure true Gibt an, ob VS Code dazu auffordert, ein Test-Framework zu konfigurieren, wenn potenzielle Tests entdeckt werden. Testen

unittest-Framework

Einstellung (python.testing.) Standard Beschreibung Siehe auch
unittestArgs ["-v", "-s", ".", "-p", "*test*.py"] Argumente, die an unittest übergeben werden sollen, wobei jedes Element auf oberster Ebene, das durch ein Leerzeichen getrennt ist, ein separates Element in der Liste ist. Testen
unittestEnabled false Gibt an, ob unittest für Tests aktiviert ist. Testen

pytest-Framework

Einstellung (python.testing.) Standard Beschreibung Siehe auch
pytestArgs [] Argumente, die an pytest übergeben werden sollen, wobei jedes Element auf oberster Ebene, das durch ein Leerzeichen getrennt ist, ein separates Element in der Liste ist. Fügen Sie beim Debuggen von Tests mit installiertem pytest-cov --no-cov zu diesen Argumenten hinzu. Testen
pytestEnabled false Gibt an, ob pytest für Tests aktiviert ist. Testen
pytestPath "pytest" Pfad zu pytest. Verwenden Sie einen vollständigen Pfad, wenn sich pytest außerhalb der aktuellen Umgebung befindet. Testen

Code-Analyse-Einstellungen

Einstellungen der IntelliSense-Engine

Hinweis: Wenn Sie Ihre Sprachserver-Einstellung noch nie geändert haben, ist Ihr Sprachserver über den Einstellungswert „Default“ auf Pylance eingestellt.

Einstellung (python.) Standard Beschreibung
languageServer Standard Definiert den Typ des Sprachservers (Default, Pylance, Jedi und None).

Einstellungen des Python-Sprachservers

Pylance-Sprachserver

Die Sprachserver-Einstellungen gelten, wenn python.languageServer auf Pylance oder Default gesetzt ist. Wenn Sie Schwierigkeiten mit dem Sprachserver haben, finden Sie unter Troubleshooting im Repository des Sprachservers Hilfe.

Einstellung (python.analysis.) Standard Beschreibung
aiCodeActions true Ob KI-gestützte Code-Aktionen aktiviert werden sollen. Erfordert die aktivierte Erweiterung GitHub Copilot Chat. Der akzeptierte Wert ist ein Objekt mit einer Code-Aktion als Schlüssel und einem booleschen Wert als Wert. Verfügbare Code-Aktionen: implementAbstractClasses (aktiviert die Code-Aktion zum Implementieren von Methoden von Klassen, die von einer abstrakten Klasse erben, wobei KI-Vorschläge von GitHub Copilot verwendet werden, um den Methodenkörper zu füllen). Anwendungsbeispiel: {"implementAbstractClasses": true}
autoFormatStrings false Ob beim Tippen von "{" innerhalb eines Strings automatisch ein "f" vorangestellt werden soll.
autoImportCompletions false Steuert das Angebot automatischer Importe bei Vervollständigungen. Verfügbare Werte sind true und false.
autoIndent true Ob die Einrückung beim Tippen von Python-Code automatisch basierend auf der Sprachsemantik angepasst werden soll. Akzeptierte Werte sind true oder false.
autoSearchPaths true Gibt an, ob Suchpfade basierend auf vordefinierten Namen (wie src) automatisch hinzugefügt werden sollen. Verfügbare Werte sind true und false.
completeFunctionParens false Fügt Funktionsvervollständigungen Klammern hinzu. Akzeptierte Werte sind true und false.
diagnosticMode openFilesOnly Gibt an, welche Codedateien der Sprachserver auf Probleme hin analysiert. Verfügbare Werte sind workspace und openFilesOnly.
diagnosticSeverityOverrides {} Ermöglicht es einem Benutzer, die Schweregrade für einzelne Diagnosen zu überschreiben. Für jede Regel sind die verfügbaren Schweregrade error (rote Wellenlinie), warning (gelbe Wellenlinie), information (blaue Wellenlinie) und none (Regel deaktiviert). Informationen zu den Schlüsseln, die für die Diagnose-Schweregradregeln verwendet werden, finden Sie im Abschnitt Diagnose-Schweregradregeln weiter unten.
enableEditableInstalls false Aktiviert verbesserte IntelliSense-Unterstützung durch Auflösung von Importpfaden für Pakete, die im bearbeitbaren Modus installiert sind (pip install -e .), wie durch PEP 660 definiert.
exclude [] Pfade von Verzeichnissen oder Dateien, die nicht in die Analyse einbezogen werden sollen. Diese überschreiben die Verzeichnisse, die unter der Einstellung python.analysis.include aufgeführt sind, wodurch spezifische Unterverzeichnisse ausgeschlossen werden können. Beachten Sie, dass Dateien, die in dieser exclude-Einstellung aufgeführt sind, möglicherweise dennoch in die Analyse einbezogen werden, wenn sie von Quelldateien referenziert/importiert werden, die nicht in der Ausschlussliste enthalten sind. Pfade können Platzhalterzeichen wie ** (ein Verzeichnis oder mehrere Verzeichnisebenen), * (eine Sequenz von null oder mehr Zeichen) oder ? (ein einzelnes Zeichen) enthalten. Wenn keine Ausschlussfade angegeben sind, schließt Pylance automatisch Folgendes aus: **/node_modules, **/__pycache__, .git und alle Verzeichnisse virtueller Umgebungen.
extraPaths [] Gibt zusätzliche Suchpfade für die Importauflösung an. Akzeptiert Pfade, die als Strings angegeben und durch Kommas getrennt sind, wenn mehrere Pfade vorhanden sind. Zum Beispiel: ["path 1","path 2"].
importFormat absolute Definiert das Standardformat beim automatischen Importieren von Modulen. Akzeptierte Werte sind absolute oder relative.
include [] Pfade von Verzeichnissen oder Dateien, die in die Analyse einbezogen werden sollen. Wenn keine Pfade angegeben sind, verwendet Pylance standardmäßig das Verzeichnis, das den Arbeitsbereichs-Root enthält. Pfade können Platzhalterzeichen wie ** (ein Verzeichnis oder mehrere Verzeichnisebenen), * (eine Sequenz von null oder mehr Zeichen) oder ? (ein einzelnes Zeichen) enthalten.
fixAll [] Eine Liste von Code-Aktionen, die beim Ausführen des Befehls Fix All oder der Code-Aktion source.fixAll ausgeführt werden sollen. Akzeptierte Werte: source.unusedImports (entfernt alle nicht verwendeten Importe in der geöffneten Datei), source.convertImportFormat (konvertiert die Importe gemäß der Einstellung python.analysis.importFormat).
includeAliasesFromUserFiles false Ob Alias-Symbole aus Benutzerdateien in Vorschläge für automatische Importe und in die „Import hinzufügen“-Schnellkorrektur einbezogen werden sollen. Wenn deaktiviert, bietet Pylance den Import-Vorschlag von dort an, wo das Symbol definiert ist. Wenn aktiviert, bietet es auch Import-Vorschläge aus Dateien an, in denen das Symbol importiert (d. h. als Alias vergeben) wird. Verfügbare Werte sind true und false.
ignore [] Pfade von Verzeichnissen oder Dateien, deren Diagnoseausgabe (Fehler und Warnungen) unterdrückt werden sollte, selbst wenn sie eine enthaltene Datei sind oder sich innerhalb des transitiven Abschlusses einer enthaltenen Datei befinden. Pfade können Platzhalterzeichen wie ** (ein Verzeichnis oder mehrere Verzeichnisebenen), * (eine Sequenz von null oder mehr Zeichen) oder ? (ein einzelnes Zeichen) enthalten. Wenn kein Wert angegeben ist, wird der Wert von python.linting.ignorePatterns (falls gesetzt) verwendet.
indexing true Dient zur Angabe, ob Pylance beim Start Benutzerdateien sowie installierte Bibliotheken von Drittanbietern indizieren soll, um einen vollständigeren Satz von Symbolen für Funktionen wie automatische Importe, Schnellkorrekturen, automatische Vervollständigungen usw. bereitzustellen. Akzeptierte Werte sind true oder false. Wenn auf true gesetzt, indiziert Pylance standardmäßig Symbole der obersten Ebene installierter Pakete (d. h. Symbole in __all__ unter package/__init__.py) sowie alle Symbole aus bis zu 2000 Benutzerdateien. Wenn auf false gesetzt, zeigt Pylance nur Symbole an, die bereits in Dateien referenziert oder verwendet wurden, die zuvor im Editor geöffnet oder geladen wurden.
inlayHints.callArgumentNames aus Steuert die Anzeige von Inlay-Hinweisen für Argumentnamen von Funktionsaufrufen. Verfügbare Werte sind off, partial und all. Wenn auf off gesetzt, werden keine Inlay-Hinweise angezeigt. Wenn auf partial gesetzt, sind Hinweise für Parameter deaktiviert, die nur positionsabhängig oder nur schlüsselwortabhängig sind. Wenn auf all gesetzt, werden Hinweise für alle Parameter angezeigt.
inlayHints.functionReturnTypes false Ob Inlay-Hinweise für Funktionsrückgabetypen angezeigt werden sollen. Akzeptierte Werte sind true oder false.
inlayHints.pytestParameters false Ob Inlay-Hinweise für Argumenttypen von pytest-Fixtures angezeigt werden sollen. Akzeptierte Werte sind true oder false.
inlayHints.variableTypes false Ob Inlay-Hinweise für Variablentypen angezeigt werden sollen. Akzeptierte Werte sind true oder false.
languageServerMode default Bietet vordefinierte Konfigurationen, um die Leistung von Pylance basierend auf den Entwicklungsanforderungen zu optimieren. Verfügbare Werte sind default und light. Wenn auf default gesetzt, liefert der Sprachserver ausreichend Funktionalität für die meisten Rechner, ohne das System zu überlasten. Wenn auf light gesetzt, wird ein leichtgewichtiges, speichereffizientes Setup aktiviert. Dieser Modus deaktiviert verschiedene Funktionen, damit Pylance eher wie ein schlanker Texteditor funktioniert, und ist ideal für diejenigen, die nicht den vollen Umfang der IntelliSense-Fähigkeiten benötigen und bevorzugen, dass Pylance so ressourcenschonend wie möglich arbeitet. Im light-Modus werden die folgenden Einstellungen überschrieben: python.analysis.exclude wird auf ["**"] gesetzt, python.analysis.useLibraryCodeForTypes wird auf false gesetzt, python.analysis.enablePytestSupport wird auf false gesetzt und python.analysis.indexing wird auf false gesetzt.
logLevel Error Gibt den Grad der Protokollierung an, der vom Sprachserver durchgeführt werden soll. Die möglichen Protokollierungsebenen sind, mit zunehmendem Informationsgehalt: Error, Warning, Information und Trace.
nodeArguments "--max-old-space-size=8192" Gibt benutzerdefinierte Argumente direkt an die benutzerdefinierte Node.js-ausführbare Datei an, die durch python.analysis.nodeExecutable definiert ist. Dies kann verwendet werden, um mehr Speicher zuzuweisen oder das Verhalten von Node.js zu konfigurieren. Akzeptiert eine Liste von Argumenten, die von Node.js unterstützt werden. Jedes "arg=value" sollte in der Liste durch Kommas getrennt werden. Anwendungsbeispiel: "python.analysis.nodeArguments": ["--max-old-space-size=8192"]
nodeExecutable "" Gibt die zu verwendende Node.js-ausführbare Datei an, wodurch Pylance mehr Speicher zuweisen kann. Akzeptierte Werte sind Strings mit Pfaden zu ausführbaren Dateien, ein leerer String oder "auto". Wenn auf einen leeren String gesetzt, verwendet Pylance die Node-ausführbare Datei von VS Code. Wenn auf "auto" gesetzt, wird Node.js automatisch heruntergeladen.
packageIndexDepths [] Wird verwendet, um zu überschreiben, wie viele Ebenen unter installierten Paketen auf Paketbasis indiziert werden sollen. Standardmäßig werden nur Module der obersten Ebene indiziert (Tiefe = 1). Um Untermodule zu indizieren, erhöhen Sie die Tiefe um 1 für jede Ebene des Untermoduls, die Sie indizieren möchten. Akzeptierte Werte sind Tupel von Objekten wie {"name": "Paketname (str)", "depth": "Tiefe zum Scannen (int)", "includeAllSymbols": "ob alle Symbole einbezogen werden sollen (bool)"}. Wenn includeAllSymbols auf false gesetzt ist, werden nur Symbole in __all__ jedes Pakets einbezogen. Wenn es auf true gesetzt ist, indiziert Pylance jede Modul-/Symboldeklaration der obersten Ebene in der Datei. Anwendungsbeispiel: [{"name": "sklearn", "depth": 2, "includeAllSymbols": true}, {"name": "matplotlib", "depth": 3, "includeAllSymbols": false}]
stubPath ./typings Gibt einen Pfad zu einem Verzeichnis an, das benutzerdefinierte Typ-Stubs enthält. Die Typ-Stub-Datei(en) jedes Pakets sollten sich in einem eigenen Unterverzeichnis befinden.
typeCheckingMode aus Gibt den Grad der durchzuführenden Typprüfungsanalyse an. Verfügbare Werte sind off, basic und strict. Wenn auf off gesetzt, wird keine Typprüfungsanalyse durchgeführt; es werden Diagnosen für nicht aufgelöste Importe/Variablen erstellt. Wenn auf basic gesetzt, werden Regeln verwendet, die nicht mit der Typprüfung zusammenhängen (alle Regeln in off), sowie grundlegende Typprüfungsregeln. Wenn auf strict gesetzt, werden alle Typprüfungsregeln mit dem höchsten Schweregrad „Fehler“ (einschließlich aller Regeln in den Kategorien off und basic) verwendet.
useLibraryCodeForTypes true Analysiert den Quellcode eines Pakets, wenn kein Typ-Stub gefunden wird. Verfügbare Werte sind true und false.
userFileIndexingLimit 2000 Legt die maximale Anzahl von Benutzerdateien fest, die Pylance im Arbeitsbereich indizieren soll. Wenn auf -1 gesetzt, indiziert Pylance alle Dateien. Beachten Sie, dass das Indizieren von Dateien eine leistungshungrige Aufgabe ist.

Diagnose-Schweregradregeln

Dieser Abschnitt erläutert alle verfügbaren Regeln, die mithilfe der Einstellung python.analysis.diagnosticSeverityOverrides angepasst werden können, wie im folgenden Beispiel gezeigt.

{
  "python.analysis.diagnosticSeverityOverrides": {
    "reportUnboundVariable": "information",
    "reportImplicitStringConcatenation": "warning"
  }
}
Wert Beschreibung
reportAssertAlwaysTrue Diagnosen für 'assert'-Anweisungen, die wahrscheinlich immer wahr sind. Dies kann auf einen Programmierfehler hindeuten.
reportCallInDefaultInitializer Diagnosen für Funktionsaufrufe innerhalb eines Initialisierungsausdrucks für Standardwerte. Solche Aufrufe können teure Operationen maskieren, die zum Zeitpunkt der Modulinitialisierung durchgeführt werden.
reportConstantRedefinition Diagnosen für Versuche, Variablen neu zu definieren, deren Namen aus Großbuchstaben mit Unterstrichen und Ziffern bestehen.
reportDuplicateImport Diagnosen für ein importiertes Symbol oder Modul, das mehr als einmal importiert wurde.
reportFunctionMemberAccess Diagnosen für Elementzugriffe auf Funktionen.
reportGeneralTypeIssues Diagnosen für allgemeine Typ-Inkonsistenzen, nicht unterstützte Operationen, Argument-/Parameter-Nichtübereinstimmungen usw. Dies deckt alle grundlegenden Typprüfungsregeln ab, die nicht durch andere Regeln abgedeckt werden. Syntaxfehler sind nicht enthalten.
reportImportCycles Diagnosen für zyklische Importketten. Dies sind in Python keine Fehler, aber sie verlangsamen die Typanalyse und deuten oft auf Probleme bei der architektonischen Schichtung hin. Im Allgemeinen sollten sie vermieden werden.
reportImplicitStringConcatenation Diagnosen für zwei oder mehr String-Literale, die aufeinander folgen, was auf eine implizite Verkettung hinweist. Dies gilt als schlechte Praxis und maskiert oft Fehler wie fehlende Kommas.
reportIncompatibleMethodOverride Diagnosen für Methoden, die eine Methode mit demselben Namen in einer Basisklasse auf inkompatible Weise überschreiben (falsche Anzahl von Parametern, inkompatible Parametertypen oder inkompatibler Rückgabetyp).
reportIncompatibleVariableOverride Diagnosen für Klassenvariablendeklarationen, die ein Symbol mit demselben Namen in einer Basisklasse mit einem Typ überschreiben, der nicht mit dem Symboltyp der Basisklasse kompatibel ist.
reportInvalidStringEscapeSequence Diagnosen für ungültige Escape-Sequenzen innerhalb von String-Literalen. Die Python-Spezifikation gibt an, dass solche Sequenzen in zukünftigen Versionen einen Syntaxfehler erzeugen werden.
reportInvalidStubStatement Diagnosen für Anweisungen, die nicht in einer Stub-Datei erscheinen sollten.
reportInvalidTypeVarUse Diagnosen für die unsachgemäße Verwendung von Typvariablen in einer Funktionssignatur.
reportMissingImports Diagnosen für Importe, für die keine entsprechende importierte Python-Datei oder Typ-Stub-Datei vorhanden ist.
reportMissingModuleSource Diagnosen für Importe, für die keine entsprechende Quelldatei vorhanden ist. Dies geschieht, wenn ein Typ-Stub gefunden wurde, aber die Modulquelldatei nicht gefunden wurde, was darauf hindeutet, dass der Code bei der Ausführung in dieser Umgebung zur Laufzeit fehlschlagen könnte. Die Typprüfung wird mithilfe des Typ-Stubs durchgeführt.
reportMissingTypeArgument Diagnosen für Fälle, in denen eine generische Klasse verwendet wird, ohne explizite oder implizite Typargumente bereitzustellen.
reportMissingTypeStubs Diagnosen für Importe, für die keine entsprechende Typ-Stub-Datei vorhanden ist (weder eine Typeshed-Datei noch ein benutzerdefinierter Typ-Stub). Der Typprüfer benötigt Typ-Stubs, um seine Analyse bestmöglich durchführen zu können.
reportOptionalCall Diagnosen für den Versuch, eine Variable mit einem optionalen Typ aufzurufen.
reportOptionalContextManager Diagnosen für den Versuch, einen optionalen Typ als Context Manager zu verwenden (als Parameter für eine with-Anweisung).
reportOptionalIterable Diagnosen für den Versuch, einen optionalen Typ als iterierbaren Wert zu verwenden (z. B. innerhalb einer for-Anweisung).
reportOptionalMemberAccess Diagnosen für den Versuch, auf ein Element einer Variable mit einem optionalen Typ zuzugreifen.
reportOptionalOperand Diagnosen für den Versuch, einen optionalen Typ als Operanden für einen binären oder unären Operator zu verwenden (wie '+', '==', 'or', 'not').
reportOptionalSubscript Diagnosen für den Versuch, eine Variable mit einem optionalen Typ zu indizieren (Subskription).
reportPrivateUsage Diagnosen für die inkorrekte Verwendung privater oder geschützter Variablen oder Funktionen. Geschützte Klassenelemente beginnen mit einem einzelnen Unterstrich _ und können nur von Unterklassen aufgerufen werden. Private Klassenelemente beginnen mit einem doppelten Unterstrich, enden aber nicht mit einem doppelten Unterstrich und können nur innerhalb der deklarierenden Klasse aufgerufen werden. Variablen und Funktionen, die außerhalb einer Klasse deklariert sind, gelten als privat, wenn ihre Namen mit einem einzelnen oder doppelten Unterstrich beginnen, und sie können nicht außerhalb des deklarierenden Moduls aufgerufen werden.
reportPropertyTypeMismatch Diagnosen für Eigenschaften, bei denen der Typ des an den Setter übergebenen Werts nicht dem vom Getter zurückgegebenen Wert zugewiesen werden kann. Solche Nichtübereinstimmungen verstoßen gegen die beabsichtigte Verwendung von Eigenschaften, die wie Variablen funktionieren sollen.
reportSelfClsParameterName Diagnosen für einen fehlenden oder falsch benannten „self“-Parameter in Instanzmethoden und „cls“-Parameter in Klassenmethoden. Instanzmethoden in Metaklassen (Klassen, die von „type“ abgeleitet sind) dürfen „cls“ für Instanzmethoden verwenden.
reportUndefinedVariable Diagnosen für undefinierte Variablen.
reportUnboundVariable Diagnosen für ungebundene und möglicherweise ungebundene Variablen.
reportUnknownArgumentType Diagnosen für Aufrufargumente für Funktionen oder Methoden, die einen unbekannten Typ haben.
reportUnknownLambdaType Diagnosen für Eingabe- oder Rückgabeparameter für Lambdas, die einen unbekannten Typ haben.
reportUnknownMemberType Diagnosen für Klassen- oder Instanzvariablen, die einen unbekannten Typ haben.
reportUnknownParameterType Diagnosen für Eingabe- oder Rückgabeparameter für Funktionen oder Methoden, die einen unbekannten Typ haben.
reportUnknownVariableType Diagnosen für Variablen, die einen unbekannten Typ haben.
reportUnnecessaryCast Diagnosen für 'cast'-Aufrufe, die statisch als unnötig bestimmt wurden. Solche Aufrufe deuten manchmal auf einen Programmierfehler hin.
reportUnnecessaryIsInstance Diagnosen für 'isinstance'- oder 'issubclass'-Aufrufe, bei denen das Ergebnis statisch als immer wahr oder immer falsch bestimmt wurde. Solche Aufrufe deuten oft auf einen Programmierfehler hin.
reportUnusedCallResult Diagnosen für Aufrufausdrücke, deren Ergebnisse nicht verbraucht werden und nicht None sind.
reportUnusedClass Diagnosen für eine Klasse mit einem privaten Namen (beginnend mit einem Unterstrich), auf die nicht zugegriffen wird.
reportUnusedCoroutine Diagnosen für Aufrufausdrücke, die eine Coroutine zurückgeben und deren Ergebnisse nicht verbraucht werden.
reportUnusedFunction Diagnosen für eine Funktion oder Methode mit einem privaten Namen (beginnend mit einem Unterstrich), auf die nicht zugegriffen wird.
reportUnusedImport Diagnosen für ein importiertes Symbol, auf das innerhalb dieser Datei nicht verwiesen wird.
reportUnusedVariable Diagnosen für eine Variable, auf die nicht zugegriffen wird.
reportUnsupportedDunderAll Diagnosen für nicht unterstützte Operationen, die auf __all__ ausgeführt werden.
reportWildcardImportFromLibrary Diagnosen für einen Wildcard-Import aus einer externen Bibliothek.

Einstellungen für die automatische Vervollständigung

Einstellung (python.autoComplete.) Standard Beschreibung Siehe auch
extraPaths [] Gibt Speicherorte zusätzlicher Pakete an, für die Autocomplete-Daten geladen werden sollen. Bearbeiten

Vordefinierte Variablen

Die Einstellungen der Python-Erweiterung unterstützen vordefinierte Variablen. Ähnlich wie bei den allgemeinen VS Code-Einstellungen verwenden Variablen die Syntax ${variableName}. Insbesondere unterstützt die Erweiterung die folgenden Variablen

  • ${cwd} - das aktuelle Arbeitsverzeichnis des Task-Runners beim Start

  • ${workspaceFolder} - der Pfad des in VS Code geöffneten Ordners

  • ${workspaceRootFolderName} - der Name des in VS Code geöffneten Ordners ohne Schrägstriche (/)

  • ${workspaceFolderBasename} - der Name des in VS Code geöffneten Ordners ohne Schrägstriche (/)

  • ${file} - die aktuell geöffnete Datei

  • ${relativeFile} - die aktuell geöffnete Datei relativ zu workspaceFolder

  • ${relativeFileDirname} - das Verzeichnis der aktuell geöffneten Datei relativ zu workspaceFolder

  • ${fileBasename} - der Basisname der aktuell geöffneten Datei

  • ${fileBasenameNoExtension} - der Basisname der aktuell geöffneten Datei ohne Dateiendung

  • ${fileDirname} - das Verzeichnis der aktuell geöffneten Datei

  • ${fileExtname} - die Endung der aktuell geöffneten Datei

  • ${lineNumber} - die aktuell ausgewählte Zeilennummer in der aktiven Datei

  • ${selectedText} - der aktuell ausgewählte Text in der aktiven Datei

  • ${execPath} - der Pfad zur laufenden VS Code-ausführbaren Datei

Weitere Informationen zu vordefinierten Variablen und Anwendungsbeispielen finden Sie in der Variablenreferenz in der allgemeinen VS Code-Dokumentation.

Nächste Schritte

  • Python-Umgebungen - Steuert, welcher Python-Interpreter zum Bearbeiten und Debuggen verwendet wird.
  • Code bearbeiten – Erfahren Sie mehr über Autovervollständigung, IntelliSense, Formatierung und Refactoring für Python.
  • Linting - Aktivieren, konfigurieren und verwenden Sie eine Vielzahl von Python-Lintern.
  • Debugging - Erfahren Sie, wie Sie Python lokal und remote debuggen.
  • Testen - Konfigurieren Sie Testumgebungen und entdecken, führen Sie Tests aus und debuggen Sie sie.
© . This website operates independently and is not affiliated with or endorsed by Microsoft. All brand names, logos, and trademarks are the property of their respective owners.