PyCharm 2024.2 est disponible : tour d'horizon des nouveautés
De la deuxième mise à jour majeure de l'année de l'EDI Python de JetBrains

JetBrains vient d'annoncer la sortie de la deuxième mise à jour majeure de l'année pour PyCharm, son EDI Python. Cette version vient avec des améliorations pour les notebooks Jupyter, une intégration directe avec Databricks, de nouvelles fonctionnalités pour l'assistant IA, et bien plus. Nous présentons dans la suite les principales nouveautés et améliorations de PyCharm 2024.2.

AI Assistant

JetBrains AI Assistant 2024.2 améliore significativement la saisie semi-automatique du code cloud, offrant des suggestions plus précises et plus rapides. L'expérience utilisateur a été repensée pour mieux intégrer les fonctionnalités de saisie semi-automatique du code par l'IA dans les workflows de l'EDI, avec des améliorations telles que la mise en évidence de la syntaxe dans le code suggéré et l'acceptation incrémentielle des suggestions de code. Le chat IA est également plus intelligent, car il prend en charge le dernier modèle GPT-4o, les références de chat et la recherche sémantique.

Parmi les nouvelles fonctionnalités, vous trouverez l'intégration de l'IA dans la fenêtre d'outils Terminal pour une génération de commandes et une résolution des conflits de systèmes de contrôle de version efficaces. De plus, les utilisateurs peuvent désormais personnaliser les prompts pour la génération de documents et la création de test unitaires, afin de les adapter à des normes et des langages de programmation spécifiques.

Cellules IA dans les notebooks Jupyter

L'AI Assistant est encore mieux intégré dans les notebooks Jupyter. Il est maintenant possible d'ajouter un prompt directement et de travailler avec l'AI Assistant directement dans les notebooks. Choisissez simplement l'option cellule AI qui s'affiche au-dessus ou en-dessous de chaque cellule pour obtenir une cellule disposant d'un champ pour votre prompt.

En cas de problème pendant l'analyse des données et si vous recherchez des conseils provenant d'autres analystes ayant été confrontés à des problèmes similaires, cliquez sur l'ampoule dans la partie droite de la cellule IA. L'AI Assistant propose des suggestions en fonction du contexte du notebook pour vous aider à nettoyer vos données plus rapidement et efficacement.

Si vous souhaitez que l'AI Assistant vous aide à itérer sur le code d'une cellule donnée, utilisez l'option AI Edit Cell du menu contextuel. Cela ouvrira le champ du prompt directement dans la cellule sélectionnée. Les modifications suggérées par l'AI Assistant s'afficheront dans une vue diff pour vous permettre de voir comment votre code va changer.


Visualisation de dataframe en un clic

Visualisez vos dataframes à l'aide de l'AI Assistant, qui peut désormais faire des suggestions les graphiques les mieux adaptés à votre contexte.

Utilisez l'icône IA dans le coin supérieur droit du dataframe et sélectionnez Suggest Visualization. PyCharm ouvrira alors un chat IA, dans quel vous recevrez des suggestions. Choisissez celle qui vous convient et l'AI Assistant générera une nouvelle cellule avec l'extrait de code approprié dans le notebook. Exécutez l'extrait de code et voilà ! Le graphique s'affichera dans votre notebook.


Intégration de Databricks (PRO)

PyCharm fournit maintenant une intégration directe avec Databricks. Vous pouvez vous connecter à un cluster Databricks, exécuter des scripts et des notebooks entant que workflows, exécuter des fichiers directement dans un shell Spark sur un cluster et suivre la progression, le tout depuis le confort de votre EDI.

PyCharm peut détecter les fichiers de configuration Databricks sur votre disque et les utiliser pour se connecter aux clusters Databricks. Deux modes vous permettent d'exécuter du code dans Databricks : Run on Cluster ou Run as a Workflow.


Intégration de Hugging Face (PRO)

Suggestions de modèles

PyCharm peut désormais suggérer une liste de modèles Hugging Face pertinents qui répondent le mieux à vos besoins. Cela vous permet de choisir quel modèle utiliser et de l'installer sans jamais avoir à quitter l'EDI. Cliquez droit dans l'onglet de l'éditeur pour appeler le menu contextuel, choisissez Insert HF Model et indiquez ce que vous souhaitez que le modèle fasse.PyCharm fournira une liste de suggestions ! Une fois que vous aurez sélectionné un modèle, PyCharm vous proposera d'insérer un extrait de code qui vous permettra d'utiliser ce modèle directement dans le fichier ouvert, et téléchargera et installera tous les paquets manquants pour ce modèle.


Dataframes interactifs pour la bibliothèque Datasets de Hugging Face

Vous pouvez désormais inspecter vos données de bibliothèque Datasets de Hugging Face en tant que dataframe interactif. Vous pouvez ainsi utiliser les fonctionnalités que vous utilisez déjà pour les dataframes Pandas, Polars, PyTorch et TensorFlow, notamment la vue graphique, la pagination et la possibilité de trier et d'exporter des tables.

Option pour identifier et supprimer les modèles non utilisés

Une nouvelle fenêtre d'outils Hugging Face dédiée vous permet de suivre et de gérer les modèles Hugging Face stockés sur votre ordinateur. En plus de faciliter la copie des chemins de fichiers ou l'ouverture des dossiers dans lesquels ils sont stockés, cela vous aidera à identifier les modèles inutilisés qui peuvent être supprimés pour libérer de l'espace disque.

Notebooks Jupyter (PRO)

Aperçu de variable inline

Plus besoin de lancer le débogueur ou d'utiliser une instruction print si vous voulez simplement vérifier les valeurs des variables. Vous pouvez désormais obtenir un aperçu instantané des valeurs d'une variable en plaçant simplement le curseur sur la ligne de cette variable.


Simplification de l'exécution des cellules

Le bouton Run est désormais situé à côté de chaque cellule, ce qui évite d'avoir à aller dans le menu du haut, et un nouveau bouton Go To permet de naviguer jusqu'à la cellule qui a été exécutée en dernier.

De plus, chaque cellule affiche maintenant son état, indiquant si elle a déjà été exécutée correctement ou avec une erreur, ou si son exécution a été annulée. Vous pouvez vérifier l'état de l'exécution en survolant le bouton Go To de la barre d'outils principale du notebook. Lorsque l'exécution de la cellule est terminée, PyCharm affiche une notification, même si le notebook est déjà fermé.


Balises

Les balises affectées à chaque cellule sont désormais visibles dans l'éditeur. Vous pouvez ajouter de nouvelles balises par l'intermédiaire du menu contextuel.

Possibilité d'étendre et de réduire le code et les cellules Markdown

Pour optimiser l'utilisation de votre espace de travail dans le notebook, il est maintenant possible d'étendre et de réduire le code et les cellules Markdown. La cellule sélectionnée est mise en évidence par une ligne bleue sur laquelle vous pouvez cliquer pour réduire ou développer le contenu et la sortie de la cellule. Les cellules non sélectionnées peuvent être réduites. Survolez-en une pour afficher une ligne grise, sur laquelle vous pouvez ensuite cliquer.


Fenêtre d'outils Endpoints : prise en charge de @action pour les viewsets Django REST Framework (PRO)

La fenêtre d'outils Endpoints reconnaît les routes spécifiées via le décorateur @action pour les viewsets. Vous pouvez voir les routes et les méthodes HTTP spécifiées dans le paramètre methods. En outre, PyCharm génère désormais des routes basées sur les paramètres detail et url_path en plus de la route initiale affectée au viewset. Le client HTTP suggérera une requête avec les méthodes pertinentes pour chaque route.


Expérience utilisateur

Option de prévisualisation dans Search Everywhere

La boîte de dialogue Search Everywhere inclut désormais une option permettant de prévisualiser les éléments de la base de code que vous recherchez. L'activation de cette fonctionnalité via l'icône Preview de la barre d'outils de la boîte de dialogue fera apparaître un volet d'aperçu sous les résultats de la recherche. Il vous offre un contexte supplémentaire et facilite la navigation dans votre projet.

Amélioration de la saisie semi-automatique de code en ligne entière (PRO)

La version 2024.2 apporte un processus d'acceptation des suggestions de saisie semi-automatique de code en ligne entière plus intuitif et plus précis. Les suggestions de saisie semi-automatique inline incluent désormais la mise en évidence du code, et de nouveaux raccourcis vous permettent d'accepter des mots individuels ou des lignes entières à partir de suggestions plus longues. JetBrains a également affiné l'intégration des modifications acceptées dans votre code, éliminant ainsi les soucis de mise en forme et les problèmes associés.

Autres améliorations

  • Nouvelle interface utilisateur par défaut pour tous les utilisateurs. Avec PyCharm 2024.2, la nouvelle interface utilisateur est désormais l'interface par défaut pour tous les utilisateurs. La version classique reste disponible sous forme de plugin.

  • PyCharm détecte désormais automatiquement les paramètres de proxy du système qui sont configurés sur votre ordinateur et les utilise par défaut.

Éditeur de code

Prise en charge de la syntaxe mathématique dans les fichiers Markdown

PyCharm peut désormais restituer nativement des expressions mathématiques dans des fichiers Markdown. Lorsque vous travaillez avec Markdown, vous pouvez utiliser $ pour insérer des expressions mathématiques inline et $$ pour les blocs de code incluant du contenu mathématique.

Lignes épinglées tenant compte du langage

Vous pouvez maintenant choisir les langages pour lesquels vous souhaitez que les lignes épinglées s'affichent. Vous pouvez adapter la fonctionnalité à vos préférences dans Settings/Preferences | Editor | General | Sticky Lines ou en appelant le menu contextuel par un clic droit sur une ligne épinglée dans l'éditeur.


Exécuter/déboguer

Visualiseurs de variables de chaîne pour JSON, XML et autres formats

Le débogage et la navigation dans des variables de longues chaînes de caractères avec des formats de données complexes sont désormais beaucoup plus faciles. Le débogueur actualisé propose des visualisations correctement mises en forme pour les variables de chaîne comportant des chaînes encodées en JSON, XML, HTML, JWT et URL. Cliquez simplement sur l'hyperlien View à côté d'une variable pour identifier rapidement la cause à l'origine du bug. Le visualiseur approprié est automatiquement choisi en fonction du contenu de votre variable.


Couverture de tests pour les modifications dans la branche de fonctionnalité en cours

PyCharm 2024.2 améliore encore votre capacité à vérifier et à optimiser rapidement la couverture des tests localement, sans passer par le lent processus du pipeline de CI/CD.La fenêtre d'outil Coverage affiche désormais uniquement les classes qui ont été modifiées dans votre branche de fonctionnalités actuelle. Cela vous permet de vérifier la couverture de test de vos modifications récentes sans parcourir l'intégralité du projet. Pour examiner la couverture des tests de l'ensemble du projet et voir toutes les classes, désactivez l'option Show Only Modified Classes.

Systèmes de contrôle de version

Balises dans le widget Version Control

JetBrains a dédié un nœud aux balises dans le widget Version Control pour faciliter leur vérification. Le nœud s'affiche par défaut, mais si vous préférez le masquer, cliquez simplement sur l'icône d'engrenage et décochez l'option Show Tags.


Autres améliorations

  • Deux nouvelles options ont été ajoutées sous l'icône Graph Options de la fenêtre d'outils Git : --first-parent et --no-merges. Utilisez l'option First Parent pour vous concentrer sur les modifications de la branche principale en masquant les commits individuels des fusions. Vous pouvez également filtrer entièrement les commits de fusion à l'aide de l'option No Merges.

  • Pour simplifier l'examen des modifications dans des projets complexes, l'action Local History est à présent disponible pour plusieurs fichiers ou répertoires simultanément. Dans la fenêtre d'outil Project, sélectionnez plusieurs fichiers ou dossiers et choisissez Local History | Show History pour afficher une fenêtre contextuelle indiquant l'historique des modifications pour votre sélection.

  • Vous pouvez ouvrir le journal Git en tant qu'onglet dans l'éditeur, ce qui fournit davantage d'espace et facilite la navigation dans la liste des commits et les détails correspondants. Vous trouverez également cette action dans le menu déroulant de la barre d'outils de la fenêtre d'outil Log.

  • JetBrains a affiné le codage des couleurs et la disposition des embranchements pour le graphique de commit dans l'onglet Log de la fenêtre d'outil Git. Les embranchements importants restent désormais systématiquement sur le côté gauche du graphique et conservent les couleurs qui leur ont été attribuées, ce qui les rend plus faciles à identifier et à suivre.

Frameworks et technologies (PRO)

GraalJS comme moteur d'exécution pour le client HTTP

JetBrains a mis à niveau le moteur d'exécution JavaScript utilisé dans le client HTTP pour GraalJS. Cela vous permet d'utiliser toutes les fonctionnalités de GraalJS, notamment la prise en charge complète de la spécification ECMAScript 2023, lors du test des points de terminaison avec le client HTTP de PyCharm et de l'utilisation de JavaScript dans les fichiers .http pour travailler avec les résultats.

Améliorations pour le client HTTP

JetBrains a introduit d'intéressantes mises à jour pour le client HTTP. La nouvelle fonction XPath vous permet de requérir des éléments directement à partir de documents XML et HTML. L'éditeur de logiciels pour développeurs a également ajouté de nombreuses méthodes pour manipuler les documents XML et HTML, éliminant ainsi le besoin d'analyser manuellement le XML.

Le client HTTP prend désormais en charge l'itération dans les collections de variables, vous permettant ainsi de composer une seule requête HTTP avec une collection JSONPath et d'envoyer automatiquement des requêtes pour chaque élément de la collection. Vous pouvez accéder à des éléments de collection spécifiques dans des scripts de post-traitement à l'aide de la syntaxe JSONPath.

De plus, il est maintenant possible de créer des méthodes personnalisées pour travailler avec des API qui fournissent des méthodes spécifiques. Vous pouvez ajouter des méthodes personnalisées instantanément grâce à un correctif rapide ou les saisir dans une liste, séparées par des virgules, dans Settings | Tools | HTTP Client.

Prise en charge de Terraform améliorée

JetBrains a considérablement étendu l'assistance au codage de PyCharm pour Terraform en mettant à disposition la saisie semi-automatique de code en ligne entière. Des fonctionnalités essentielles d'analyse du code telles que la saisie semi-automatique contextuelle du code, la mise en évidence affinée de la syntaxe et le système de détection d'erreurs avec des suggestions de correctifs rapides ont été améliorées pour Terraform. On note également l'ajout d'une fonctionnalité de documentation rapide qui affiche des infobulles au survol des éléments, fournissant ainsi des informations instantanées pour vous aider à utiliser les ressources Terraform plus efficacement sans interrompre votre workflow.

Outils de base de données (PRO)

Nouvelles fonctionnalités de l'AI Assistant

Dans cette version, JetBrains inaugure de nouvelles fonctionnalités de l'AI Assistant pour les bases de données. Avec la fonctionnalité texte vers SQL, vous pouvez générer du code SQL directement dans l'éditeur : cliquez sur Generate Code with AI, puis saisissez votre prompt. Vous pouvez accepter, générer de nouveau ou affiner le code, et le transmettre au chat si vous avez d'autres questions.


L'AI Assistant peut également vous aider à modifier les tables ; il vous permet de demander des modifications telles que le passage de tous les types de données VARCHAR à CHAR. Il peut également vous aider à comprendre et à résoudre les problèmes SQL, en fournissant des explications et en suggérant des correctifs. De plus, vous pouvez joindre votre schéma de base de données au chat par IA en le mentionnant dans votre prompt.

Importation de données personnalisable à l'aide de chargeurs scriptés

Vous pouvez à présent importer des données à partir de fichiers tabulaires à l'aide de chargeurs scriptés personnalisables pour les formats Excel, JSON, Parquet et shapefile. Glissez votre fichier de la fenêtre d'outil Project vers le schéma dans l'explorateur de base de données et configurez les paramètres dans la boîte de dialogue Import.

Vous pouvez de plus visualiser ces fichiers dans l'éditeur de données d'un simple clic dans la fenêtre d'outil Project. Pour désactiver ce comportement, allez dans Settings/Preferences | Advanced Settings | Open file as table if detected by scripted loader.

Vous pouvez également créer des chargeurs personnalisés en les plaçant dans Scratches and Consoles | Extensions | Database Tools and SQL | data | loaders.


Autres améliorations

  • Accédez facilement aux lignes liées à une cellule donnée en sélectionnant cette cellule, puis en cliquant sur l'icône Related Rows. L'option Navigate And Select First affiche toutes les lignes et met en évidence les premières référencées, tandis que l'option Navigate And Filter All affiche uniquement les lignes référencées.

  • JetBrains a automatisé la saisie semi-automatique des valeurs. Gardez à l'esprit que cette fonctionnalité s'exécute entièrement localement, les variantes de complétion s'inspirent donc des autres valeurs déjà chargées dans la colonne actuelle.

Frontend (PRO)

Possibilité d'exécuter et de déboguer directement les fichiers TypeScript

Vous pouvez désormais exécuter et déboguer des fichiers TypeScript sans aucune configuration supplémentaire. Vous pouvez les exécuter à partir de plusieurs points d'entrée, notamment le menu contextuel du fichier, le widget Run et la configuration Current File.

Prise en charge améliorée dans les principaux frameworks web

PyCharm 2024.2 est capable de résoudre les chemins pour les frameworks qui utilisent un routage basé sur le système de fichiers. Il peut résoudre les chemins de liens en fonction du système de fichiers de votre projet, et offre la saisie semi-automatique et la navigation pour Next.js, Nuxt, SvelteKit et Astro. Les nouveaux extraits de code et balises de rendu Svelte 5 sont également pris en charge. JetBrains a implémenté la prise en charge du protocole de serveur de langage (LSP) pour Astro et Vue Language Service v2, qui améliore la saisie semi-automatique du code et l'expérience globale des développeurs.

Autres améliorations

Redirection de port inversée pour le développement à distance (PRO)

JetBrains a ajouté la redirection de port inversée pour les workflows de développement à distance. Cette nouvelle fonctionnalité permet à l'EDI distant de se connecter aux ports disponibles sur la machine client. Elle est particulièrement intéressante pour le développement mobile et la connexion aux bases de données locales.

JetBrains Runtime : Passage à JBR21

PyCharm passe de JetBrains Runtime 17 (JBR17) à JetBrains Runtime 21 (JBR21). À partir de PyCharm 2024.2, toutes les mises à jour de l'EDI intégreront JBR21 pour offrir une sécurité et des performances améliorées ainsi que la prise en charge du rendu Wayland pour Linux.

Nouveautés et téléchargement de PyCharm 2024.2