La large gamme d'outils disponibles nativement dans PyCharm comprend un débogueur et un testeur intégrés, un profileur Python, un terminal intégré, l'intégration avec les principaux VCS et les outils de base de données intégrées, des capacités de développement à distance avec des interpréteurs distants, un terminal ssh intégré et l'intégration à Docker et Vagrant.
PyCharm fournit de nombreuses options pour déboguer votre code Python/Django et JavaScript :
Vous trouverez plus d'informations sur le débogueur en consultant la page du débogueur Python.
Le débogueur inline permet d'afficher toutes les données de débogage directement dans l'éditeur, avec les valeurs des variables intégrées à l'interface de ce dernier. Les valeurs des variables peuvent être visualisées dans le code source, juste à côté de leurs utilisations.
Utilisez Step into My Code pour rester concentrer sur votre code : le débogueur va uniquement s'occuper de votre code et ignorer les sources des bibliothèques.
PyCharm peut déboguer les applications qui génèrent plusieurs processus Python, comme les applications Django non exécutées en mode --no-reload ou les applications qui utilisent d'autres frameworks Web dont l'approche pour coder le rechargement automatique est similaire.
Chaque exécution de script/test ou débogueur crée une 'configuration Run/Debug' spéciale qui peut être éditée et utilisée plus tard. Les Run/Debug Configurations peuvent être partagées avec les paramètres d'un projet pour être utilisées par toute l'équipe.
Vous pouvez exécuter n'importe quel fichier Python. Cliquez simplement avec le bouton droit sur ce que vous devez exécuter et sélectionnez 'Run <your script>'.
PyCharm permet de facilement configurer l'environnement Python nécessaire pour votre projet, qu'il soit local, un interpréteur distant ou un virtualenv.
Dans PyCharm, vous pouvez exécuter des consoles Python ou Django qui proposent de nombreux avantages par rapport aux versions standard : vérification de syntaxe à la volée avec inspections, correspondance automatique des crochets, parenthèses et guillemets, et bien entendu, saisie automatique du code. Les deux consoles fonctionnent avec les interpréteurs locaux et distants.
C'est ce qui fait de PyCharm un IDE Python complet. Inutile de quitter l'IDE quand vous développez. Le terminal local est disponible pour Windows, Linux et macOS.
PyCharm prend en charge toutes les implémentations de Python, dont Python 2.x et 3.x, Jython, IronPython, PyPy et Cython, ce qui permet de proposer :
Effectuez facilement des tests unitaires grâce à l'intégration de PyCharm aux frameworks de test Python les plus populaires : doctests, nose et attest.
PyCharm vous permet d'exécuter tous vos tests : fichier test, classe de test unique, méthode ou tous les tests dans un dossier. Vous pouvez observer les résultats dans le testeur graphique avec les statistiques d'exécution et la navigation simplifiée dans le code-test.
PyCharm s'intègre à Coverage.py, un outil standard pour mesurer la couverture du code des programmes Python. Il surveille votre programme, note quelles parties du code ont été exécutées, puis analyse la source pour identifier le code qui aurait pu être exécuté mais ne l'a pas été. Vous recevez les résultats dans un format visuel agréable permettant de les analyser ultérieurement et bénéficiez d'une navigation dans le code simplifiée.
Prenez intégralement le contrôle de votre code grâce à l'intégration du profileur Python, prenant en charge yappi et cProfile. Découvrez les instantanés capturés et les statistiques détaillées grâce au graphique coloré des appels de fonction. Observez le rapport cumulé et passez directement des statistiques d'exécution à la fonction dans votre code Python.
BDD est à présent disponible avec Python avec Behave et Lettuce. Écrivez des récits lisibles pour les utilisateurs décrivant le comportement de votre application. Profitez de l'assistance de PyCharm, notamment pour l'installation et la configuration des assistants, ainsi que l'exécution de la configuration et de l'Intellisense des frameworks BDD.
La visualisation des concurrences de threads vous aide à contrôler intégralement les applications à multiples threads. Vous pouvez exécuter votre application Python depuis le mode Concurrency Diagram grâce au bouton spécialement conçu pour inspecter en temps réel les états des threads dans le processus que vous exécutez sur un diagramme.
La prise en charge unifiée de Git, SVN, Mercurial, Perforce et d'autres systèmes de contrôle de version vous aide à gérer les modifications locales et à appliquer des opérations de branche complexes. Toutes les tâches fastidieuses (ajout, retrait et suppression de fichiers) sont effectuées automatiquement.
Les fonctionnalités suivantes sont disponibles, peu importe le VCS utilisé :
PyCharm suit les modifications apportées à vos fichiers source pour vous protéger contre les pertes ou modifications accidentelles, même celles causées par d'autres applications. Vous pouvez à n'importe quel moment inspecter l'historique soit d'un fichier spécifique, soit d'un dossier, et réinitialiser n'importe laquelle de ses versions précédentes.
Un outil de merge visuel inclus résout tous les conflits rapidement et de façon intuitive. Les modifications apportées localement sont mises en évidence dans la gouttière de l'éditeur au fur et à mesure de votre saisie, ce qui permet une navigation intuitive et un retour en arrière en 2 clics pour apporter des modifications individuelles.
Vous pouvez facilement suivre les modifications et afficher les différences entre deux fichiers, ou comparer deux versions d'un fichier (modifications locales ou modifications entre fichiers locaux et leurs révisions dans un dépôt distant) grâce au Diff Viewer graphique et intégré.
Accédez à Oracle, SQL Server, PostgreSQL, MySQL et à d'autres bases de données directement depuis l'IDE. PyCharm vous aide à éditer le code SQL, à parcourir les données et à altérer les schémas, mais aussi à organiser les données, à exécuter des requêtes et même à analyser des schémas avec des diagrammes UML.
Du code SQL peut être injecté dans d'autres langages ou édité dans l'Éditeur SQL, avec mise en évidence des éléments de syntaxe, saisie automatique intelligente du code, analyse du code à la volée, mise en forme du code et navigation dans le code.
PyCharm fournit un aperçu du code intelligent pour la bibliothèque SQLAlchemy, ce qui permet des suggestions de code et la saisie automatique intelligentes. Les diagrammes SQLAlchemy complètent la prise en charge de cet outil SQL pratique en permettant une visualisation de la structure de vos données.
PyCharm Professional Edition comprend les dernières capacités de DataGrip pour vous aider à travailler avec des bases de données. Plus d'informations sur les fonctionnalités de DataGrip
La console SSH intégrée vous permet de vous connecter à une machine distante et d'effectuer diverses actions via SSH. De plus, les outils à distance SSH peuvent être configurés pour exécuter d'une seule touche n'importe quel outil à distance depuis l'IDE.
Utiliser un interpréteur Python distant à la place d'un interpréteur local vous permet d'exécuter, déboguer et profiler votre application sur un environnement de test ou de production, peu importe que ce soit un vrai serveur ou un serveur virtualisé créé par Vagrant ou Docker.
Vagrant est un outil pratique et intégré nativement à PyCharm, conçu pour vous aider à créer des environnement de développement reproductibles. Il vous permet de partager une machine virtuelle de développement en partageant un simple script. Les autres développeurs peuvent alors lancer une machine identique via la commande Vagrant.
PyCharm intègre Docker, une plateforme populaire ouverte pour les applications distribuées destinée aux développeurs et administrateurs système. Spécifiez un interpréteur Python à partir d'un conteneur Docker et utilisez-le dans votre projet pour exécuter, déboguer et profiler vos applications.
Quand votre liste de ToDo est dans un système de suivi d'incidents, vous pouvez configurer PyCharm pour fonctionner avec les incidents en question sans avoir à basculer depuis l'IDE. Indiquez simplement votre serveur de suivi d'incidents et :
PyCharm prend en charge les systèmes de suivi d'incidents suivants : Atlassian JIRA, JetBrains YouTrack, Lighthouse, Pivotal Tracker, GitHub, Redmine et Trac.