ist jetzt verfügbar! Lesen Sie über die neuen Funktionen und Fehlerbehebungen vom November.

Python-Linting in Visual Studio Code

Linting hebt semantische und stilistische Probleme in Ihrem Python-Quellcode hervor, was Ihnen oft hilft, subtile Programmierfehler oder Codierungspraktiken zu identifizieren und zu korrigieren, die zu Fehlern führen können. Linting kann beispielsweise die Verwendung einer undefinierten Variable, Aufrufe undefinierter Funktionen, fehlende Klammern und sogar subtilere Probleme wie den Versuch, eingebaute Typen oder Funktionen neu zu definieren, erkennen. Linting unterscheidet sich von Formatierung, da Linting analysiert, wie der Code ausgeführt wird und Fehler erkennt, während Formatierung nur die Darstellung des Codes umstrukturiert.

Hinweis: Die Erkennung von Syntaxfehlern ist in der Language Server-Erweiterung für Python standardmäßig aktiviert. Um zu erfahren, wie Sie den Language Server konfigurieren können, siehe Language Server-Einstellungen. Dieses Dokument beschreibt, wie Sie Linting für zusätzliche Codeerkennung, einschließlich stilistischer Prüfungen, aktivieren können.

Linter auswählen

Suchen Sie im VS Code Marketplace nach der Linter-Erweiterung Ihrer Wahl. Sie können auch mehrere Linter gleichzeitig verwenden, wenn Sie möchten.

Microsoft veröffentlicht die folgenden Linting-Erweiterungen für Python

Linter Erweiterung
Pylint https://marketplace.visualstudio.com/items?itemName=ms-python.pylint
flake8 https://marketplace.visualstudio.com/items?itemName=ms-python.flake8
mypy https://marketplace.visualstudio.com/items?itemName=ms-python.mypy-type-checker

Linting-Erweiterungen von der Community

Linter Erweiterung
Ruff https://marketplace.visualstudio.com/items?itemName=charliermarsh.ruff
mypy https://marketplace.visualstudio.com/items?itemName=matangover.mypy

Hinweis: Wenn Sie Ihren bevorzugten Linter nicht in der obigen Tabelle oder im Marketplace finden, können Sie ihn über eine Erweiterung hinzufügen. Sie können die Python Extension Template verwenden, um neue Python-Tools in VS Code zu integrieren.

Allgemeine Einstellungen

Sie können die README-Datei jeder Linter-Erweiterung für weitere Details zu den unterstützten Einstellungen konsultieren. Die folgenden Einstellungen werden von den meisten Linter-Erweiterungen unterstützt

Einstellung Standard Beschreibung
args [] Argumente, die an den Linter übergeben werden sollen. Hinweis: Die offiziell unterstützten Linter laufen auf einzelnen geöffneten Dateien. Stellen Sie sicher, dass Ihre Konfiguration in diesem Szenario gilt.
importStrategy useBundled Wenn auf useBundled gesetzt, verwendet die Erweiterung die Version des Tools, mit der sie ausgeliefert wird. Wenn auf fromEnvironment gesetzt, versucht sie zuerst, aus Ihrer ausgewählten Python-Umgebung zu laden, andernfalls greift sie auf die gebündelte Version zurück.
path "" Pfad zur Linter-Binärdatei, die für das Linting verwendet werden soll. Hinweis: Die Verwendung dieser Option kann die Formatierung verlangsamen.
interpreter [] Wenn auf einen Pfad zu einer Python-Executable gesetzt, wird die Erweiterung diese verwenden, um den Linting-Server und seine Unterprozesse zu starten.
showNotifications aus Steuert, wann Benachrichtigungen von der Erweiterung angezeigt werden. Unterstützte Werte sind off, always, onError und onWarning.

Linting deaktivieren

Linter sind, sofern installiert, standardmäßig aktiviert. Sie können sie deaktivieren, indem Sie die Erweiterung deaktivieren pro Arbeitsbereich.

Linting ausführen

Linting wird automatisch ausgeführt, wenn eine Python-Datei geöffnet oder gespeichert wird.

Fehler und Warnungen werden im Probleme-Panel (⇧⌘M (Windows, Linux Ctrl+Shift+M)) für offene Dateien angezeigt und sind auch im Code-Editor hervorgehoben. Wenn Sie mit der Maus über ein unterstrichenes Problem fahren, werden die Details angezeigt.

Linting messages in the editor and the Problems panel

Code-Aktionen

Einige Linter bieten möglicherweise Code-Aktionen an, die bei der Behebung gemeldeter Probleme helfen können. Sie können den Abschnitt Feature Contributions unter Ihrer bevorzugten Linter-Erweiterung konsultieren, um herauszufinden, welche Code-Aktionen diese anbietet.

Protokollierung

Protokolle für Linter sind im Ausgabe-Panel (⇧⌘U (Windows Ctrl+Shift+U, Linux Ctrl+K Ctrl+H)) verfügbar, wenn Sie <linter name> aus dem Dropdown-Menü auswählen.

Sie können den Protokollpegel für eine Linter-Erweiterung ändern, indem Sie den Befehl Entwickler: Protokollpegel festlegen aus der Befehlspalette (⇧⌘P (Windows, Linux Ctrl+Shift+P)) ausführen. Wählen Sie die Erweiterung aus der Gruppe Erweiterungsprotokolle aus und wählen Sie dann den gewünschten Protokollpegel aus.

Schweregrad

Linter melden Probleme mit einer vordefinierten Schwere. Dies kann mit der Einstellung severity für den Linter geändert werden. Informationen zu den unterstützten Werten und Schweregraden finden Sie in der README-Datei jeder Linter-Erweiterung.

Fehlerbehebung beim Linting

Problem Ursache Lösung
Die Linter-Erweiterung meldet keine Probleme. Es wurde kein Python für Ihren Arbeitsbereich ausgewählt. Sehen Sie sich die Protokolle des von Ihnen verwendeten Linters an und überprüfen Sie den Pfad zur Python-Umgebung, die er verwendet. Wenn kein Python ausgewählt ist, führen Sie den Befehl Python: Interpreter auswählen aus der Befehlspalette aus und wählen Sie einen vorhandenen Interpreter für Ihren Arbeitsbereich aus.
Die Benachrichtigung "Sie haben veraltete Linting- oder Formateinstellungen" wird angezeigt Wenn Sie diese Benachrichtigung sehen, bedeutet dies, dass Sie Einstellungen wie python.linting oder python.formatting in VS Code haben. Diese Einstellungen werden von der Python-Erweiterung nicht mehr unterstützt, da die Unterstützung für Linting und Formatierung auf Tool-Erweiterungen migriert wurde. Finden Sie heraus, wo diese Einstellungen in VS Code definiert sind, indem Sie die Befehlspalette (⇧⌘P (Windows, Linux Ctrl+Shift+P)) öffnen und den Befehl Einstellungen: Benutzer-Einstellungen (JSON) öffnen ausführen. Wenn sie nicht in Ihren Benutzereinstellungen vorhanden sind, führen Sie den Befehl Einstellungen: Arbeitsbereich-Einstellungen (JSON) öffnen aus. Löschen Sie dann die veralteten Einstellungen.
Hinweis: Wenn Sie eine der Erweiterungen im Remote Development Extension Pack verwenden, können Sie auch die Remote-Einstellungen überprüfen, indem Sie den Befehl Einstellungen: Remote-Einstellungen (JSON) öffnen ausführen.
Linting funktioniert nicht, obwohl ich eine Linter-Erweiterung installiert habe. Linting kann aus verschiedenen Gründen fehlschlagen, z. B. wenn eine nicht unterstützte Python-Version verwendet wird oder der Linter nicht richtig konfiguriert ist. Überprüfen Sie den Ausgabe-Kanal der Linter-Erweiterung, um zu verstehen, warum der Linter fehlgeschlagen ist (führen Sie den Befehl Ausgabe: Fokus auf Ausgabe in der Befehlspalette aus und wählen Sie dann den Kanal der Linter-Erweiterung aus).

Nächste Schritte

  • Formatierung - Erfahren Sie, wie Sie Ihren Python-Code formatieren.
  • 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.
  • Grundlegende Bearbeitung – Erfahren Sie mehr über den leistungsstarken VS Code-Editor.
  • Python Extension Template - Erstellen Sie eine Erweiterung, um Ihren bevorzugten Linter in VS Code zu integrieren.
© . This site is unofficial and not affiliated with Microsoft.