Linter du code Python dans Visual Studio
Le processus de linting souligne les problèmes de syntaxe et de style du langage dans votre code source Python. Vous pouvez exécuter un linter sur votre code pour identifier et corriger les erreurs de programmation subtiles ou les pratiques de codage non conventionnelles qui peuvent conduire à des erreurs. Le linting peut détecter l’utilisation d’une variable non initialisée ou non définie, des appels à des fonctions non définies, des parenthèses manquantes et des problèmes subtils comme des tentatives de redéfinition des types ou fonctions intégrés. Le linting se distingue du formatage car elle analyse comment votre code s’exécute et détecte les erreurs tandis que le formatage ne restructure que l’apparence de votre code.
pylint et mypy sont deux options courantes pour le linting. Ces outils sont largement utilisés pour vérifier les erreurs dans le code Python et encourager de bons motifs de codage Python. Ces deux outils sont intégrés dans Visual Studio pour les projets Python.
- Visual Studio. Pour installer le produit, suivez les étapes décrites dans Installer Visual Studio.
- Accédez à un projet Python pour exécuter des outils de vérification sur le code existant.
Les outils de linting dans Visual Studio sont disponibles dans Explorateur de solutions.
La procédure suivante montre comment utiliser un linter pour vérifier votre code.
Dans Visual Studio, faites un clic droit sur un projet Python dans l’Explorateur de solutions et sélectionnez Python, puis choisissez Exécuter PyLint ou Exécuter Mypy :
La commande vous invite à installer le linter choisi dans votre environnement actif s’il n’est pas déjà présent.
Une fois que le linter s’exécute sur votre code, vous pouvez examiner toutes les avertissements et erreurs de vérification dans la fenêtre Liste d’erreurs :
Double-cliquez sur une erreur ou un avertissement pour aller à l’emplacement dans le code source où le problème est généré.
Pylint et mypy offrent tous deux des options en ligne de commande pour configurer les paramètres de linting pour votre projet.
Cette section montre un exemple qui utilise les options en ligne de commande de pylint pour contrôler le comportement de pylint à travers un fichier de configuration .pylintrc
. Ce fichier peut être placé à la racine d’un projet Python dans Visual Studio ou dans un autre dossier, selon la portée d’application souhaitée pour les paramètres.
La procédure suivante supprime les avertissements « docstring manquant » (comme montré dans l’image précédente) en utilisant un fichier .pylintrc
dans le projet Python.
Sur la ligne de commande, parcourez le dossier racine du projet qui contient le fichier
.pyproj
, et exécutez la commande suivante pour générer un fichier de configuration commenté :pylint --generate-rcfile > .pylintrc
Dans l’Explorateur de solutions, faites un clic droit sur le projet et sélectionnez Ajouter>Élément existant.
Dans la boîte de dialogue, parcourez le dossier qui contient le nouveau fichier
.pylintrc
. Sélectionnez le fichier.pylintrc
, puis Ajouter.Dans l’Explorateur de solutions, ouvrez le fichier
.pylintrc
pour l’éditer.Plusieurs paramètres peuvent être configurés dans le fichier. Cet exemple montre comment désactiver un avertissement.
Localisez la section
[MESSAGES CONTROL]
, puis localisez le paramètredisable
dans cette section.Le paramètre
disable
consiste en une longue chaîne de messages spécifiques auxquels vous pouvez ajouter les avertissements que vous souhaitez.Ajoutez la chaîne
,missing-docstring
(y compris le préfixe de la virgule) à la valeur du paramètredisable
:
Enregistrez le fichier
.pylintrc
.Exécutez à nouveau pylint. Notez que les avertissements « docstring manquant » sont à présent supprimés.
Vous pouvez utiliser un fichier .pylintrc
depuis un partage réseau.
Créez une variable d’environnement nommée
PYLINTRC
.Attribuez à la variable la valeur du nom de fichier sur le partage réseau en utilisant un chemin d’accès de Convention d’attribution de noms universelle (UNC) ou une lettre de lecteur mappé. Par exemple :
PYLINTRC=\\myshare\python\.pylintrc
.