[VScode] Le format autopep8 ne fonctionne pas [Python]

Aperçu

Cela fonctionnait sur mon ordinateur de bureau, mais mon formateur autopep8 ne fonctionnait pas sur mon VScode à la maison et je n'étais pas motivé. -> Le problème est dans les paramètres

environnement

Outre autopep8, j'ai utilisé flake8 et mypy. L'environnement est venv utilisant Pipenv (il n'est pas lié à ce problème car il n'y a pas de problème si l'interpréteur est correctement sélectionné sur VScode.)

Paramètres et symptômes

Settings.json ressemble à ceci. Bien que formatOnSave fonctionne, il n'est pas formaté et il n'y a pas de réponse même si je formate le document en cliquant avec le bouton droit de la souris. Cependant, le format ( $ autopep8 sample.py '') de la ligne de commande fonctionnait.

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", //Rompre la ligne avec un point-virgule
    "--max-line-length=120",
    "--aggressive",
    "--aggressive",
  ],
  "python.jediEnabled": false,
  "python.linting.mypyEnabled": true,

Solution

C'était trop difficile d'écrire sans que le formateur ne fonctionne, alors j'ai désespérément cherché.

Il y avait un tel problème. 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"]

Vous devez transmettre les éléments individuels du tableau à la ligne de commande. (Traduction gratuite)

La partie suivante était fausse.

settings.json


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

Vous pouvez définir autopep8 comme suit, mais dans settings.json, il semble que vous deviez le transmettre individuellement dans le tableau. Il a été écrit de la même manière que le réglage de l'élément flake8 ci-dessus en raison de la mort cérébrale ...

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

[VScode] Le format autopep8 ne fonctionne pas [Python]
Virtualenv ne fonctionne pas sur Python 3.5 (Windows)
Jinja2 2.9.6 ne fonctionne pas sur la série Lambda Python 3
la version de python ne change pas
LocateCenterOnScreen ne fonctionne pas sur PyAutoGui
La commande gqlgen ne fonctionne pas avec gqlgen de go
Python> Python n'inclut pas le dernier décalage
Vérifiez les éléments lorsque le module python importé ne fonctionne pas comme prévu
Opencv4.1 + Windows10 + Python 3.7.5 cv2.VideoCapture ne s'affiche pas correctement
Format de chaîne Python
Après l'installation de php7.2, la commande php ne fonctionne pas
Format de chaîne Python
format en python
[Python] Expression (1,2) ne fait pas de taple avec des parenthèses
Lorsque la spécification générique ne fonctionne pas avec pylint
Correctif lorsque la recherche de texte intégral ne fonctionne pas dans l'environnement local GAE / Python
Les opérations booléennes python ne renvoient pas de valeurs booléennes
Que faire si Python3 Venv ne fonctionne pas bien sur Raspberry Pi
[Python] Précautions quand cela ne fonctionne pas même si TimedRotatingFileHandler est défini dans basicConfig en python2
Mémorandum ((1) csv.reader AttributeError, (2) get_sheet_by_name DeprecationWarning, (3) .delete_cols ne fonctionne pas)
[Python] L'opérateur booléen (ou / et) ne renvoie pas de valeur booléenne
Commande lorsque l'arrêt de l'ACPI ne fonctionne pas dans VirtualBox
L'histoire selon laquelle yapf n'a pas fonctionné avec vscode
Le traitement parallèle de Python joblib ne fonctionne pas dans l'environnement uWSGI. Comment traiter en parallèle sur uWSGI?
expansion de variable python, format
Erreur Python non implémentée
J'ai essayé Python> autopep8
vscode ne reconnaît pas python
Format d'image en Python
Notes sur le format Python Pickle
Utilisation méthodique du format [Python]
Comment fonctionne Taple | Python
L'intelligence VScode ne fonctionne pas sur Raspeye OS 64 bits! (Python)
[Python] Pourquoi les tranches ne provoquent pas d'erreurs d'index
Jour 65 (Solution) Le bloc-notes Jupyter ne fonctionne pas avec le noyau non connecté.
Note de prise en charge des erreurs Python: "... ne prend pas en charge l'argument 0 de type float ..."
Après avoir créé et appliqué un environnement virtuel de python3.8.0, la complétion de code ne fonctionnait pas avec vscode