Nouveautés de PyCharm 2023.2

PyCharm 2023.2 : nouveaux live templates pour Django, intégration du formateur Black, Run Anything et AI Assistant

Principales mises à jour

Mises à jour pour la prise en charge de Django
Pro

Nouveaux modèles dynamiques pour les formulaires et les modèles Django

Nouveaux live templates pour les formulaires et les modèles Django

PyCharm 2023.2 ajoute plusieurs nouveaux live templates pour Django. Ces nouveaux live templates permettent d'insérer des constructions de code communes pour les vues, les formulaires et les modèles Django (y compris Django admin) en saisissant simplement des abréviations. Vous pouvez les gérer dans la section Settings | Editor | Live Templates | Django. Pour modifier les modèles existants ou en créer un, consultez la page d'aide de PyCharm.

Nous avons également étoffé la liste des live templates qui permettent de créer rapidement des balises Django dans des fichiers de modèles. La liste des live templates actualisée est disponible dans Settings | Editor | Live Templates | Django Templates.

Fenêtre d'outils Endpoints pour Django

Fenêtre d'outils Endpoints pour Django

The Endpoints tool window now has initial support for the Django REST framework. Vous pouvez rechercher des déclarations de point de terminaison, naviguer vers des déclarations de point de terminaison spécifiques et renommer des segments de chemins d'URL. Dans l'onglet HTTP Client, vous bénéficiez de la saisie semi-automatique du code pour la modification des points de terminaison. Essayez cette fonctionnalité et dites-nous de quelles autres fonctionnalités vous aimeriez disposer dans une future version de PyCharm !

Intégration du formateur Black

Intégration du formateur Black

PyCharm 2023.2 includes integration with the Black formatter. Si vous avez déjà installé Black, PyCharm le détectera et proposera de le configurer pour votre projet.

Dans PyCharm, Black fonctionne avec les fichiers .py et .pyi. Le formatage peut porter aussi bien sur des fichiers entiers que des fragments de fichiers. Vous pouvez exécuter Black au lieu du formateur intégré, que ce soit quand vous reformatez votre code manuellement (en appuyant sur Ctrl+Alt+L ou en sélectionnant Code | Reformat Code dans le menu principal) ou lorsque vous enregistrez les modifications dans votre fichier. Vous trouverez plus d'informations sur les options de configuration pour Black sur la page d'aide dédiée.

Run Anything

Run Anything

PyCharm 2023.2 ajoute l'outil Run Anything, qui permet d'exécuter littéralement tout ce que vous voulez, quel que soit le fichier qui est ouvert. Utilisez-le pour créer et lancer rapidement des configurations d'exécution/débogage, lancer la console Python, gérer les paquets Python, ou exécuter des applications, des scripts, des commandes et des tâches. Pour ouvrir la fenêtre contextuelle Run Anything, appuyez deux fois sur Ctrl.

AI Assistant

AI Assistant Accès limité
Pro

Cette version se distingue par l'apport d'une nouveauté majeure dans PyCharm Professional : l'AI Assistant. Parmi les fonctionnalités générées par IA actuellement fournies par l'AI Assistant, vous trouverez notamment un chat, la rédaction automatique de commentaires de documentation, la suggestion de noms et la génération de messages de commit.

L'AI Assistant est alimenté par le service JetBrains AI, qui peut vous connecter à OpenAI. Nous proposerons la connexion à d'autres fournisseurs de modèles de langages par la suite. Pour accéder aux fonctionnalités d'AI Assistant, vous devez installer le plugin JetBrains AI et vous connecter au service JetBrains AI via votre compte JetBrains. La disponibilité du service JetBrains AI peut varier initialement. Consultez cet article pour plus d'informations sur l'AI Assistant et les instructions sur la façon d'y accéder.

Prise en charge de QML
Pro

Prise en charge de la syntaxe QML

Prise en charge de la syntaxe QML

Si vous utilisez Qt Modeling Language (QML) dans votre code, vous bénéficierez désormais de la prise en charge de la syntaxe QML dans PyCharm. Cette prise en charge inclut :

  • la mise en évidence et la saisie semi-automatique du code.
  • la possibilité de rechercher des utilisations.
  • la vue Structure pour naviguer plus facilement dans les fichiers QML.
  • la fenêtre contextuelle Quick Documentation pour des informations sur les symboles.
Outil de formatage QML et autres paramètres

Outil de formatage QML et autres paramètres

PyCharm applique les paramètres de style de code intégrés pour le code QML par défaut. Vous pouvez configurer les chemins Qt et QML, qmlformat en tant qu'outil de formatage et le serveur de langage QML dans Settings | Languages & Frameworks | QML.

Expérience utilisateur

Boîte de dialogue Python Run/Debug Configurations remaniée

Boîte de dialogue Python Run/Debug Configurations remaniée

Nous avons simplifié la boîte de dialogue Run/Debug Configurations pour les configurations d'exécution Python. Désormais, une fois la boîte de dialogue ouverte, vous avez accès immédiatement aux paramètres les plus utilisés. Tous les paramètres supplémentaires, tels que Run with Python Console, Emulate terminal in output console et Before Launch, sont maintenant disponibles dans le menu Modify options.

Option de mise à jour des packages depuis la fenêtre d'outils Python Packages

Option de mise à jour des paquets dans la fenêtre d'outils Python Packages

La fenêtre d'outils Python Packages offre un moyen simple et rapide de gérer les packages PyPI, Conda ou privés pour votre projet.

Dans PyCharm 2023.2, la liste des versions des nouveaux paquets est visible dans la partie gauche de la fenêtre d'outils Python Packages et vous pouvez télécharger et installer les nouvelles versions directement depuis cette liste si besoin.

Option pour réduire les annotations de type Python

Option pour réduire les annotations de type Python

Afin de renforcer la lisibilité du code, PyCharm 2023.2 fournit une option pour plier les suggestions de types complexes. Si vous préférez lire le code sans annotations de type, vous pouvez sélectionner Settings | Editor | General | Code Folding | Python | Type annotations pour que vos projets s'ouvrent avec les annotations de type pliées par défaut. Vous pouvez également utiliser les actions Collapse Python Type Annotations et Expand Python Type Annotations pour supprimer rapidement les annotations de type et les rétablir lorsque vous en avez besoin.

Recherche de texte dans Search Everywhere

Recherche de texte dans Search Everywhere

Search Everywhere (Double Maj) s'utilise principalement pour lancer des recherches dans vos fichiers, classes, méthodes, actions et paramètres. Les résultats de la recherche textuelle s'affichent à présent dans les cas où il n'y a pas ou peu d'autres résultats de recherche disponibles pour une requête donnée.

Code Insight

Conseils d'insertion pour les noms de paramètres

Conseils d'insertion pour les noms de paramètres

PyCharm 2023.2 fournit de conseils d'insertion pour les noms de paramètres afin d'améliorer la lisibilité des appels de fonction contenant de nombreux arguments. Vous pouvez configurer leur comportement dans Settings | Editor | Inlay Hints. Il est aussi possible de les désactiver pour des méthodes spécifiques en utilisant le raccourci Ctrl+Clic.

Améliorations pour les conseils de type

Améliorations pour les conseils de type

PyCharm 2023.2 reconnaît les appels de fonction annotés avec typing.NoReturn. L'IDE fournit désormais des informations correctes sur le code inaccessible et les variables potentiellement non initialisées lorsque vous appelez ce type de fonction.

Prise en charge de la substitution des fixtures dans pytest

Prise en charge de la substitution des fixtures dans pytest

Lorsque les fixtures pytest sont substitués, PyCharm 2023.2 assure l'inférence de type, la navigation et la saisie semi-automatique du code. L'IDE résout maintenant les fixtures de la même façon que pytest, en vérifiant d'abord la fixture dans la classe de test, puis dans le fichier actif et dans les instructions d'importation, et enfin dans le fichier conftest.py le plus proche.

Meilleure prise en charge des modèles Jinja

Meilleure prise en charge des modèles Jinja

Comme pour .j2 et .jinja2, PyCharm 2023.2 reconnaît maintenant automatiquement les fichiers avec l'extension .jinja en tant que modèles Jinja et fournit la mise en évidence de la syntaxe et la saisie semi-automatique du code.

Les fichiers avec des extensions composites, comme les modèles Ansible, disposent désormais d'une coloration syntaxique et d'une complétion de code appropriées pour le langage du modèle et pour le langage des données. Les principaux formats texte reconnus sont .xml, .yaml et .properties. Les fichiers *-playbook.yaml sont aussi détectés en tant que fichiers Jinja2 avec le langage de données YAML.

Autres améliorations

  • Dans les fichiers pyproject.toml, PyCharm 2023.2 fournit maintenant la saisie semi-automatique pour les noms de paquets dans les attributs dependencies et requires. L'IDE suggère également d'installer les paquets manquant dans ces attributs.
  • Dans PyCharm 2023.2, nous avons introduit une option permettant d'inclure votre code dans des parenthèses en cas de saut de ligne. Cela fonctionne pour les expressions binaires, les chaînes d'appels, les chaînes et les déclarations d'importations relatives.
  • PyCharm 2023.2 fournit la mise en évidence le la syntaxe du contenu dans la balise <py-config>. De plus, la saisie semi-automatique du code est maintenant disponible dans la balise <py-script> pour les éléments display, Element et Element.write, et PyCharm vérifie les types de leurs arguments.

Interface utilisateur

En-têtes colorés pour les projets dans la nouvelle interface utilisateur

En-têtes colorés pour les projets dans la nouvelle interface utilisateur

Vous pouvez désormais affecter une couleur et une icône uniques à chacun de vos projets et personnaliser les couleurs prédéfinies des en-têtes. Pour ce faire, faites un clic droit sur un en-tête pour accéder au menu contextuel. Sélectionnez l'option Change Project Color et choisissez une couleur. Pour désactiver cette fonctionnalité, désélectionnez simplement l'option Show Project Gradient dans le menu contextuel.

Thème clair avec en-tête clair dans la nouvelle interface utilisateur

Thème clair avec en-tête clair dans la nouvelle interface utilisateur

Pour cette version 2023.2, nous avons affiné l'expérience utilisateur avec le thème Light en introduisant l'alternative Light with Light Header, qui propose des couleurs claires pour les en-têtes de fenêtre, les infobulles et les bulles de notification.

Tri des fichiers par heure de modification dans la vue Project

Tri des fichiers par heure de modification dans la vue Project

PyCharm 2023.2 offre la possibilité (très attendue) de classer vos fichiers dans la vue Project en fonction de leur heure de modification. Cette nouvelle fonctionnalité réorganise automatiquement les fichiers lorsque vous enregistrez les modifications de votre projet. Pour activer cette fonctionnalité, ouvrez le menu des trois points verticaux dans la vue Project, puis sélectionnez Tree Appearance | Sort by Modification Time.

Configurations d'exécution épinglées dans le widget Run

Configurations d'exécution épinglées dans le widget Run

Afin de simplifier la gestion des configurations d'exécution multiples, nous avons implémenté une option permettant d'épingler les configurations préférées dans le widget Run. Pour épingler une configuration d'exécution dans la section Pinned, ouvrez le menu kebab (trois points verticaux) situé à côté de son nom et sélectionnez Pin. Si vous avez plusieurs configurations épinglées, vous pouvez facilement les réorganiser dans la liste par glisser-déposer.

Autres améliorations

  • Nous avons ajouté des options de personnalisation pour la barre d'outils de la nouvelle interface utilisateur. Faites un clic droit sur n'importe quel widget et sélectionnez Add to Main Toolbar pour voir les options disponibles.

Science des données
Pro

Option pour configurer les serveurs Jupyter gérés

Option pour configurer les serveurs Jupyter gérés

PyCharm 2023.2 permet de configurer les serveurs Jupyter gérés. Vous pouvez spécifier les variables d'environnement pour les serveurs gérés, les configurer pour les lancer à partir de tout répertoire et les lancer via un fichier jupyter.exe distinct situé en dehors de l'interpréteur Python sélectionné. Il est également possible de spécifier des paramètres supplémentaires pour les serveurs Jupyter ou JupyterLab.

Prise en charge du DataFrame Polars

Prise en charge des DataFrames Polars

In PyCharm 2023.2 you can work with interactive Polars tables in Jupyter notebooks. Dans la console Python, vous pouvez inspecter les DataFrame Polars avec l'option View as DataFrame dans la liste Special Variables. Les débogueurs Python et Jupyter fonctionnent tous les deux avec Polars. PyCharm fournit des informations sur les types et les dimensions des tables, complète les noms et les types des colonnes, et vous permet de trier les tables.

Veuilez noter que les DataFrames Polars ne sont pas pris en charge en mode Scientific.

Performances
Pro

Nouvel outil pour générer facilement des index partagés

PyCharm 2023.2 propose un nouvel outil en ligne de commande pour créer et télécharger rapidement des index partagés. Il est conçu pour simplifier le travail d'équipe et éliminer le temps perdu à indexer localement de grands projets. Le nouvel outil simplifie le processus pour votre équipe : vous pouvez créer des index partagés en quelques clics sans utiliser de scripts ou de services supplémentaires. En savoir plus.

Workflow de qualité du code
Pro

Plateforme de qualité de code Qodana intégrée

Plateforme de qualité de code Qodana intégrée

Cette version facilite considérablement la configuration des analyses statiques en intégrant totalement la plateforme de contrôle de la qualité du code Qodana.

Il est désormais possible de déclencher une analyse directement dans PyCharm, de voir la liste des problèmes pour l'ensemble de votre projet et de mettre en place des murs qualité dans votre système CI/CD préféré. De plus, vous pouvez voir les résultats de l'analyse côté serveur sans avoir à quitter PyCharm.

Qodana vient de sortir de sa phase de preview. Vous trouverez plus d'informations à ce sujet dans cet article.

Développement web
Pro

Amélioration de la mise en forme des erreurs pour JavaScript et TypeScript

Amélioration de la présentation des erreurs JavaScript et TypeScript

Nous avons cherché à améliorer la présentation des erreurs de type en JavaScript et TypeScript dans PyCharm 2023.2. Désormais, les erreurs et les avertissements seront présentés de manière plus lisible, ce qui facilite la détection des problèmes dans votre code. Cela s'applique à toutes les erreurs TypeScript, à certaines des erreurs JavaScript les plus courantes, et aux erreurs localisées dans une autre langue.

Prise en charge de l'imbrication CSS

Prise en charge de l'imbrication CSS

PyCharm 2023.2 now supports CSS nesting. Nous avons implémenté une prise en charge syntaxique ainsi qu'une inspection qui vous alerte si le sélecteur imbriqué commence par un identifiant ou une notation fonctionnelle.

Plugin OpenAPI Specifications intégré

Plugin OpenAPI Specifications intégré

Le plugin OpenAPI Specifications est fourni avec PyCharm 2023.2. This plugin provides support for OpenAPI and Swagger specification files. Ses principales fonctionnalités incluent la validation par schéma JSON, la navigation et la génération de code avec Swagger Codegen et OpenAPI Generator.

Aperçus de l'interface utilisateur de Redoc pour les fichiers OpenAPI et Swagger

Aperçus de l'interface utilisateur de Redoc pour les fichiers OpenAPI et Swagger

PyCharm now supports Redoc UI previews for OpenAPI and Swagger specification files, including YAML and JSON files, allowing you to switch between the Redoc and Swagger UIs within the IDE. Avec l'intégration de Redocly, vous pouvez accéder à la console Try it à partir de PyCharm et l'utiliser pour définir des paramètres et envoyer des requêtes à votre API.

Prise en charge de la modification des fichiers AsyncAPI

Prise en charge de la modification des fichiers AsyncAPI

Travailler avec le format de spécification AsyncAPI dans PyCharm est maintenant beaucoup plus facile. L'IDE prend en charge la fonctionnalité de validation des schémas et fournit la saisie semi-automatique du code pour les références, la vue Endpoints et le volet Editor Preview.

Client HTTP

Requêtes gRPC utilisant TLS dans le client HTTP

Requêtes gRPC utilisant TLS dans le client HTTP

Vous pouvez désormais envoyer des requêtes gRPC via TLS (Transport Layer Security) dans le client HTTP. TLS fournit le cryptage et l'authentification, ce qui garantit la confidentialité et l'intégrité pour la transmission de vos données. Les schémas https:// et grpcs:// sont tous deux pris en charge dans la syntaxe de la requête.

Prise en charge des schémas Swagger et OpenAPI dans le client HTTP

Le client HTTP est maintenant capable de comprendre les spécifications Swagger et OpenAPI et de fournir les options de saisie semi-automatique du code correspondantes pour les corps de requête JSON.

Prise en charge des importations JavaScript dans le client HTTP

Prise en charge des importations JavaScript dans le client HTTP

PyCharm 2023.2 permet de partager du code JavaScript commun pour les gestionnaires de requêtes du client HTTP via des modules importés.

Aperçus de fichiers PDF et HTML dans les réponses du client HTTP

Aperçus de fichiers PDF et HTML dans les réponses du client HTTP

PyCharm peut maintenant afficher des aperçus de fichiers PDF et HTML directement dans les résultats de requêtes du client HTTP.

Prise en charge de GraphQL et WebSocket dans l'interface en ligne de commande du client HTTP

Prise en charge de GraphQL et de WebSocket dans l'interface en ligne de commande du client HTTP

Il est désormais possible d'utiliser l'interface en ligne de commande du client HTTP dans PyCharm pour interagir avec les API GraphQL et établir des connexions WebSocket avec des services, par exemple pour des tests ou des scripts d'automatisation.

VCS

Intégration de GitLab

Intégration de GitLab

PyCharm 2023.2 inaugure l'intégration avec GitLab afin d'optimiser votre workflow de développement. Vous pouvez désormais travailler avec la fonctionnalité Merge Request directement dans l'IDE : passer en revue la liste des requêtes, vérifier les modifications, laisser des commentaires et naviguer vers les vues correspondantes.

Option permettant d'envoyer un commit de lignes de code spécifiques

Option pour effectuer un commit pour des lignes de code spécifiques

PyCharm 2023.2 introduit une fonctionnalité très attendue qui permet d'effectuer des commits pour des parties spécifiques de blocs de code. Pour effectuer un commit partiel, sélectionnez les lignes d'un bloc et appelez Include these lines into commit dans le menu contextuel. Le bloc sera divisé en lignes individuelles et les lignes sélectionnées seront mises en évidence. Vous pouvez ajouter ou exclure des lignes de la sélection à l'aide de cases à cocher ou du menu contextuel.

Docker
Pro

Aperçu des fichiers dans les couches d'images Docker

Aperçu des fichiers dans les couches d'images Docker

Vous pouvez maintenant facilement accéder aux contenus d'une couche d'image Docker et en voir un aperçu dans la fenêtre d'outils Services. Sélectionnez l'image dans la liste, puis Show layers et cliquez sur Analyze image for more information. Cela permet d'ouvrir une liste des fichiers stockés dans la couche. Vous pouvez alors ouvrir le fichier sélectionné dans l'éditeur à partir de cette liste en faisant un clic droit sur le fichier, puis en cliquant sur Open File (ou Download File pour les binaires).

Configurer le conteneur Docker pour qu'il s'exécute en tant que tâche Before Launch pour les configurations d'exécution

Configuration du conteneur Docker comme tâche Before Launch pour les configurations d'exécution

Il est désormais possible de définir une configuration d'exécution Docker pour qu'elle s'exécute avant une autre configuration en la désignant comme tâche Before Launch. L'IDE attendra que le conteneur en cours d'exécution soit prêt avant de lancer la configuration d'exécution suivante. Pour placer une configuration d'exécution Docker dans une file d'attente, commencez par la créer puis ajoutez-la au conteneur concerné en cliquant sur Modify options | Add before launch task | Run configuration.

Kubernetes
Pro

Prise en charge de plusieurs fichiers kubeconfig au sein d'un même projet

Prise en charge de plusieurs fichiers kubeconfig au sein d'un même projet

Nous avons introduit une nouvelle fonctionnalité qui vous permet de configurer plusieurs fichiers kubeconfig dans le même projet. Cela simplifie la gestion de plusieurs clusters ou le travail avec des environnements sur plusieurs clusters dans le même projet. Pour configurer les fichiers, allez dans File | Settings | Build, Execution, Deployment | Kubernetes.

Possibilité de consulter les journaux d'activité du déploiement

Possibilité de consulter les journaux d'activité du déploiement

Vous pouvez maintenant consulter les journaux d'activité des déploiements dans les clusters Kubernetes dans la fenêtre d'outils Services. Faites un clic droit sur Deployment dans l'arbre, puis sélectionnez Follow Log ou Download Log dans le menu contextuel.

Outils de bases de données
Pro

Prise en charge de Redis Cluster

Prise en charge de Redis Cluster

Vous pouvez désormais vous connecter à Redis Cluster et bénéficier des mêmes fonctionnalités qu'avec la version autonome de Redis. Lors de la connexion à un cluster, saisissez jdbc:redis:cluster: avant l'URL. Choisissez le type de connexion approprié en fonction de votre situation. Si un tunnel SSH est nécessaire pour la connexion au cluster, les hôtes et les ports de tous les nœuds du cluster doivent être indiqués dans l'URL.

Nouvelle interface utilisateur pour la boîte de dialogue de migration du schéma

Nouvelle interface utilisateur pour la boîte de dialogue de migration de schéma

Pour la version 2023.2, nous avons remanié la fonctionnalité de migration de schéma. La principale différence est qu'un objet est désormais placé sur la même ligne dans les deux parties de la boîte de dialogue, ce qui permet de comprendre plus facilement quels objets vont être ajoutés, supprimés ou modifiés dans le schéma cible.

Paramètre Time zone pour l'éditeur de données

Paramètre Time zone pour l'éditeur de données

La page de configuration Data Editor and Viewer comporte un nouveau champ Time zone permettant de définir le fuseau horaire dans lequel afficher la valeur datetime.

Prise en charge des partages de données et des bases de données externes dans Redshift

Les bases de données partagées et leur contenu sont désormais introspectés. Les partages de données sur lesquels ces bases de données sont créées sont eux aussi introspectés.

Autre

  • Avec cette version, nous avons introduit une API LSP pour les développeurs de plugins qui souhaitent utiliser un serveur LSP spécifique pour l'assistance au codage dans l'IDE. Si vous avez créé votre propre langage de programmation ou framework, vous pouvez le faire prendre en charge par l'IDE en créant un serveur LSP et un plugin. Veuillez noter que cette fonctionnalité n'est disponible que dans la version payante de l'IDE. En savoir plus.
  • Nous avons décomposé le plugin Big Data Tools pour vous permettre d'utiliser ses éléments séparément. Six nouveaux plugins sont donc disponibles pour PyCharm : Kafka, Spark, Flink, Remote File Systems, Big Data File Viewer et Zeppelin. Si vous avez besoin des six, vous pouvez toujours installer le plugin générique Big Data Tools pour tous les obtenir en un clic.
  • À partir de la version 2023.2, la valeur par défaut de la taille maximale du tas (-Xmx) passe à 2 Go.