Das Autopep8-Format [VScode] funktioniert nicht. [Python]

Überblick

Es funktionierte auf meinem Büro-PC, aber mein Autopep8-Formatierer funktionierte zu Hause nicht auf meinem VScode und ich war nicht motiviert. -> Das Problem liegt in den Einstellungen

Umgebung

Neben autopep8 habe ich flake8 und mypy verwendet. Die Umgebung wird mit Pipenv verwendet (Dies hängt nicht mit diesem Problem zusammen, da es kein Problem gibt, wenn der Interpreter für VScode richtig ausgewählt ist.)

Einstellungen und Symptome

Settings.json sieht so aus. Obwohl formatOnSave funktioniert, ist es nicht formatiert und es erfolgt keine Antwort, selbst wenn ich das Dokument durch Klicken mit der rechten Maustaste formatiere. Das Format (`` `$ autopep8 sample.py```) über die Befehlszeile funktionierte jedoch.

settings.json


  "editor.formatOnSave": true,
 "python.linting.enabled": true,
  "python.linting.pylintEnabled": false,
  "python.linting.flake8Enabled": true,
  "python.linting.flake8Args": [
    "--ignore=E402, E501, W503"
  ],
  "python.formatting.autopep8Args": [
    "--ignore=E50", //Brechen Sie die Linie mit einem Semikolon
    "--max-line-length=120",
    "--aggressive",
    "--aggressive",
  ],
  "python.jediEnabled": false,
  "python.linting.mypyEnabled": true,

Lösung

Es war zu schwer zu schreiben, ohne dass der Formatierer funktionierte, also suchte ich verzweifelt.

Es gab so ein Problem. autopep8 formatting not working #2843 https://github.com/Microsoft/vscode-python/issues/2843

@thernstig your settings aren't quite right; you want as you have to make each individual item you would pass on the command line an individual thing in the array:

"python.formatting.autopep8Args": ["--max-line-length", "100"]

Sie müssen die einzelnen Elemente im Array an die Befehlszeile übergeben. (Freie Übersetzung)

Der folgende Teil war falsch.

settings.json


  "python.formatting.autopep8Args": [
    "--ignore", 
    "E50",
    "--max-line-length",
    "120",
    "--aggressive",
    "--aggressive",
  ],

Sie können autopep8 wie folgt einstellen, aber in settings.json müssen Sie es anscheinend einzeln im Array übergeben. Es wurde auf die gleiche Weise geschrieben wie die obige Einstellung von flake8 wegen Hirntod ...

usage: autopep8 [-h] [--version] [-v] [-d] [-i] [--global-config filename]
                [--ignore-local-config] [-r] [-j n] [-p n] [-a]
                [--experimental] [--exclude globs] [--list-fixes]
                [--ignore errors] [--select errors] [--max-line-length n]
                [--line-range line line] [--hang-closing] [--exit-code]
                [files [files ...]]

Recommended Posts

Das Autopep8-Format [VScode] funktioniert nicht. [Python]
Virtualenv funktioniert nicht unter Python 3.5 (Windows)
Jinja2 2.9.6 funktioniert nicht mit der Lambda Python 3-Serie
Python-Version wechselt nicht
LocateCenterOnScreen funktioniert nicht mit PyAutoGui
Der Befehl gqlgen funktioniert nicht mit go's gqlgen
Python> Python enthält nicht den letzten Offset
Überprüfen Sie Elemente, wenn das importierte Python-Modul nicht wie erwartet funktioniert
Opencv4.1 + Windows10 + Python 3.7.5 cv2.VideoCapture wird nicht korrekt angezeigt
Python-String-Format
Nach der Installation von php7.2 funktioniert der Befehl php nicht
Python-String-Format
Format in Python
[Python] Ausdruck (1,2) macht kein Taple mit Klammern
Wenn die Platzhalterspezifikation mit Pylint nicht funktioniert
Patch, wenn die Volltextsuche in der lokalen GAE / Python-Umgebung nicht funktioniert
Die boolesche Python-Operation gibt keinen booleschen Wert zurück
Was tun, wenn python3 venv auf Raspberry Pi nicht gut funktioniert?
[Python] Vorsichtsmaßnahmen, wenn es nicht funktioniert, auch wenn TimedRotatingFileHandler in basicConfig in Python2 festgelegt ist
Memorandum ((1) csv.reader AttributeError, (2) get_sheet_by_name DeprecationWarning, (3) .delete_cols funktioniert nicht)
[Python] Der Boolesche Operator (oder / und) gibt keinen Booleschen Wert zurück
Befehl, wenn das Herunterfahren von ACPI in VirtualBox nicht funktioniert
Die Geschichte, dass yapf nicht mit vscode funktioniert hat
Die parallele Verarbeitung der Python-Joblib funktioniert in der uWSGI-Umgebung nicht. Wie verarbeite ich parallel auf uWSGI?
Python-Variablenerweiterung, Format
Python nicht implementiert Fehler
Ich habe Python> autopep8 ausprobiert
vscode erkennt Python nicht
Bildformat in Python
Notizen im Python Pickle-Format
Methodische Verwendung im [Python] -Format
Wie Taple funktioniert | Python
VScode Intelligence funktioniert unter Raspeye OS 64bit nicht! (Python)
[Python] Warum Slices keine Indexfehler verursachen
Tag 65 (Lösung) Das Jupyter-Notebook funktioniert nicht mit dem nicht verbundenen Kernel.
Hinweis zur Unterstützung von Python-Fehlern: "... unterstützt kein Argument 0 vom Typ float ..."
Nach dem Erstellen und Anwenden einer virtuellen Umgebung von python3.8.0 funktionierte die Code-Vervollständigung mit vscode nicht