Comment puis-je désactiver ces messages d'erreur de apparaître dans la zone des problèmes en vs code
"python.linting.pylintArgs": [
"--disable=C0111"
],
Vous pouvez également désactiver par type de message, par exemple, --disable=W
.
Une bonne référence est www.pylintcode.info , avec une liste d'identifiants et de types de messages.
Dans vos paramètres de code VS (CTRL+COMMA
)
"python.linting.pylintArgs": [
"--disable=W0614"
],
Pour plus d'idées: https://github.com/DonJayamanne/pythonVSCode/issues/570
Comme d'autres l'ont dit, vous pouvez fournir un argument de désactivation pour désactiver un message spécifique. Je voulais élaborer sur cela.
Voici la syntaxe permettant de désactiver plusieurs messages et de fournir plusieurs arguments, ce qui ne m'était pas immédiatement évident de le regarder dans Google:
"python.linting.pylintArgs": [
"--max-line-length=80",
"--disable=W0142,W0403,W0613,W0232,R0903,R0913,C0103,R0914,C0304,F0401,W0402,E1101,W0614,C0111,C0301"
]
Vous avez déclaré que vous aviez commencé à voir de nombreuses erreurs une fois que vous aviez désactivé ce message. Cela pourrait en fait avoir du sens selon la documentation :
Le code Python dans Visual Studio est configuré par défaut pour utiliser un ensemble de Des règles qui nuisent au plus grand nombre de Python développeurs:
- Activer tous les messages d'erreur (E) et fatal (F).
- Désactiver tous les messages Convention (C) et Refactor (R).
- Désactiver tous les messages d’avertissement (W) à l’exception des suivants:
- inaccessible (W0101): code inaccessible
- duplicate-key (W0109): clé en double% r dans le dictionnaire
- point-virgule inutile (W0301): point-virgule inutile
- variable-globale-non-affectée (W0602): Utilisation de global pour% r mais aucune affectation n'est effectuée
- variable non utilisée (W0612): Variable non utilisée% r
- binary-op-exception (W0711): l’exception à intercepter est le résultat d’une opération binaire "% s"
- bad-format-string (W1302): Chaîne de format non valide
- anomalous backslash-in-string (W1401): Barre oblique inverse anormale dans la chaîne
- bad-open-mode (W1501): "% s" n'est pas un mode valide pour ouvrir
Ces règles sont appliquées via les arguments par défaut suivants transmis à Pylint:
--disable=all --enable=F,E,unreachable,duplicate-key,unnecessary-semicolon,global-variable-not-assigned,unused-variable,binary-op-exception,bad-format-string,anomalous-backslash-in-string,bad-open-mode
Ces arguments sont passés chaque fois que le
python.linting.pylintUseMinimalCheckers
est défini surtrue
(valeur par défaut) . Si vous spécifiez une valeur danspylintArgs
ou utilisez une configuration Pylint fichier (voir la section suivante), alorspylintUseMinimalCheckers
est implicitement défini surfalse
.
En d'autres termes, PyLint est censé être assez laxiste par défaut dans VS Code, ne vous montrant que des messages d'erreur et quelques avertissements sélectionnés à la main. Mais lorsque vous définissez manuellement pylintArgs
sur quelque chose, pylintUseMinimalCheckers
est ignoré, ce qui ouvre la porte à tous les messages. C'est peut-être pour cette raison que la désactivation d'un message a entraîné l'affichage de davantage de messages. Là encore, je ne suis pas sûr de savoir pourquoi vous voyiez des messages d'importation non utilisés car ils auraient dû être supprimés par défaut, conformément à la documentation.
En fait, cela ne fonctionne pas actuellement:python.linting.pylintUseMinimalCheckers": true
(pour moi, à ce moment précis, mais espérons que cela fonctionnera bien pour vous, futur lecteur). Pour obtenir le même effet, je devais définir manuellement pylintArgs
sur la valeur qu'elle était censée définir automatiquement:
"python.linting.pylintArgs": [
"--disable=all",
"--enable=F,E,unreachable,duplicate-key,unnecessary-semicolon,global-variable-not-assigned,unused-variable,binary-op-exception,bad-format-string,anomalous-backslash-in-string,bad-open-mode"
]
BONUS: Voici une explication de la liste des messages désactivés que j'utilise, comme indiqué ci-dessus au point 1. Elle provient principalement de ici :
# Disabled messages
# Pointless
# W0142 = *args and **kwargs support
# W0403 = Relative imports
# W0613 = Unused argument
# W0232 = Class has no __init__ method
# R0903 = Too few public methods
# R0913 = Too many arguments
# C0103 = Invalid name
# R0914 = Too many local variables
# C0304 = Final newline missing
#
# PyLint's module importation is unreliable
# F0401 = Unable to import module
# W0402 = Uses of a deprecated module
# E1101 = Module x has no y member
#
# Already an error when wildcard imports are used
# W0614 = Unused import from wildcard
#
# Stricter messages that can be disabled until everything else has been fixed
# C0111 = Missing docstring
# C0301 = Line too long