AI Assistant
Prompts d'IA inline
Prompts d'IA directement dans l'éditeur
Vous pouvez interagir avec l'AI Assistant là où vous travaillez le plus souvent : dans l'éditeur. Vous vous retrouvez bloqué par une erreur dans votre code ? Vous avez besoin d'ajouter de la documentation ou des tests ? Saisissez simplement votre requête sur une nouvelle ligne dans l'éditeur. PyCharm interprète automatiquement vos requêtes en langage naturel et génère une réponse. Si la nouvelle ligne est en retrait, utilisez le symbole $ ou ? comme préfixe de votre requête.
PyCharm place une marque en violet dans la gouttière à côté des lignes modifiées par l'AI Assistant pour vous permettre de voir facilement ce qui a été mis à jour.
Si vous n'êtes pas satisfait de la suggestion initiale, vous pouvez en générer une nouvelle en appuyant sur la touche Tab. Vous pouvez également ajuster l'entrée initiale en cliquant sur le bloc violet dans la gouttière ou en utilisant Ctrl+\ (Windows) ou Cmd+\ (macOS).
Cette fonctionnalité est disponible pour les fichiers Python, JavaScript, TypeScript, JSON et YAML, et pour les notebooks Jupyter.
Précisez le contexte de votre prompt inline
Vous avez besoin d'assistance pour un argument spécifique ? Vous pouvez réduire le contexte que l'AI Assistant va utiliser pour ses réponses autant que vous le souhaitez. Placez simplement le curseur dans le contexte souhaité, tapez le symbole $ ou ? et commencez à écrire. PyCharm reconnaîtra votre prompt et prendra le contexte actuel en compte pour ses suggestions.
Générer de la documentation
PyCharm affiche maintenant l'indication inline Generate with AI Assistant lorsqu'il détecte le format docstring. Cette fonctionnalité permet d'utiliser l'IA pour accélérer le processus de génération de documentation.
Gestion du contexte améliorée
Avec cette mise à jour, JetBrains a amélioré la transparence et l’intuitivité de la gestion du contexte pris en compte par l’AI Assistant pour ses suggestions. Une interface utilisateur remaniée vous permet d'afficher et de gérer chaque élément inclus en tant que contexte, pour une visibilité et un contrôle complets. Le fichier ouvert et tout le code sélectionné qu'il contient sont désormais automatiquement ajoutés au contexte, et vous pouvez facilement ajouter ou supprimer des fichiers selon vos besoins, en personnalisant le contexte pour l'adapter à votre workflow. Vous pouvez en outre joindre des instructions à l’échelle du projet pour cadrer les réponses de l’AI Assistant dans toute votre base de code.
Possibilité de choisir un fournisseur de modèle de chat
Vous pouvez à présent sélectionner votre modèle de chat d’IA préféré, qu'il s'agisse de Google Gemini, d'OpenAI ou de modèles locaux sur votre ordinateur. Cette sélection étendue vous permet de personnaliser les réponses du chat par IA en fonction de votre workflow et de bénéficier d'une expérience plus flexible et adaptée.
Exécution du code depuis le chat par IA dans la console Python
Itérez plus rapidement sur le code suggéré par l'AI Assistant en exécutant simplement des extraits de code depuis le chat par IA dans la console Python. Cliquez sur le bouton vert Run dans le coin supérieur droit de l'extrait de code suggéré pour voir vérifier comment il fonctionne.
Accès instantané à la documentation de PyCharm
L'AI Assistant peut désormais suggérer la meilleure façon d'effectuer une tâche donnée dans PyCharm en fonction du dernier état de la documentation de PyCharm. Utilisez la commande /docs pour obtenir des conseils personnalisés sur la façon la plus efficace d'exécuter vos tâches.
Capacité de reconnaissance des dataframes et des variables dans les prompts
L'AI Assistant est désormais capable de travailler avec des dataframes et des variables dans vos notebooks. Placez simplement # avant le nom d'un dataframe ou d'une variable et l'AI Assistant vous aidera à l'analyser. L'AI Assistant a un accès direct au résumé et aux statistiques du dataframe, ce qui lui permet de vous fournir les meilleurs résultats possibles.
De plus, vous pouvez accéder à la vue Variables de la fenêtre d'outil Jupyter directement depuis le chat. Cliquez simplement sur l'icône trombone dans votre mention du dataframe ou de la variable.
Possibilité de convertir des boucles for en compréhensions de listes
Refactorisez votre code plus rapidement avec l'AI Assistant, qui peut désormais vous aider à transformer d'énormes boucles for en compréhensions de listes. Cette fonctionnalité est disponible pour toutes les boucles for, y compris pour les boucles imbriquées et les boucles while.
Traitement des erreurs SQL par l'AI Assistant
JetBrains a implémenté deux actions pratiques pour le traitement des erreurs d'exécution des requêtes SQL avec l'AI Assistant. Dorénavant, pour chaque message d'erreur, PyCharm affichera deux actions dans la partie droite du message d'erreur : Explain with AI et Fix with AI.
Explain with AI ouvre le chat IA, envoie un prompt automatique et vous donne l'explication de l'erreur générée par l'AI Assistant. Fix with AI génère un correctif pour l'erreur d'exécution de la requête dans l'éditeur.
Ces deux nouvelles actions fonctionnent de la même façon que les actions d'intention Fix SQL Problem Under Caret et Explain SQL Problem Under Caret.
L'utilisation de cette fonctionnalité requiert d'attacher le schéma de base de données pour la suggestion des explications et des correctifs appropriés.
Complétion de code multiligne locale assistée par IA (PyCharm Professional)
PyCharm Professional fournit maintenant des suggestions de saisie semi-automatique de code multiligne locale assistée par IA, qui sont basées sur le LLM propriétaire de JetBrains utilisé pour la saisie semi-automatique de ligne entière de code. Veuillez noter que JetBrains n'utilise pas vos données pour entraîner le modèle.
La saisie semi-automatique de code multiligne locale génère de 2 à 4 lignes de code dans les cas où elle peut prédire la prochaine séquence d'étapes logiques, notamment dans les boucles, lors du traitement de conditions ou lors de la saisie semi-automatique de schémas de code communs et de sections de code standard.
Python
Assistance au codage pour le décorateur dataclass_transform (PEP 681)
Lorsque vous travaillez sur des classes de données personnalisées créées au moyen de bibliothèques utilisant le décorateur dataclass_transform, l'EDI vous fournit l'assistance intelligente au codage qu'il offrait déjà pour les classes de données standard. Vous bénéficiez notamment de la saisie semi-automatique de code pour les attributs et de l'inférence de type pour les signatures de constructeur.
Notebook Jupyter (PyCharm Professional)
Installation automatique pour plusieurs paquets
PyCharm 2024.3 facilite l'installation des paquets qui sont importés dans votre code. Un nouveau correctif rapide est disponible pour les installations automatiques groupées, ce qui vous permet de télécharger et d'installer plusieurs paquets en un clic.
Possibilité d'exécuter des lignes spécifiques dans la console Jupyter
PyCharm vous permet d'exécuter les lignes de code sélectionnées directement dans la console Jupyter sans avoir à exécuter l'ensemble de la cellule. Cette fonctionnalité permet de déboguer ou de vérifier rapidement les sorties de sections spécifiques du code, afin de rendre votre workflow encore plus flexible et efficace.
Possibilité d'ouverture des sorties de tables Jupyter dans la fenêtre Data View
Affichez les sorties des tables Jupyter dans la fenêtre d'outil Data View pour accéder à des fonctionnalités puissantes, telles que les cartes thermiques, le formatage, les découpages et les fonctions d'IA, pour une meilleure analyse des dataframes. Pour utiliser ces fonctionnalités, cliquez simplement sur l'icône Open in Data View.
Renommage inline des variables locales et des fonctions
Vous pouvez renommer les variables locales, les fonctions et les symboles directement dans l'éditeur, sans avoir à ouvrir une boîte de dialogue. Sélectionnez simplement l'entité à renommer et appuyez sur Maj+F6.
Data View (PyCharm Professional)
Filtrage des données sans écriture de code
Vous pouvez désormais filtrer les données dans la fenêtre d'outil Data View et dans les dataframes sans écrire une seule ligne de code. Cliquez sur l'icône Filter située en haut à droite de la fenêtre d'outil ou d'un dataframe, puis sélectionnez les options de filtrage que vous souhaitez utiliser. Les résultats du filtre s'affichent immédiatement dans la même fenêtre.
Cette fonctionnalité s'applique à tous les frameworks Python pris en charge, parmi lesquels pandas, Polars, NumPy, PyTorch, TensorFlow et Hugging Face Datasets.
Expérience utilisateur
Mise en évidence des occurrences du texte sélectionné
Par défaut, PyCharm met désormais automatiquement en évidence toutes les instances du texte que vous sélectionnez dans un fichier. Cela facilite le repérage des endroits où le texte sélectionné apparaît dans votre code. Vous pouvez la personnaliser dans Settings | Editor | General | Appearance.
Vérifications orthographiques et grammaticales lors de l'indexation
En s'appuyant sur les progrès réalisés dans la version 2024.2, JetBrains augmente le nombre de fonctionnalités essentielles disponibles pendant le build et l'indexation du modèle de projet. Dans la version 2024.3, les vérifications orthographiques et grammaticales sont accessibles même pendant l'indexation. Cela vous permet de détecter des erreurs (par exemple dans les documents Markdown et les balises de documentation) sans attendre la fin de l'indexation.
Emplacement optimisé pour l'action Rename
JetBrains a optimisé l'emplacement de l'action Rename dans le menu contextuel lorsqu'elle est appelée sur des éléments dans l'éditeur et la fenêtre d’outils Project. L'action se trouve désormais en haut, ce qui permet aux utilisateurs qui utilisent beaucoup la souris de renommer rapidement les fichiers, variables et autres éléments.
ptimized-placement-for-the-Rename-action.png" />
Widget Run : option pour lancer plusieurs configurations simultanément
Le widget Run mis à jour vous permet de lancer plusieurs configurations simultanément en appuyant sur Ctrl tout en cliquant sur l'icône Debug dans la fenêtre contextuelle. De plus, le widget affiche des contrôles pour toutes les configurations en cours d’exécution, ce qui vous donne un aperçu clair de leur état et simplifie la gestion.
Augmentation de la limite du nombre d'onglets ouverts par défaut
JetBrains a augmenté la limite par défaut pour le nombre d'onglets ouverts dans l'éditeur, qui est maintenant de 30. Vous pouvez ainsi garder davantage d'onglets ouverts avant que l'EDI ne commence à fermer ceux qui sont restés inutilisés le plus longtemps. Vous pouvez contrôler ce paramètre dans Settings | Editor | General | Editor Tabs.
Débogueur
Spécification du port de débogage (PyCharm Professional)
PyCharm vous permet de spécifier un port de débogueur unique pour toutes les communications, ce qui simplifie le débogage dans des environnements restreints comme Docker ou WSL. Une fois le port défini dans les paramètres du débogueur, ce dernier s'exécute en tant que serveur et toutes les communications entre lui et l'EDI transitent par le port spécifié.
Bases de données (PyCharm Professional)
Barre d'outils de pagination flottante
Afin de rendre la pagination de la grille plus visible dans l'éditeur de données, JetBrains a déplacé le contrôle de la barre d'outils vers le centre de la partie inférieure de l'éditeur.
Inspection pour un nombre excessif de clauses JOIN
Dans certains cas, l'exécution d'une requête contenant un nombre excessif de clauses JOIN n'est pas recommandée car cela peut nuire aux performances. L'éditeur peut désormais identifier et mettre en évidence ces requêtes. Vous pouvez activer cette inspection dans les paramètres de l'EDI. Pour ce faire, allez dans Editor | Inspections, développez la section SQL et sélectionnez Excessive JOIN count.
Introspection partielle et actualisation intelligente pour MySQL et MariaDB
PyCharm prend désormais en charge l'introspection fragmentaire. Auparavant, l'introspecteur ne pouvait effectuer qu'une introspection complète des schémas dans les bases de données MySQL ou MariaDB et ne pouvait pas actualiser les métadonnées d'un seul objet. Chaque fois qu'une instruction DDL était exécutée dans la console et que cette exécution pouvait modifier un objet dans le schéma de la base de données, l'EDI lançait une introspection complète de l'ensemble du schéma. Cela prenait beaucoup de temps et perturbait souvent le workflow.
Maintenant, PyCharm est en mesure d'analyser une instruction DDL, de déterminer quels objets sont affectés par cette dernière et de n'actualiser que ces objets. Si vous sélectionnez un seul élément dans Database Explorer et que vous appelez l'action Refresh, un seul objet sera actualisé, au lieu du schéma entier comme c'était le cas auparavant.
Développement web (PyCharm Professional)
Amélioration de la navigation et du renommage des composants de frameworks
JetBrains a amélioré les indications dans l'éditeur pour les composants Vue, Svelte et Astro. L'action Show component usages recherche désormais les utilisations dans les importations et les modèles de balisage. JetBrains a également ajouté un filtre Show Component Usages pour exclure les utilisations des composants lors de la recherche de références de fichiers standard. La refactorisation Rename a également été dotée d’une option permettant d'inclure les utilisations lors du renommage d'un fichier de composant.
Résultats de recherches plus propres pour les répertoires
PyCharm exclut désormais les résultats node_modules par défaut lors de l'utilisation de Find in Files dans les répertoires de projets, ce qui réduit l'encombrement dû aux fichiers non pertinents. Vous pouvez restaurer le comportement précédent en activant l’option Search in library files when "Directory" is selected in Find in Files dans Settings | Advanced Settings.
VCS
Génération du titre et de la description pour les requêtes pull et merge
L'AI Assistant permet désormais de générer des titres et des descriptions précis pour vos requêtes pull et merge depuis l'EDI, ce qui simplifie votre workflow et garantit que vos descriptions soient claires et concises.
Mises à jour pour Find in Files
La fonctionnalité Find in Files a été améliorée avec l'ajout d'une nouvelle portée de recherche, Project Files Excluding Git-Ignored. Cette option exclut de vos résultats de recherche tous les fichiers ignorés dans les fichiers .gitignore, pour vous aider à vous focaliser uniquement sur le code pertinent lors de vos recherches dans votre projet.
Option de désactivation des vérifications préalables au commit en arrière-plan
Vous pouvez désormais gérer les vérifications en arrière-plan pendant le processus de commit grâce à la nouvelle option Run advanced checks after a commit is done sous Settings | Version Control | Commit. Ce paramètre vous permet de décider si les tests et les inspections doivent être exécutés après l’envoi d’un commit. Si vous souhaitez que ces vérifications soient effectuées avant le commit, il vous suffit de le désactiver.
Frameworks et technologies (PyCharm Professional)
Mises à jour pour le client HTTP
PyCharm 2024.3 introduit la possibilité d'accéder aux variables d'environnement directement depuis le client HTTP au moyen de la syntaxe $env.ENV_VAR. Cela permet davantage de flexibilité pour la gestion et l'utilisation de variables dans vos requêtes et vos scripts. De plus, il est désormais possible d'exécuter les requêtes depuis un fichier .http inclus, soit toutes ensemble, soit via une requête spécifique par nom, et de remplacer les variables.
Prise en charge améliorée des conteneurs de développement
Les builds des conteneurs de développement fonctionnent désormais de façon plus fluide avec les moteurs Docker distants, ce qui évite des erreurs lorsque les répertoires locaux ne sont pas accessibles à distance. La stabilité dans WSL a également été optimisée, avec des builds d'images améliorés et des connexions fiables.
Le fichier devcontainer.json traite les features de manière plus cohérente et la nouvelle option updateRemoteUID évite les conflits d'accès en configurant la bonne identité d’utilisateur. Vous pouvez personnaliser les paramètres de l’EDI dans les conteneurs de développement à l’aide des fichiers devcontainer.json ou du bouton Add currently modified settings from IDE, en bénéficiant de la saisie semi-automatique pour toutes les options disponibles.
Améliorations pour le nouveau terminal (Bêta)
Le nouveau terminal offre désormais un traitement des commandes amélioré et la cohérence de son interface utilisateur a été affinée, pour une expérience plus fluide et plus intuitive. Le terminal est plus réactif et traite les prompts plus rapidement. Le changement de session est désormais transparent, avec une conservation cohérente de l'état dans tous les onglets pour garantir que votre workflow ne soit pas interrompu. La saisie semi-automatique accède plus rapidement aux noms de commandes, aux flags et aux chemins, ce qui réduit la saisie manuelle. JetBrains a également introduit des options de personnalisation supplémentaires, notamment pour les styles de prompts, les noms de sessions et les variables d'environnement, afin de vous offrir un meilleur contrôle sur l’environnement de votre terminal.
Journaux du cluster Kubernetes
PyCharm offre désormais un accès aux journaux Kubernetes à l'échelle du cluster, avec streaming et correspondance de schémas, des outils essentiels pour les développeurs ainsi que pour les équipes DevOps et SRE. Cette fonctionnalité offre une vue centralisée de tous les événements sur les pods, nœuds et services, et vous aide à identifier rapidement les problèmes sans avoir à contrôler manuellement chaque journal. Le streaming en temps réel permet des diagnostics immédiats, tandis que la correspondance de schémas automatise la détection d'événements et d'erreurs essentiels, tels que des problèmes d'insuffisance de mémoire ou une activité réseau inhabituelle.
Améliorations pour Docker Compose
PyCharm 2024.3 étend la prise en charge de Docker Compose. Il donne désormais la priorité aux fichiers .env dans la saisie semi-automatique env_file, ce qui accélère la configuration de l'environnement. Les nouvelles options de build (cache_to, no_cache, tags et platforms) offrent un meilleur contrôle sur la mise en cache et le ciblage des plateformes. La gestion améliorée de depends_on.required et depends_on.restart permet une gestion plus efficace de l'ordre de démarrage et d'arrêt des conteneurs dépendants.
De nouvelles clés telles que deploy.placement.preferences, deploy.resources.pids et deploy.resources.reservations.devices permettent un placement flexible des services et des limites des ressources. Les builds multicontextes et les builds privilégiés sont désormais pris en charge à l'aide de build.additional_contexts et build.privileged.
Parmi les options supplémentaires, citons les configurations cgroup, les mappages extra_hosts personnalisés et healthcheck.start_interval. Les paramètres de port améliorés et secrets.environment simplifient maintenant la gestion des secrets à l'aide de variables d'environnement.
Améliorations pour OpenTofu et Terraform
La prise en charge d'OpenTofu est désormais disponible. Cette mise à jour inclut la saisie semi-automatique des méthodes de chiffrement, des fournisseurs de clés et des inspections pour les références inconnues.
Les actions de configuration d'exécution de Terraform sont accessibles à l'aide de Search Everywhere, et l'EDI détecte automatiquement les variables et les éléments locaux inutilisés pour garder votre code propre. JetBrains a affiné les contrôles pour Init, Validate, Plan, Apply et Destroy et simplifié le formulaire Run Configuration. Des indicateurs d'utilisation améliorés et des avertissements pour les ressources inutilisées améliorent par ailleurs la navigation et vous aident à identifier le code inactif.
Nouveautés et téléchargement de PyCharm 2024.3