Nouveautés d'IntelliJ IDEA 2024.3

IntelliJ IDEA 2024.3 introduit toute une gamme de nouvelles fonctionnalités puissantes qui amènent votre expérience de développement à un niveau supérieur. L'IDE offre désormais une représentation de la structure logique de votre code, simplifie l'expérience de débogage des applications Kubernetes, fournit un accès aux journaux Kubernetes à l'échelle du cluster et inaugure la sortie de la phase bêta du mode K2. Parcourez cette page pour découvrir le détail des nouveautés de tous les aspects de l'IDE.

Principales nouveautés

Structure de code Logical dans la fenêtre d'outil Structure
Ultimate

La fenêtre d'outil Structure inclut maintenant une structure de code Logical en plus de la structure Physical que vous connaissez. Cela vous permet de visualiser non seulement les classes, les méthodes et les champs, mais également les liens et les interactions entre les composants de votre projet. Par exemple, lorsque vous ouvrez un contrôleur dans une application Spring Boot, vous pouvez voir ses points de terminaison et les composants de l'application câblés automatiquement. Cette vue améliorée vous aide à comprendre la structure du projet et vous permet de naviguer dans le projet en suivant à la fois les utilisations du code et les connexions significatives.

Amélioration de l’expérience de débogage pour les applications Kubernetes
Ultimate

Nous avons rendu le débogage des applications Kubernetes encore plus facile. Vous pouvez activer le débogage de tunnel simplement, en cliquant sur les points de suspension à côté du bouton Debug, puis en sélectionnant Add Tunnel for Remote Debug. Votre poste de travail devient alors une partie virtuelle du cluster Kubernetes, ce qui vous permet de substituer un pod et de déboguer les microservices localement avec vos outils préférés. D'autres microservices interagiront avec votre poste de travail comme s'il s'agissait du pod que vous déboguez, avec un accès réseau complet au reste du cluster. Même les débogueurs ne prenant pas en charge Kubernetes fonctionnent sans problème. En outre, la nouvelle section Forward Ports de l'interface utilisateur de Kubernetes située sous la fenêtre d'outil Services simplifie la redirection de port.

Journaux du cluster Kubernetes
Ultimate

IntelliJ IDEA 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é fournit une vue centralisée de tous les événements sur les pods, nœuds et services, ce qui vous aide à identifier les problèmes rapidement, sans avoir à vérifier 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. Apprenez-en plus sur cette fonctionnalité et découvrez comment l'utiliser dans cet article de blog.

Mode Kotlin K2 stable

Avec IntelliJ IDEA 2024.3, le mode K2 sort officiellement de sa phase bêta. Il est maintenant stable et prêt pour une utilisation générale. Le mode K2 améliore considérablement la stabilité de l'analyse du code Kotlin, l'efficacité de la consommation de mémoire et les performances globales de l'IDE. Il apporte une meilleure une parité de fonctionnalités avec Java et la prise en charge de toutes les fonctionnalités de Kotlin 2.1. Pour en savoir plus sur ses avantages, allez dans Settings/Preferences | Languages & Frameworks | Kotlin.

AI Assistant

Prompts d'IA inline

IntelliJ IDEA 2024.3 inaugure les prompts d'IA inline, qui offrent un moyen fluide d'interagir avec l'AI Assistant directement dans l'éditeur. Vous pouvez saisir des requêtes en langage naturel, que l'AI Assistant interprète et convertit instantanément en modifications du code, signalées en violet dans la gouttière pour en faciliter le suivi. Les prompts d'IA inline prennent en compte le contexte et incluent automatiquement les fichiers et symboles associés pour une génération de code plus précise. Cette fonctionnalité est disponible va un abonnement à l'AI Assistant et prend en charge les formats de fichiers Java, Kotlin, Scala, Groovy, JavaScript, TypeScript, Python, JSON et YAML.

Gestion du contexte améliorée

Avec cette mise à jour, nous avons amélioré la gestion du contexte que l’AI Assistant prend en compte pour faire ses suggestions en la rendant plus transparente et intuitive. 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 afin que vos instructions concernant les réponses de l'AI Assistant soient respectées 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.

Prise en charge du modèle local via Ollama

En plus des modèles basés sur le cloud, vous pouvez connecter le chat par IA aux modèles locaux disponibles via Ollama. Cela est particulièrement utile pour les utilisateurs qui souhaitent avoir plus de contrôle sur leurs modèles d'IA, afin d'offrir davantage de confidentialité, de flexibilité et la possibilité d'exécuter les modèles sur du matériel local.

Pour ajouter un modèle Ollama au chat vous devez activer la prise en charge d'Ollama dans les paramètres de l'AI Assistant et configurer la connexion à votre instance Ollama.

Java et Kotlin

Améliorations en conditions constantes

Dans la version 2024.3, le moteur de flux de données d'IntelliJ IDEA gère les cas d'alias avec plus de précision, ce qui contribue à réduire le nombre de faux positifs lors des inspections et procure une expérience de codage plus fiable. Cette amélioration s'applique à la fois à Kotlin et à Java et permet une meilleure analyse pour les cas dans lesquels les références peuvent pointer vers la même instance.

Améliorations pour l'outil de formatage du code Java

L'outil de formatage du code d'IntelliJ IDEA permet désormais de conserver des lignes vides entre les annotations et les déclarations de champs, un style couramment utilisé dans les entités JPA pour améliorer la lisibilité. Auparavant, l'outil de formatage supprimait ces lignes par défaut. La nouvelle option permettant de contrôler ce comportement se trouve sous Settings | Editor | Code Style | Java | Blank Lines.

Prise en charge des fonctionnalités expérimentales de Kotlin 2.1

Quand le mode K2 est activé, IntelliJ IDEA prend en charge deux fonctionnalités expérimentales du langage Kotlin 2.1. Tout d'abord, vous pouvez maintenant utiliser des instructions break et continue non locales à l'intérieur des lambdas passées comme arguments aux fonctions inline. L'autre fonctionnaltés prise en charge est l'interpolation multi-dollars, qui facilite le travail avec les chaînes contenant des symboles $ littéraux et élimine le besoin de recourir à des solutions de contournement telles que ${'$'}. Cette fonctionnalité est particulièrement utile lorsqu'on déclare des schémas JSON dans le code par exemple.

Scala

Prise en charge de Scala 3

IntelliJ IDEA vous offre maintenant la possibilité d'utiliser l'inférence de type basée sur le compilateur pour les appels de méthodes inline transparents dans Scala 3. Cette amélioration renforce la prise en charge des bibliothèques qui s'appuient sur des macros, en offrant toutes les fonctionnalités basées sur le type, telles que la saisie semi-automatique de code, la navigation, et les indications de type, pour le code basé sur des macros. Cette fonctionnalité est actuellement expérimentale.

IntelliJ IDEA 2024.3 offre une prise en charge complète des tuples nommés, une nouvelle fonctionnalité expérimentale de Scala 3.5 qui deviendra une fonctionnalité standard dans Scala 3.6. Comme leur nom l'indique, les tuples nommés vous permettent de nommer les composants d'un tuple afin qu'ils puissent être désignés et accessibles avec des noms significatifs.

Par ailleurs, IntelliJ IDEA reconnaît mieux les types opaques. Il était déjà capable de reconnaître le mot-clé opaque, mais en pratique, il gérait les types opaques comme des alias de type standard (c'est-à-dire transparents). Les types opaques sont désormais traités comme des types abstraits : leur définition sous-jacente et leur implémentation interne sont masquées.

Scala CLI

Lorsque vous ouvrez un dossier contenant un fichier project.scala avec la configuration de votre projet, IntelliJ IDEA reconnaît désormais qu'il s'agit d'un projet Scala CLI. Vous pouvez également créer un nouveau projet Scala CLI basé sur BSP dans l'assistant New Project et y ajouter de nouveaux fichiers Scala, comme vous le feriez pour les projets basés sur sbt.

Nouveau modèle pour les projets sbt

Le modèle de projet d'IntelliJ IDEA représente désormais les projets sbt avec plus de précision, en séparant les sources de production et de tests en modules distincts. Ce nouveau modèle améliore la gestion des dépendances et donne la possibilité de configurer des options de compilateur distinctes pour différentes portées. Cette fonctionnalité est actuellement en version bêta.

Amélioration de la mise en évidence basée sur le compilateur

Nous avons réduit le nombre de cas dans lesquels plusieurs compilations étaient nécessaires. Par exemple, les cas dans lesquels les refactorisations concernant plusieurs fichiers génèrent de nombreuses requêtes de compilation. Dans sa nouvelle version, IntelliJ IDEA analyse et regroupe ces requêtes, puis émet une seule requête avec une portée de compilation plus large. Cela réduit l'utilisation des ressources du processeur et optimise l'expérience de mise en évidence du compilateur.

Nous avons également corrigé certains cas dans lesquels l'IDE affichait des erreurs en double, provenant à la fois de l'analyseur Scala et du compilateur.

Expérience utilisateur

Vérifications orthographiques et grammaticales lors de l'indexation

En nous appuyant sur les progrès réalisés dans la version 2024.2, nous avons augmenté 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.

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

Nous avons 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'IDE 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.

Emplacement optimisé pour l'action Rename

Nous avons optimisé le placement 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'outil Project. L'action se trouve désormais en haut, ce qui permet aux utilisateurs ayant souvent recours à la souris de renommer rapidement les fichiers, les variables et d'autres éléments.

Mise en évidence de toutes les occurrences du texte sélectionné

Par défaut, IntelliJ IDEA 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. Si vous préférez le comportement précédent, vous pouvez désactiver cette fonctionnalité dans Settings | Editor | General | Appearance.

Nouvelle icône pour les messages et les fichiers i18n

Cette version facilite la distinction entre messages et fichiers i18n grâce à de nouvelles icônes dédiées. Cette mise à jour vous aide à repérer et à gérer rapidement les fichiers de localisation dans vos projets, ce qui les rend plus faciles à différencier des fichiers de configuration.

Fenêtre contextuelle New mise à jour pour les racines sources Java

La fenêtre contextuelle New, qui permet d'ajouter des fichiers aux racines sources Java, affiche désormais uniquement les options les plus pertinentes afin de réduire l'encombrement et de simplifier votre workflow. Si vous préférez la liste étendue de modèles précédente, vous pouvez facilement la restaurer dans Settings | Advanced Settings | Java.

Barre d'outils flottante pour les fichiers JSON, XML et YAML

Nous avons activé la barre d'outils flottante pour les fichiers JSON, XML et YAML, ce qui facilite l'accès aux actions basées sur le contexte et pilotées par l'IA. Sélectionnez simplement un morceau de code et la barre d'outils avec les actions disponibles s'affichera.

Terminal

Améliorations pour le nouveau terminal
Bêta

Le nouveau terminal offre désormais un meilleur traitement des commandes 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. Nous avons é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.

Systèmes de contrôle de version

Option efficace pour effectuer un commit des modifications depuis l'éditeur

Le commit des modifications directement depuis l'éditeur est désormais plus rapide et plus simple. Après avoir modifié une ligne de code, cliquez sur le marqueur dans la gouttière. Dans la fenêtre contextuelle qui s'affiche, vous pouvez altérer vos modifications ou effectuer un nouveau commit, et vous avez même la possibilité d'y ajouter un message de commit directement.

Génération de titres et de descriptions pour les requêtes d'extraction et de fusion

L'AI Assistant permet désormais de générer des titres et des descriptions précis pour vos requêtes d'extraction et de fusion directement à partir de l'IDE. Cela simplifie votre workflow et garantit que vos descriptions soient claires et concises.

Mises à jour de Find in Files

La fonctionnalité Find in Files a été améliorée avec 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, ce qui vous permet de vous concentrer uniquement sur le code pertinent lorsque vous faites des 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.

Nom de la branche sur l'écran Welcome

L'écran Welcome affiche désormais le nom de la branche pour vous aider à rester organisé lorsque vous gérez plusieurs versions de projet et vous permettre de basculer facilement entre les répertoires de travail.

Débogueur

Expérience utilisateur améliorée pour la fonctionnalité HotSwap

Nous avons simplifié l'utilisation de la fonctionnalité HotSwap, qui est maintenant plus intuitive. Cette fonctionnalité permet de recharger les classes modifiées lors d'une session de débogage sans redémarrer l'application. Lorsque vous modifiez du code avec une session de débogueur active, IntelliJ IDEA détecte automatiquement les modifications et vous invite à les recharger via un bouton pratique dans l'éditeur. Cela simplifie le processus de développement en permettant des mises à jour du code en temps réel. N'oubliez pas cependant que HotSwap présente certaines limites, notamment en ce qui concerne les changements structurels. Vous pouvez en apprendre plus à ce sujet ici.

Action d'intention pour créer des points d'arrêt d'exception

Vous pouvez désormais définir des points d'arrêt d'exception depuis l'éditeur. À l'emplacement de throw ou de catch, ouvrez le menu contextuel via ⌥↩ sous macOS ou Alt+Entrée sous Windows/Linux, puis sélectionnez Enable exception breakpoint. Avec cette nouvelle fonctionnalité, la définition des points d'arrêt d'exception est plus simple, car vous n'avez pas besoin d'ouvrir la boîte de dialogue Breakpoints, ni de parcourir la trace de la pile dans la console.

Indication du temps d'exécution de chaque ligne

Dans IntelliJ IDEA 2024.3, vous n'avez plus besoin d'ajouter des journaux et des minuteurs à votre code pour mesurer le temps d'exécution d'un groupe de lignes. Après avoir appelé l'action Run to Cursor, les temps d'exécution pour chaque ligne s'affichent directement dans la gouttière de l'éditeur. Pour une analyse plus approfondie, utilisez les mêmes indications dans la gouttière pour accéder aux méthodes appelées, dont les lignes respectives seront également accompagnées de données sur le temps d'exécution.

Trace de pile fusionnée pour le code asynchrone

IntelliJ IDEA 2024.3 facilité la résolution des problèmes du code asynchrone, dans lequel les tâches sont planifiées dans un thread et exécutées dans un autre, chaque thread ayant sa propre trace de pile. L'IDE imprime désormais une trace de pile fusionnée dans la console au lieu d'imprimer seulement la trace de pile du worker, ce qui facilite le suivi du flux d'exécution. Cette amélioration est activée par défaut pour les tests.

Visualisation des collections dans le débogueur

Dans IntelliJ IDEA 2024.3, vous pouvez maintenant parcourir les collections pendant le débogage. Dans la vue Variables ou dans l'éditeur, cliquez sur View à côté d'un objet de collection pour afficher une liste paginée des entrées et une vue structurelle permettant d'inspecter les objets individuels.

Profileur

Graphique d'utilisation de la mémoire du tas
Ultimate

Le profileur a été amélioré avec un l'ajout d'un graphique d'utilisation de la mémoire du tas, qui s'affiche dans l'onglet Timeline au-dessus des couloirs de threads. Cette nouvelle visualisation vous aide à relier les allocations de mémoire à l'activité des threads, et fournit des analyses qui peuvent révéler d'éventuelles fuites de mémoire et des goulots d'étranglement des performances.

Outils de build

Compilation plus rapide pour les projets multimodules

La compilation parallèle est activée par défaut dans IntelliJ IDEA 2024.3. Dans les versions précédentes, les modules de projet étaient compilés un par un, ce qui n'était pas l'approche la plus efficace pour les grands projets. Dans cette nouvelle version, les temps de compilation sont plus rapides pour tous les projets basés sur Maven compilés par l'IDE, avec une consommation optimisée du processeur et de la mémoire.

Traitement fluide des certificats SSL non fiables

IntelliJ IDEA détecte désormais automatiquement les problèmes liés à SSL lors des synchronisations et des builds Maven. Si un certificat non fiable en est la cause, l'IDE proposera de le résoudre en faisant confiance au certificat. Aucune étape manuelle n'est requise. Cette mise à jour supprime les incertitudes liées à la recherche d'erreurs SSL cryptiques dans les journaux et élimine le besoin de recourir à une gestion manuelle fastidieuse des certificats dans le truststore du JDK.

Prise en charge des référentiels locaux fractionnés de Maven

Nous avons ajouté la prise en charge complète des référentiels locaux fractionnés de Maven, une fonctionnalité introduite dans Maven 3.9. Elle vous permet de séparer les référentiels locaux selon vos besoins. Vous pouvez les regrouper par référentiel distant, stocker les artefacts installés localement dans un dossier dédié, ou encore catégoriser les artefacts par branche à l'aide de préfixes spécialisés. L'activation des référentiels fractionnés dans Maven pouvait auparavant provoquer des échecs de synchronisation dans IntelliJ IDEA, entraînant des problèmes avec les builds ou les dépendances. Leur prise en charge complète garantit maintenant une synchronisation fluide et une gestion efficace des référentiels.

Plugin Bazel pour IntelliJ IDEA
EAP

La première version publique EAP de notre nouveau plugin Bazel pour IntelliJ IDEA est maintenant disponible. Le plugin vous permet actuellement d'ouvrir des projets Bazel pour Java et Kotlin, prend en charge les builds, les tests, l'exécution et le débogage des cibles Bazel, ainsi que la syntaxe, la saisie semi-automatique, la navigation et le débogage Starlark.

Frameworks et technologies

Génération de méthodes dérivées pour les référentiels Spring Data
Ultimate

IntelliJ IDEA peut désormais générer automatiquement les méthodes de requêtes dérivées dans les référentiels Spring Data. Si vous avez besoin d'une méthode de requête dérivée, vous n'avez plus besoin de mettre à jour manuellement le code source du référentiel. Il vous suffit de commencer à saisir le nom de la méthode là où vous en avez besoin et IntelliJ IDEA suggérera des noms de méthode possibles, fournira la signature de méthode et le type de retour appropriés, et mettra à jour le code du référentiel pour vous.

Améliorations de Spring Boot Actuator
Ultimate

IntelliJ IDEA offre désormais une prise en charge améliorée de Spring Boot Actuator. Lorsque Actuator est activé, vous pouvez accéder à davantage d'informations d'exécution dans l'IDE. Tout d'abord, un nouvel onglet Environment dans la fenêtre d'outil Run/Debug affiche les valeurs des variables utilisées par votre application, y compris les propriétés système, les variables d'environnement et les propriétés de configuration.

Vous pouvez en outre voir quelles conditions ont été déclenchées lors de l'exécution pour l'instanciation du bean, ce qui peut être particulièrement utile lors du débogage d'une application, pour comprendre pourquoi un bean ne fonctionne pas. De plus, une nouvelle icône de gouttière met en évidence toutes les conditions spécifiques qui ont échoué pour vous aider à identifier les problèmes plus rapidement.

Mises à jour du client HTTP
Ultimate

IntelliJ IDEA 2024.3 introduit la possibilité d'accéder aux variables d'environnement directement dans le client HTTP à l'aide de la syntaxe $env.ENV_VAR. Cela permet davantage de flexibilité pour la gestion et l'utilisation des variables dans vos requêtes et scripts. De plus, il est désormais possible d'importer et d'exécuter des requêtes, toutes en une seule fois ou avec des requêtes spécifiques par nom, d'un fichier .http à un autre.

Disponibilité de Ktor 3.0
Ultimate

Ktor 3.0, qui offre des outils permettant de créer des applications serveur sur la JVM avec Kotlin, est disponible, et apporte de nouvelles fonctionnalités et des performances améliorées. La nouvelle version utilise Kotlin 2.0 et passe à la bibliothèque kotlinx-io pour améliorer les performances des opérations liées aux IO. En savoir plus.

Expérience de débogage simplifiée pour les images natives GraalVM
Ultimate

Nous avons considérablement simplifié l'expérience de débogage des images GraalVM natives avec des conteneurs Docker, ce qui permet de créer et de déboguer des applications Java natives sur n'importe quelle plateforme. Spécifiez simplement un conteneur pour créer votre application et un autre pour l'exécuter dans la configuration d'exécution. Une fois l'application en cours d'exécution, vous pouvez la déboguer non seulement dans le code Java, mais également au niveau de l'assembleur. Pour faciliter la configuration, nous fournissons des images Docker préconfigurées avec tous les logiciels et bibliothèques nécessaires.

Améliorations pour OpenTofu et Terraform
Ultimate

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 via Search Everywhere, et l'IDE détecte automatiquement les variables et les éléments locaux inutilisés pour garder votre code propre. Nous avons affiné les contrôles pour Init, Validate, Plan, Apply et Destroy et simplifié le formulaire Run Configuration. Les indicateurs d'utilisation améliorés et les avertissements pour les ressources inutilisées améliorent par ailleurs la navigation et vous aident à identifier le code inactif.

Prise en charge améliorée des conteneurs de développement
Ultimate

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'IDE dans les conteneurs de développement à l'aide des fichiers devcontainer.json ou en utilisant le bouton Add currently modified settings from IDE, et vous bénéficiez de la saisie semi-automatique pour toutes les options disponibles.

Améliorations de Docker Compose
Ultimate

IntelliJ IDEA 2024.3 fournit une prise en charge étendue 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, vous trouverez 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élioration de la prise en charge des projets dans WSL
Ultimate

Nous continuons d'améliorer la fiabilité des projets hébergés dans le sous-système Windows pour Linux (WSL) et ouverts à partir de Windows dans l'IDE. Nous avons notamment introduit la prise en charge des liens symboliques et amélioré les performances en passant aux sockets Hyper-V pour l'interaction avec WSL. Nous continuons à travailler sur des modifications importantes de la plateforme pour améliorer les performances avec les environnements distants, notamment WSL.

Kubernetes

Prise en charge des politiques réseau
Ultimate

L'IDE prend désormais en charge les politiques de réseau, utilisées pour gérer le trafic réseau entre les pods d'un cluster. Elles vous permettent de définir quels pods peuvent envoyer ou recevoir du trafic provenant d'autres pods, services ou sources externes. Les principaux objectifs des politiques réseau sont de contrôler et de restreindre le trafic réseau, de gérer l'isolement des pods, d'assurer la sécurité et de réguler l'accès externe.

Développement Web

Des résultats de recherche plus propres pour les répertoires
Ultimate

IntelliJ IDEA exclut désormais les résultats node_modules par défaut lors de l'utilisation de Find in Files dans les répertoires de projet, 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.

Amélioration de la navigation et du renommage pour les composants de frameworks
Ultimate

Nous avons amélioré les conseils 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. Nous avons é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.

Améliorations pour Angular
Ultimate

Pour les projets avec Angular 19, IntelliJ IDEA passe désormais par défaut en mode autonome pour les composants, les directives et les pipes. Des correctifs rapides ont été ajoutés pour faciliter la conversion entre les composants autonomes et non autonomes. Les importations autonomes inutilisées peuvent être automatiquement supprimées pendant le reformatage du code ou via une nouvelle inspection. La prise en charge de la syntaxe @let a également été améliorée.

Outils de base de données

Texte vers SQL : affichage d'un diff dans l'éditeur pour les résultats générés par l'IA
Ultimate

Nous avons amélioré l'expérience d'utilisation de l'AI Assistant dans l'éditeur. Désormais, lorsque vous demandez à l'AI Assistant de faire quelque chose avec un morceau de code, l'éditeur affiche un diff contenant le code d'origine et le code généré. Les suggestions de l'AI Assistant sont mises en évidence avec couleur différente et signalées par le bouton Revert dans la gouttière. Vous pouvez également modifier vous-même la requête obtenue directement dans le diff. Vos modifications sont mises en évidence de la même manière. Par exemple, vous pouvez demander à l'AI Assistant d'extraire davantage de données avec une requête, puis ajouter une clause ORDER BY pour le résultat généré.

Traitement des erreurs SQL par l'AI Assistant
Ultimate

Plusieurs nouvelles actions utiles pour gérer les erreurs d'exécution des requêtes SQL avec l'AI Assistant sont accessibles dans la zone des messages d'erreur. Explain with AI ouvre le chat par IA avec le prompt automatiquement envoyé et la réponse de l'AI Assistant contenant une explication de l'erreur. L'action Fix with AI génère un correctif pour l'erreur d'exécution de la requête dans l'éditeur.

Inspection pour un nombre excessif de clauses JOIN
Ultimate

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'IDE. Pour ce faire, accédez à Editor | Inspections, développez la section SQL et sélectionnez Excessive JOIN count.

Barre d'outils de pagination flottante
Ultimate

Afin de rendre la pagination de la grille plus visible dans l'éditeur de données, nous avons déplacé le contrôle de la barre d'outils vers le centre de la partie inférieure de l'éditeur.

Introspection de fragments et actualisation intelligente pour MySQL et MariaDB
Ultimate

IntelliJ IDEA prend désormais en charge l'introspection des fragments. 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'IDE lançait une introspection complète de l'ensemble du schéma. Cela prenait du temps et pouvait souvent interrompre le workflow.

Maintenant, IntelliJ IDEA 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 ceux-ci. Si vous sélectionnez un seul élément dans Database Explorer et appelez l'action Refresh, un seul objet sera actualisé au lieu du schéma entier comme c'était le cas auparavant.

Autre

Arrêt de la prise en charge du menu global sous Linux

À noter pour les utilisateurs de Linux : la prise en charge du menu global prend fin dans IntelliJ IDEA à partir de la version 2024.3.