Outils intégrés pour développeurs

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.

Débogueur visuel

PyCharm fournit de nombreuses options pour déboguer votre code Python/Django et JavaScript :

  • Configurez des points de rupture directement depuis l'éditeur et définissez les conditions d'atteinte
  • Inspectez les variables locales pertinentes et les surveillances définies par les utilisateurs, notamment les tableaux et les objets complexes, et éditez les valeurs à la volée

Vous trouverez plus d'informations sur le débogueur en consultant la page du débogueur Python.

Débogueur inline

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.

Step into My Code

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.

Débogage multiprocessus

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.

Configurations Run/Debug

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.

Exécutez votre code

Exécutez dans n'importe quel environnement Python

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.

Console interactive

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.

Terminal intégré

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.

Prise en charge complète de Python

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 :

  • la mise en évidence des éléments de syntaxe, la vérification des erreurs et la mise en forme du code
  • Saisie automatique du code en fonction du contexte
  • la navigation dans le code et la vue structure
  • la recherche rapide d'utilisations et les outils de refactorisation
  • Inspections de code et plus encore

Test unitaire

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.

Couverture du code

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.

Profileur Python

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 pour 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.

Visualisation des concurrences de threads

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.

Systèmes de contrôle de version

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é :

  • Listes des modifications intégrées — regroupez vos modifications en plusieurs listes pour une meilleure organisation
  • Modifications mises de côté — mettez de côté certaines modifications pour les restaurer plus tard
  • Affichage des modifications du référentiel — consultez ce que les autres membres de l'équipe ont validé
  • Affichage des modifications à venir — consultez les modifications de code qui n'ont pas encore été intégrées à votre copie locale
  • Notification pour les modifications obsolètes — soyez averti quand un fichier sur lequel vous travaillez a été modifié après votre dernière synchronisation

Historique locale

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.

Outil de Merge visuel intégré

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.

Diff Viewer

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é.

Outils de base de données

Accéder aux bases de données et les modifier

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.

Injection SQL

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.

Prise en charge de SQLAlchemy

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

Capacités de développement à distance

Outils à distance SSH

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.

Interpréteur à distance

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

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.

Docker

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.

Intégration du Suivi d'Incidents

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 :

  • sélectionnez les tâches sur lesquelles travailler depuis la liste définie par votre filtre
  • regroupez automatiquement les modifications VCS sous une tâche correspondante
  • Validez le VCS avec le nom de la tâche/l'ID pré-rempli pour vous
  • basculez entre les tâches en gardant le contexte IDE enregistré (ouvrez les onglets de l'éditeur, les points de rupture, etc.)

PyCharm prend en charge les systèmes de suivi d'incidents suivants : Atlassian JIRA, JetBrains YouTrack, Lighthouse, Pivotal Tracker, GitHub, Redmine et Trac.