IntelliJ IDEA 2023.2 améliore encore l'expérience de développement avec l'introduction de l'AI Assistant, qui offre des fonctionnalités générées par l'IA. La version améliorée d'IntelliJ Profiler fournit des conseils dans l'éditeur, pour un processus de profilage plus intuitif et informatif. Cette version intègre apporte aussi l'intégration avec GitLab, qui aide à simplifier votre workflow de développement, ainsi que de nombreuses mises à jour et perfectionnements notables dont vous trouverez la description ci-dessous.
Cette version d'IntelliJ IDEA se distingue par l'apport d'une nouveauté majeure : l'AI Assistant. Parmi les fonctionnalités générées par IA qu'il fournit actuellement, vous trouverez un chat, la rédaction automatique de commentaires de documentation, la suggestion de noms, ou encore la génération de messages de commits.
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'IA de l'assistant, vous devez installer le plugin AI Assistant 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.
Dans IntelliJ IDEA 2023.2, nous avons amélioré l'IntelliJ Profiler afin qu'il fournisse des informations plus avancées et plus faciles à interpréter sur les performances de votre application. Les nouveaux conseils intégrés à l'éditeur permettent d'analyser rapidement les performances du code ligne par ligne, ce qui facilite l'identification et la résolution des problèmes. Les annotations codées par couleur dans la gouttière de l'éditeur mettent en évidence les méthodes critiques et vous aident à vous concentrer sur les goulots d'étranglement qui nuisent aux performances. Vous gagnez du temps car vous n'avez plus à effectuer une analyse approfondie avec les vues Flame Graph et Call Tree. Apprenez-en plus dans cet article.
IntelliJ IDEA 2023.2 inaugure l'intégration avec GitLab afin de simplifier 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. En savoir plus.
Search Everywhere (Double Maj) s'utilise principalement pour lancer des recherches dans vos fichiers, classes, méthodes, actions et paramètres. Avec cette version, elle inclut désormais des capacités de recherche de texte similaires à celles de Find in Files. 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. La fonctionnalité est activée par défaut et peut être gérée dans Settings/Preferences | Advanced Settings | Search Everywhere.
IntelliJ IDEA 2023.2 introduit des en-têtes colorés pour simplifier la navigation entre plusieurs projets ouverts. Vous pouvez désormais attribuer une couleur et une icône uniques à chacun de vos projets, afin de les distinguer plus facilement dans votre espace de travail. Les couleurs des en-têtes sont prédéfinies par défaut, mais vous pouvez les personnaliser. Pour définir une nouvelle couleur pour votre projet, commencez par faire un clic droit sur un en-tête afin d'accéder au menu contextuel. Sélectionnez ensuite l’option Change Project Color et choisissez une couleur dans la liste de suggestions ou dans la palette. Pour désactiver cette fonctionnalité, il suffit de désélectionner l'option Show Project Gradient dans le menu contextuel.
Nous avons perfectionné le comportement du menu hamburger situé dans la barre d'outils principale de la nouvelle interface utilisateur sous Windows et Linux. Lorsque vous cliquez sur l'icône du menu, les éléments s'affichent désormais horizontalement dans la barre d'outils. Il est également possible de transformer ce menu en une barre d'outils distincte dans View | Appearance | Main menu as a Separate Toolbar.
IntelliJ IDEA 2023.2 offre maintenant la possibilité très attendue de classer les 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 kebab (trois points verticaux) dans la vue Project et sélectionnez Tree Appearance | Sort by Modification Time.
La version 2023.2 affine l'expérience utilisateur avec le thème Light en introduisant l'alternative Light with Light Header, qui comporte des couleurs claires assorties pour les en-têtes des fenêtres, les infobulles et les bulles de notification.
Si vous utilisez le mode plein écran dans la nouvelle interface utilisateur sous macOS, les commandes de la fenêtre s'affichent désormais dans la barre d'outils principale et non plus dans la barre flottante.
Pour le confort des utilisateurs de Linux, l'en-tête natif du système d'exploitation a été supprimé dans la nouvelle interface utilisateur, ce qui lui donne un aspect plus propre. Dorénavant, vous verrez par défaut l'en-tête personnalisé de l'IDE, qui propose de nombreuses options de personnalisation de votre espace de travail. Si vous souhaitez retrouver l’apparence initiale de l’en-tête, décochez l’option Merge main menu with window title dans Settings | Appearance & Behavior | Appearance | UI Options.
Dans Settings / Preferences | Editor | Inspections, la syntaxe des extraits de code est désormais mise en évidence, ce qui vous permet de mieux comprendre ce qui déclenche une inspection et de décider si vous souhaitez l’activer ou pas.
Dans la vue Project, une nouvelle option Open Directories with Single Click rend le développement et la réduction des dossiers de projets plus rapide. Cette option est disponible dans le menu déroulant une fois que vous avez cliqué sur l'icône des trois points verticaux.
Nous avons élargi les options de personnalisation pour la barre d'outils de la nouvelle interface utilisateur. Vous pouvez désormais utiliser un menu déroulant pour choisir rapidement des actions à ajouter à la barre d'outils. Faites un clic droit sur n'importe quel widget et sélectionnez Add to Main Toolbar pour voir les options disponibles.
Afin de faciliter la configuration de l'IDE pour vos projets spécifiques et d'étendre ses fonctionnalités à l'aide de plugins, nous avons mis à jour l'interface utilisateur de la section Settings/Preferences | Plugins. Elle inclut désormais un ensemble de suggestions de plugins défini automatiquement en fonction des spécificités de votre projet, qui s'affiche en haut de la liste.
Nous avons retravaillé l'interface utilisateur pour les actions d'exécution et de débogage dans la fenêtre d'outils Services afin d'harmoniser l'aspect et l'ergonomie de la barre d'outils avec ceux du widget Run/Debug principal.
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 ajouter une configuration d'exécution dans la section Pinned, ouvrez le menu kebab (trois points verticaux) à côté de son nom et sélectionnez Pin. Lorsque vous épinglez plusieurs configurations, vous pouvez facilement les réorganiser dans la liste par glisser-déposer.
Nous avons amélioré et étendu les inspections Java pour favoriser la maintenance d'un code de haute qualité et une détection plus efficace des problèmes potentiels. La nouvelle inspection Incorrect ‘MessageFormat' pattern vous avertit lorsque les références du schéma ne correspondent pas aux arguments et détecte les utilisations incorrectes des guillemets et des accolades dans les schémas MessageFormat
. De plus, l'IDE signale désormais les appels avec des arguments ChronoField
ou ChronoUnit
explicites et suggère de les remplacer par des appels de méthodes plus spécifiques afin de simplifier le code. Pour en savoir plus sur les nouvelles inspections et les autres améliorations de l'analyse de code dans IntelliJ IDEA 2023.2, consultez cet article.
Lorsque vous placez le curseur sur un spécificateur de format, l'IDE met maintenant en évidence l'argument correspondant et les autres spécificateurs qui pointent vers lui. De plus, vous pouvez utiliser Go To Declaration (Ctrl+B) pour accéder à l'emplacement du code qui correspond au spécificateur de chaîne de format.
@snippet
dans les commentaires Javadoc améliorée Nous avons amélioré la fonctionnalité de balise @snippet
dans les commentaires Javadoc, qui permet maintenant les commentaires Markup dans la balise @snippet
et les affiche correctement dans la documentation. De plus, les régions de code sont désormais prises en charge : vous pouvez donc spécifier la partie du code à laquelle vous souhaitez faire référence dans un commentaire Javadoc. L'IDE prend aussi en charge l'inclusion d'extraits externes dans la balise @snippet
, ce qui permet de référencer des extraits de code stockés dans des fichiers ou des sources distincts pour les inclure dans la documentation Javadoc.
Nous avons ajouté de nouveaux moyens d'appliquer certaines refactorisations à plusieurs membres à la fois. Vous pouvez désormais appeler Extract Delegate, Extract Interface, Extract Superclass, Pull Members Up et Push Members Down sur plusieurs membres simultanément en les sélectionnant directement dans la fenêtre d'outils Project ou Structure. De plus, IntelliJ IDEA prend maintenant en charge la sélection multicurseur pour un plus grand nombre de refactorisations, notamment pour Encapsulate Fields, Move Static Members, Extract Delegate, Extract Interface et Extract Superclass. Pour utiliser cette fonctionnalité, placez un caret dans chaque membre auquel vous souhaitez appliquer la refactorisation et l'IDE présélectionnera et cochera automatiquement ces membres dans la boîte de dialogue de refactorisation.
Pour faciliter l'analyse des traces de pile et accélérer la résolution des bugs, IntelliJ IDEA peut maintenant localiser avec précision une méthode dans un rapport, même si les numéros de ligne ne sont pas disponibles ou ont changé.
IntelliJ IDEA offre désormais une meilleure analyse des concaténations et des interpolations SQL en Java et Kotlin, en détectant les requêtes potentiellement dangereuses et en protégeant le code contre d'éventuelles vulnérabilités aux injections SQL.
IntelliJ IDEA 2023.2 apporte une meilleure prise en charge de Scala 3, en mettant notamment l'accent sur la rationalisation du processus de développement. Les améliorations les plus notables incluent des correctifs pour la mise en évidence des enums dans Scala 3, la navigation vers les définitions d'énumération et la résolution correcte des cas d'énumération dans divers contextes. Le décompilateur TASTy a été considérablement amélioré et assure une décompilation précise des bibliothèques Scala populaires, parmi lesquelles Akka, Cats, Play ou ZIO. De plus, l'intégration de scala-expression-compiler
dans le débogueur offre une meilleure expérience de débogage pour les développeurs Scala. De plus, nous avons ajouté la prise en charge de IArray dans l'éditeur et amélioré la saisie semi-automatique pour Universal Apply Methods et la prise en charge de la syntaxe avec « moins d'accolades ».
Cette version apporte de nombreuses améliorations à la prise en charge de sbt dans IntelliJ IDEA. Les variables d'environnement définies pour sbt sont conservées et gérées correctement après la réouverture du projet. La page de configuration File | Settings | Build, Execution, Deployment | Build Tools | sbt a été remaniée pour en simplifier l'utilisation et un nouveau champ Environment variables a été ajouté pour permettre de transmettre des variables d'environnement personnalisées au processus sbt-shell.
Dans cette version, la documentation rapide de ScalaDoc s'aligne plus étroitement sur celle de Javadoc. Les annotations, les mots-clés et les littéraux dans les déclarations affichées sont désormais mis en évidence en fonction du thème sélectionné. La liste des traits et classes étendus est répartie sur plusieurs lignes si elle excède l'espace disponible. De plus, les mots-clés de Scala 3 sont désormais pris en charge dans la documentation.
La nouvelle version apporte de nombreux correctifs pour l'inférence de type incorrecte dans certains cas complexes ou rares, comme lorsque les types ont des liaisons compliquées, lorsqu'une hiérarchie de traits scellés n'est pas claire ou lorsque la correspondance de modèles est complexe.
Compte tenu des récentes améliorations des performances de Zinc, nous en avons fait le compilateur incrémental par défaut dans la version 2023.2. Cela vous garantit une prise en charge complète de la compilation incrémentale des nouvelles fonctionnalités de Scala 3, notamment des méthodes inline
.
Les sous-dossiers du dossier cible ne sont plus automatiquement considérés comme sources, sauf s'ils sont signalés comme gérés. Cela permet d'accélérer la recherche dans les projets qui génèrent du code source. L'IDE fournit maintenant une meilleure prise en charge pour sbt-projectmatrix
.
Dans IntelliJ IDEA 2023.2, vous pouvez facilement accéder aux fonctionnalités de l'IntelliJ Profiler, directement depuis la fenêtre d'outils Run. Les nouveaux boutons permettent d'appeler les actions Attach IntelliJ Profiler et Capture Memory Snapshot en un clic, sans avoir à ouvrir la fenêtre d'outils Profiler ou à démarrer l'application à partir de zéro.
Nous avons amélioré l'expérience de profilage dans IntelliJ IDEA 2023.2 en faisant du mode de profilage du temps réel écoulé (« wall-clock ») l'option par défaut. Ce mode de profilage prend en compte le temps total passé dans une méthode, y compris le temps d'attente. Avec la milliseconde comme unité de mesure, c'est l'option la plus puissante et intuitive.
Mono
et Flux
de Reactor Lors du débogage de votre application réactive, vous pouvez maintenant facilement évaluer les valeurs des surveillances et des variables locales pour les types Mono
et Flux
. L'IDE les détecte maintenant pendant les sessions de débogage et fournit un lien get
ou collectList
correspondant dans la vue Variables, sur lequel vous pouvez cliquer pour calculer instantanément les éléments Reactive Streams. Par défaut, le débogueur récupère les 100 premiers éléments de Flux
. Vous pouvez paramétrer ce nombre dans File | Settings | Languages & Frameworks | Reactive Streams.
Nous avons étendu les capacités de la fonctionnalité d'auto-test pour la rendre entièrement compatible avec les systèmes de build Maven, Gradle et JPS. Nous avons également facilité l'activation du mode de test continu. Pour l'activer, utilisez le nouveau bouton Rerun Automatically situé dans la fenêtre d'outils Run/Debug. Chaque fois que vous enregistrez vos modifications, les tests s'exécutent automatiquement, ce qui vous permet d'obtenir un retour d'information immédiat sur les mises à jour de votre code.
IntelliJ IDEA offre désormais une meilleure prise en charge de la définition de points d'arrêt directement au niveau de l'instruction return, de manière similaire à ce qui se faisait déjà avec les expressions lambda. Cette amélioration permet aux développeurs de bénéficier d'un débogage plus précis et d'une analyse du code plus approfondie, avec des informations utiles sur le comportement du code et les valeurs de retour. Pour définir un point d'arrêt inline, faites simplement un clic droit sur la gouttière située à côté de l'instruction et sélectionnez l'option return.
IntelliJ IDEA 2023.2 introduit une fonctionnalité très attendue qui permet d'effectuer un commit sélectif de certaines parties 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.
IntelliJ IDEA 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.
Avec IntelliJ IDEA 2023.2, vous pouvez exécuter et déboguer des applications déployées sur Tomcat sur le sous-système Windows pour Linux (WSL). Pour travailler avec des applications basées sur Tomcat sur WSL, vous devez déclarer la variable d'environnement JAVA_HOME
dans le fichier /etc/environment
ou ~/.bashrc
.
Vous pouvez désormais envoyer des requêtes gRPC avec le protocole TLS (Transport Layer Security) dans le client HTTP. TLS assure le cryptage et l'authentification, ce qui garantit la confidentialité et l'intégrité de 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.
L'IDE offre à présent une meilleure expérience utilisateur lors de la mise en place des configurations Swagger Codegen. Nous avons retravaillé la boîte de dialogue Edit Swagger Codegen Configuration pour faciliter l'adaptation des configurations d'exécution à vos besoins. De plus, vous pouvez désormais accéder aux configurations d'exécution de Swagger Codegen directement à partir de la gouttière, sans avoir à spécifier de paramètres supplémentaires.
Le client HTTP est désormais 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êtes JSON.
IntelliJ IDEA 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 d'IntelliJ IDEA et l'utiliser pour définir des paramètres et envoyer des requêtes à votre API.
L'IDE propose maintenant une saisie semi-automatique pour les clés d'objets JSON dans le code JavaScript, par exemple dans le code utilisant des appels fetch()
ou références à la bibliothèque Axios. Les points de terminaison du serveur Spring MVC sont actuellement pris en charge et d'autres frameworks de serveur sont prévus à l'avenir.
IntelliJ IDEA 2023.2 permet de partager du code JavaScript commun pour les gestionnaires de requêtes du client HTTP via des modules importés.
IntelliJ IDEA affiche désormais des aperçus de fichiers PDF et HTML directement dans les résultats de la requête dans le client HTTP.
Vous pouvez désormais utiliser l'interface en ligne de commande du client HTTP dans IntelliJ IDEA pour interagir avec les API GraphQL et établir des connexions WebSocket avec des services, par exemple pour des tests ou des scripts d'automatisation.
Lors de la mise en place d'une nouvelle configuration d'exécution de Spring Boot, le champ VM Options fournit des options de saisie semi-automatique pour les clés apparaissant après l'indicateur -D
.
IntelliJ IDEA facilite le travail avec des beans de configuration personnalisés. L'IDE propose maintenant la saisie semi-automatique et la validation du code dans les propriétés et dans les fichiers de configuration YAML, sans avoir à configurer le processeur d'annotation de configuration Spring Boot.
Nous avons étendu la prise en charge d'IntelliJ IDEA à l'utilisation d'AspectJ dans les applications Spring. L'IDE propose désormais l'analyse et la saisie semi-automatique du code Kotlin, tout comme il le faisait déjà pour le code Java.
In IntelliJ IDEA 2023.2, we’ve introduced a new inspection to eliminate the so-called “Norway problem” and prevent the unintended misinterpretation of Boolean values in YAML files. Lorsqu'une liste se compose principalement de chaînes de caractères mais qu'elle contient un littéral de type booléen, IntelliJ IDEA met en évidence ce littéral pour indiquer une incohérence potentielle et suggère d'y ajouter des guillemets. Si la liste est principalement composée de littéraux de type booléen (tels que true
, false
, off
, on
, yes
ou no
), tout littéral qui s'écarte de ce schéma est mis en évidence en tant qu'erreur possible, bien qu'aucun correctif rapide spécifique ne soit suggéré dans ce scénario.
Travailler avec le format de spécification AsyncAPI dans IntelliJ IDEA est maintenant beaucoup plus facile. L'IDE prend en charge la fonctionnalité de validation des schémas et fournit la saisie semi-automatique de code pour les références, la vue Endpoints et le volet Editor Preview.
Vous pouvez désormais accéder facilement au contenu d'une couche d'image Docker et de le prévisualiser 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 ouvre une liste des fichiers stockés dans la couche. Vous pouvez 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).
Il est désormais possible de définir une configuration Docker run 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.
Nous avons introduit une nouvelle fonctionnalité qui vous permet de configurer plusieurs fichiers kubeconfig au sein d'un même projet. Cela simplifie la gestion de multiples 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.
Vous pouvez maintenant consulter les journaux d'activité pour les déploiements dans les clusters Kubernetes dans la fenêtre d'outils Services. Faites un clic droit sur Deployment dans l'arbre et sélectionnez Follow Log ou Download Log dans le menu contextuel.
Nous avons cherché à améliorer la présentation des erreurs de type en JavaScript et TypeScript dans IntelliJ IDEA 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.
IntelliJ IDEA 2023.2 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.
La prise en charge du serveur de langage Vue (VLS), aussi appelé Volar, améliore la précision de la détection d'erreurs ainsi que les informations sur les types dans les fenêtres contextuelles de navigation et de documentation rapides. Par défaut, VLS sera utilisé pour TypeScript v5.0 et ses versions ultérieures, et le wrapper du service TypeScript sera utilisé pour les versions antérieures de TypeScript. Vous pouvez configurer le service Vue pour utiliser l'intégration VLS sur toutes les versions de TypeScript dans Settings | Languages & Frameworks | TypeScript | Vue.
Nous avons ajouté un nouvel ensemble de live templates pour les hooks React dans Settings | Editor | Live Templates | React hooks. Pour utiliser un live template, saisissez son abréviation dans l'éditeur et appuyez sur la touche Tab pour le développer.
IntelliJ IDEA 2023.2 simplifie la configuration des outils d'analyse statique en intégrant pleinement JetBrains Qodana, notre moteur d'analyse statique intelligent conçu pour s'adapter à tout pipeline de CI/CD. Cette intégration apporte deux avantages majeurs. Tout d'abord, la simplicité de configuration vous permet de déclencher des analyses en quelques clics, de visualiser les problèmes à l'échelle du projet et de mettre en place des murs qualité dans votre système de CI/CD préféré. Deuxièmement, vous pouvez désormais voir les résultats de l'analyse côté serveur directement dans votre IDE. Pour en savoir plus sur Qodana et sa dernière version, consultez cet article de blog.
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, jdbc:redis:cluster:
doit être saisi avant l'URL souhaitée. Choisissez le type de connexion approprié. 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.
Pour la version 2023.2, nous avons remanié la fonctionnalité de migration des schémas. La principale différence est qu'un même objet est désormais placé sur la même ligne dans les deux parties de la boîte de dialogue. Il est donc plus facile de comprendre quels objets vont être ajoutés, supprimés ou modifiés dans le schéma cible.
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
.
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 également vérifiés de manière introspective.
IntelliJ IDEA is now fully compatible with Maven 4.0.0-alpha, the latest version of Maven.