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.