Wie kann ich flake8 dazu bringen, Regeln in VS Code zuverlässig zu ignorieren?

73

Zwei Dinge, die mich nerven. Das erste ist die Warnung, die Flake8 mir gibt, wenn ich mehr als 80 Zeichen in eine Zeile eingebe. Zweitens werden die Warnungen angezeigt, wenn ich noch keinen importierten Modulnamen verwendet habe. Ich habe mir die gesamte Dokumentation zur Verwendung von Flake8 im Terminal angesehen. Keine Verwendung.

flake8 --ignore=E402
flake8 --max-line-length=120

Das funktioniert nicht. Zumindest zeigt VS Code keinen Effekt.

reka18
quelle

Antworten:

161

Fügen Sie Ihre Argumente wie folgt zu Ihrer json-Datei USER SETTINGS hinzu:

"python.linting.flake8Args": [
    "--max-line-length=120",
    "--ignore=E402,F841,F401,E302,E305",
],
reka18
quelle
7
Die Datei befindet sich in /home/<Benutzername>/.config/Code/User/settings.json. Sie können dort auch über Datei> Einstellungen> Einstellungen navigieren und auf einen beliebigen Link zu "In settings.json bearbeiten" klicken, um die Einstellungsdatei in VS Code zu öffnen.
Cryanbhu
1
Sie können auch die Verknüpfung verwenden, die in vielen Apps auch für die Einstellungsverknüpfung verwendet wird: CMDoder CTRL+, ,und dann zur jsonAnsicht wechseln .
Nosahama
Die maximale Zeilenlänge hat bei mir funktioniert, aber ich bekomme sie immer noch xx imported but not used.
Gibt
8

Beachten Sie, dass flake8 verwendet

"python.linting.flake8Args": [

während Schwarz zu verwenden scheint:

"python.formatting.blackArgs": [

Wenn Sie beide verwenden (oder umschalten), können diese Einstellungen hilfreich sein:

    {
        "python.linting.pylintEnabled": false,
        "python.linting.flake8Enabled": true,
        "python.linting.enabled": true,
        "python.formatting.provider": "black",
        "python.formatting.blackArgs": [
            "--line-length",
            "120"
        ],
        
        "python.linting.flake8Args": [
            "--max-line-length=120",
            "--ignore=E402",
        ],
    
        "python.pythonPath": "venv/bin/python"
    }

dcsan
quelle