PyCharm
n'a pas prise en charge intégrée de flake8
pour le moment . Mais, flake8
peut être configuré pour fonctionner comme un outil externe.
Parfois, en particulier pour Python nouveaux arrivants, pas tous les flake8
l'avertissement est compréhensible et une clarification supplémentaire est nécessaire.
Nous sommes récemment tombés sur le Flake8Rules
project qui tente de décrire chaque avertissement de manière détaillée avec des exemples de support.
Existe-t-il un moyen de combiner PyCharm, flake8
et Flake8Rules
pour afficher des avertissements d'analyse de code statique avec des descriptions supplémentaires ou des liens vers le Flake8Rules
catalogue?
C'est définitivement possible.
Une approche consisterait à ajuster le flake8
sortie en utilisant le --format
option de ligne de commande pour spécifier les liens http vers le Flake8Rules
catalogue:
--format='%(path)s:%(row)d,%(col)d:%(code)s:%(text)s:https://lintlyci.github.io/Flake8Rules/rules/%(code)s.html'
Le problème est alors que la console ou la fenêtre de sortie PyCharm affiche correctement les liens.
Heureusement, nous pouvons le faire en utilisant les plugins - "Awesome Console" pour le terminal et "Console Link" pour la fenêtre de sortie.
flake8
installé dans l'environnement Python actuelSupposons maintenant que nous avons créé ce test.py
fichier avec quelques violations:
def f(a = 10):
return a*10
Si nous faisons un clic droit sur un test.py
fichier, sélectionnez External Tools -> flake8
, c'est la sortie que nous allons obtenir (notez les liens cliquables pour chaque avertissement):
Maintenant, en cas de doute, nous pouvons suivre le lien pour plus de détails sur un avertissement.
Ce n'est qu'une façon de le faire, je serais heureux de savoir s'il existe un moyen plus facile ou meilleur de combiner ces outils et projets.
Aujourd'hui, je suis également confronté à ce problème bien que la réponse @alecxe soit bonne pour les paramètres d'un projet
Si vous souhaitez définir flake8 globalement, vous pouvez suivre le processus ci-dessous
Programme - Le chemin vers l'exécutable flake8 $ PyInterpreterDirectory $ est un répertoire où l'interprète Python du projet en cours est mis
Argument - Spécifie quels fichiers et dossiers doivent être vérifiés $ FilePath $
Répertoire de travail - Répertoire racine du projet $ ContentRoot $
À tous ceux qui ont besoin de:
Pour configurer ce type d'outil dans Pycharm:
File | Settings | Tools | Remote SSH External Tools
voir l'écran ci-dessous pour un exemple de configuration:
Arguments: -c "flake8 $(git status -s | grep -E '\.py$' | cut -c 4-) --max-line-lengt=120"
Dans mon cas, la chose cruciale était:
/bin/bash
au lieu de flake8
directement-c "whatever args subcommands etc I need here"
Pour référence:
$(git status -s | grep -E '\.py$' | cut -c 4-)
est responsable du passage des emplacements des fichiers avec des modifications en fonction du contrôle de version git REMARQUE: pour avoir votre flake8 de virtualenv, vous voudrez peut-être spécifier le chemin complet comme: /z/your_virtual_envs/bin/flake8