La version 2023.1 d'IntelliJ IDEA apporte de nombreuses améliorations pour la nouvelle interface utilisateur, qui a été remaniée pour tenir compte des retours d'expérience et demandes que nous avons reçus. Nous avons également amélioré les performances afin d'accélérer l'importation Maven et la disponibilité des fonctionnalités de l'IDE lors de l'ouverture des projets. La nouvelle version offre un processus de commit simplifié grâce aux vérifications des commits en arrière-plan. IntelliJ IDEA Ultimate prend désormais en charge la navigation pour les mappages de requêtes et les matchers de Spring Security. Cette mise à jour fournit aussi toute une série d'améliorations et de perfectionnements notables, dont vous trouverez la présentation détaillée ci-dessous.
Visitez cette page pour en savoir plus sur la nouvelle interface utilisateur.
Suite aux retours que nous avons reçus concernant la nouvelle interface utilisateur de l’IDE, nous avons implémenté plusieurs modifications répondant aux demandes les plus populaires. Nous avons ainsi introduit un mode compact qui donne une apparence plus condensée à l’IDE grâce à la réduction de la taille des espacements et des éléments de l'interface. L’interface utilisateur actualisée inclut maintenant une option qui permet de scinder verticalement la zone des fenêtres d’outils pour mieux organiser les fenêtres, comme avec l’interface précédente. Nous avons remanié le widget Run situé dans l’en-tête de la fenêtre principale afin de le rendre moins voyant et plus agréable à l’œil. Apprenez-en plus sur les améliorations de la nouvelle interface utilisateur apportées par cette version et n'hésitez pas à l'essayer si vous ne l'avez pas encore fait !
Nous avons amélioré l'expérience de démarrage de l'IDE en passant le processus Scanning files to index en mode intelligent. Les fonctionnalités de l'IDE sont ainsi entièrement opérationnelles beaucoup plus tôt dans le processus de démarrage. Lors de l'ouverture d'un projet, IntelliJ IDEA 2023.1 utilise les caches de votre session précédente et recherche simultanément les fichiers à indexer. Les retards causés auparavant par l'indexation au démarrage ont été éliminés : si aucune modification n'est détectée lors de l'analyse, l'IDE est prêt à être utilisé.
Nous avons considérablement amélioré les performances de l'IDE pour l'importation de projets Maven en optimisant la résolution des dépendances et en remaniant les processus d'importation et de configuration des facettes.
Nous avons retravaillé le comportement des vérifications des commits pour Git et Mercurial afin d’accélérer l’ensemble du processus de commit. Les vérifications sont désormais effectuées en arrière-plan, après le commit mais avant le push.
Pour faciliter la visualisation des règles de sécurité appliquées, IntelliJ IDEA Ultimate 2023.1 offre une navigation facile entre les matchers de sécurité et les contrôleurs Spring. La navigation fonctionne dans les deux sens, depuis les matchers de sécurité vers les contrôleurs et inversement.
Dans la version 2023.1, il est possible de zoomer sur l'ensemble de l'IDE afin d'augmenter ou de diminuer la taille de tous les éléments de l'interface en même temps. Dans le menu principal, sélectionnez View | Appearance et ajustez la mise à l'échelle de l'IDE. Vous pouvez également affecter des raccourcis personnalisés à ces actions dans Settings/Preferences | Keymap | Main Menu | View | Appearance.
Dans IntelliJ IDEA 2023.1, vous pouvez enregistrer et gérer plusieurs dispositions de fenêtres d'outils et passer de l'une à l'autre selon vos besoins. Pour enregistrer une nouvelle disposition, organisez les fenêtres d'outils comme vous le souhaitez, puis cliquez sur Window | Layouts | Save Current Layout as New. Si vous décidez de poursuivre vos modifications de disposition, vous pouvez actualiser la configuration actuelle à l'aide de l'option Save Changes in Current Layout ou enregistrer ces modifications pour créer une autre disposition personnalisée. Pour activer une disposition enregistrée, sélectionnez-la dans Window | Layouts et cliquez sur Apply.
IntelliJ IDEA 2023.1 apporte une nouvelle option de disposition qui permet d'unifier la largeur des fenêtres d'outils latérales ou de conserver la possibilité d'ajuster librement leur taille. La nouvelle case à cocher Remember size for each tool window est disponible dans Settings/Preferences | Appearance & Behavior | Tool Windows. Apprenez-en plus sur le fonctionnement de ce paramètre pour la nouvelle interface utilisateur et pour l'ancienne dans cet article de blog.
Nous inaugurons une option permettant d'ouvrir un nouveau projet contenant un exemple de code et des conseils pour les nouveaux utilisateurs d'IntelliJ IDEA et les développeurs débutants. Dans l'assistant New Project, cochez Generate code with onboarding tips pour obtenir un projet sandbox basique qui inclue des conseils sur l'utilisation des fonctionnalités essentielles de l'IDE. Ce petit guide permet aux utilisateurs d'essayer la fonctionnalité Search Everywhere, d'appliquer un correctif rapide, ou encore d'exécuter et de déboguer du code, afin de les aider à se familiariser plus facilement avec l'IDE.
IntelliJ IDEA 2023.1 fournit une option qui permet de prédéfinir le comportement d'Actions on Save pour les nouveaux projets. Pour ce faire, cliquez sur File | New Projects Setup | Preferences For New Projects | Tools | Actions on Save et sélectionnez les actions à déclencher lorsque vous enregistrerez vos modifications dans de futurs projets.
Nous poursuivons nos efforts d'intégration du classement par machine learning dans la fonctionnalité Search Everywhere (Double Maj) pour vous permettre d'obtenir des résultats de recherche plus pertinents et précis. L'algorithme de tri de l'onglet Classes est maintenant généré par le machine learning par défaut, de même que les résultats dans les onglets Actions et Files.
IntelliJ IDEA 2023.1 inclut une nouvelle notification qui se déclenche lorsque la protection en temps réel de Microsoft Defender est activée. Ces contrôles antivirus pouvant impacter considérablement la vitesse de l'IDE, IntelliJ IDEA suggère d'ajouter certains dossiers à la liste d'exclusions de Defender. La notification propose des options pour reconfigurer ces paramètres automatiquement ou pour consulter les instructions de configuration de Defender avant de le faire manuellement.
La version 2023.1 améliore l'expérience utilisateur pour le collage d'une ligne copiée ou coupée sans sélection. Il existe maintenant un paramètre qui permet de contrôler l'emplacement du contenu collé. Dans Settings/Preferences | Advanced Settings, allez dans la section Editor et sélectionnez le comportement souhaité pour l'action Paste dans la liste déroulante.
IntelliJ IDEA 2023.1 fournit une nouvelle case à cocher Selection dans Settings/Preferences | Editor | General | Appearance | Show Whitespaces, qui permet de configurer ce paramètre afin que l'IDE affiche les espaces sous forme de petits points uniquement lorsque vous sélectionnez du code.
Avec IntelliJ IDEA 2023.1 vous pouvez utiliser des expressions régulières pour créer vos propres inspections de recherche et de remplacement. Ces inspections sont particulièrement utiles pour mettre en évidence les problèmes liés au style ou au formatage. Apprenez-en plus dans cet article de blog.
Une nouvelle action d'intention vous permet de corriger le formatage des tableaux dans les fichiers Markdown. Vous pouvez accéder au correctif rapide à l'aide du raccourci Context actions (Alt+Entrée) ou en cliquant sur l'icône d'ampoule jaune pour sélectionner Reformat table dans la liste qui s'affiche.
L'action de l'éditeur Fill Paragraph est maintenant prise en charge pour les fichiers Markdown et vous permet de fractionner de longs textes en plusieurs lignes de même longueur. Pour ce faire, placez le curseur dans le paragraphe à modifier et appelez l'action à partir du menu Edit ou cherchez la commande Fill Paragraph à l'aide de Find Action (Ctrl+Maj+A).
Nous avons ajouté une page dédiée à la configuration et à la modification de vos préférences Markdown dans Settings/Preferences | Editor | General | Smart Keys. Afin de faciliter la gestion de vos préférences, cette page fournit des cases à cocher distinctes pour diverses fonctionnalités de l'éditeur, en remplacement de la case unique précédemment disponible dans Settings/Preferences | Languages & Frameworks.
Nous avons modifié l'inspection Typo afin qu'elle ne contrôle plus l'orthographe des hashes et des valeurs spéciales et ne les signale plus comme mal orthographiés. Cette mise à jour concerne les valeurs suivantes :
Md5
, Sha1
et Sha256
. Sha384
et Sha512
avec le préfixe shaNNN-
. JWT
. Nous avons amélioré plusieurs inspections Java et en avons ajouté de nouvelles pour vous aider à garder votre code propre et sans erreurs. L'inspection Malformed format string signale désormais les conversions de temps non valides qui ne respectent pas la syntaxe Java standard. L'inspection Redundant String operation est maintenant capable de détecter les appels StringBuilder.toString()
redondants et de fournir un correctif rapide pour les remplacer par contentEquals()
et vous éviter d'avoir à créer un objet String
intermédiaire. De plus, elle vous signale les arguments superflus dans les appels au constructeur String
et propose un correctif rapide qui les supprime. Lisez cet article de blog pour découvrir les autres améliorations relatives aux inspections de code disponibles dans IntelliJ IDEA 2023.1.
Afin d'alléger encore la charge cognitive des développeurs, IntelliJ IDEA 2023.1 prend en charge les dernières mises à jour de Java 20, notamment les modifications des fonctionnalités du langage Pattern Matching for switch et Record Patterns. Pour en savoir plus, consultez cet article de blog.
Nous avons amélioré la refactorisation Extract Method en introduisant la possibilité de l'appliquer même lorsque le fragment de code sélectionné comporte plusieurs variables à renvoyer. Dans ce cas, l'IDE suggère d'abord d'envelopper ces variables dans un nouveau record ou une nouvelle classe bean avant d'effectuer l'extraction de la méthode.
Nous inaugurons une fonctionnalité de saisie semi-automatique dans le champ VM Options de la fenêtre contextuelle Run/Debug configuration. Désormais, lorsque vous commencez à saisir le nom d'un drapeau, l'IDE propose une liste des options de ligne de commande disponibles. Cela fonctionne pour les options -XX:
et -X
, ainsi que pour certaines options standards qui ne sont pas configurées automatiquement par IntelliJ IDEA, comme -ea
, mais pas pour -cp
ou –release
.
IntelliJ IDEA est maintenant en mesure de désucrer correctement le code Scala sans accolades et de gérer les refactorisations là où la fonctionnalité « fewer braces » est utilisée. Il prend également en charge la syntaxe sans accolades dans les feuilles de travail et interprète correctement l'indentation lorsque vous déplacez des méthodes d'extensions dans votre code.
Dans Gradle, lorsque vous avez un module vide et que vous voulez créer le répertoire racine pour le code source, vous pouvez consulter les suggestions de la boîte de dialogue New Directory. Avec la version 2023.1, cette boîte de dialogue est maintenant disponible pour les projets sbt également. Vous pouvez aussi spécifier les paramètres du lanceur sbt dans Settings/Preferences | Build, Execution, Deployment | Build Tools | sbt, et l'action Find Usages (Alt+F7) recherche maintenant les symboles dans les fichiers sbt.
L'inspection Unused declaration a fait l'objet de plusieurs correctifs et améliorations. IntelliJ IDEA peut désormais détecter l'utilisation des symboles dans les fichiers XML de votre projet. L'inspection différencie également les références aux termes des références aux types, notamment lorsqu'il s'agit de signaler leur utilisation en cours. L'inspection Can be private a elle aussi été mise à jour Par exemple, il n'y a plus de mise en évidence des définitions de niveau supérieur dans les feuilles de calcul et les classes locales. Pour les appels récursifs, vous verrez dorénavant une icône dans la gouttière à gauche de la ligne de l'appel.
Nous avons amélioré les performances de la mise en évidence syntaxique pour Scala 3 lorsque de nombreux paramètres implicites sont importés et nécessaires pour analyser le code, lorsque la bibliothèque Cats est utilisée par exemple. IntelliJ IDEA 2023.1 apporte aussi de nombreuses améliorations pour la prise en charge de la syntaxe, notamment la génération automatique de méthodes de remplacement avec des clauses using
.
Si vous utilisez la mise en évidence du compilateur, jusqu'à présent, toutes les importations étaient signalées comme utilisées. Scala 3.3 a introduit une nouvelle option de compilateur, -Wunused:imports
. L'IDE peut désormais identifier les importations non utilisées si votre projet utilise cette option. Nous avons par ailleurs corrigé l'action d'importation automatique pour les Enums
.
IntelliJ IDEA 2023.1 apporte de nombreux correctifs et améliorations aux décompilateurs de Scala 3 et Scala 2. Le résultat de la décompilation du bytecode Scala 2 et Scala 3 a été unifié pour en faciliter la lecture.
Nous avons actualisé l'onglet Flame Graph en introduisant la mise en évidence des appels par code couleur. Les méthodes appartenant au projet actuellement ouvert sont maintenant surlignées en jaune afin que vous puissiez facilement repérer le code à modifier pour résoudre un problème de performance donné. Nous avons également remanié l'ensemble de la palette de couleurs de l'onglet Flame Graph pour la rendre plus agréable à l'œil.
Pour faciliter le suivi des modifications apportées aux fichiers, nous avons ajouté des indications de couleur à la fenêtre d'outils Structure. Les noms des objets modifiés sont dorénavant indiqués en bleu, tandis que ceux des objets ajoutés récemment s'affichent en vert.
Nous avons repensé la fenêtre d'outils Pull Request afin de simplifier le processus de révision du code dans l'IDE. Elle fournit maintenant un onglet dédié pour chaque requête pull que vous ouvrez. L'onglet affiche instantanément la liste des fichiers modifiés, mais donne moins d'informations qu'auparavant, ce qui vous permet de mieux vous concentrer sur la tâche en cours. De plus, un bouton dédié permet d'exécuter facilement l'action considérée comme la plus pertinente compte tenu de l'état de la requête pull.
Nous avons amélioré l'ergonomie de la fenêtre contextuelle Branches. Par exemple, la navigation entre les branches est maintenant facilitée, car elles sont regroupées et stockées dans des listes que vous pouvez développer.
IntelliJ IDEA 2023.1 fournit la saisie semi-automatique dans la fenêtre contextuelle Create New Branch. Lorsque vous commencez à saisir le nom de votre nouvelle branche, l'IDE vous propose des préfixes basés sur les noms des branches locales existantes.
Lors de la configuration d'un nouveau projet Gradle, vous pouvez maintenant sélectionner la version de wrapper requise dans l'assistant New Project. Développez la section Advanced Settings, décochez Auto-select, et spécifiez l'option que vous préférez. Vous pouvez demander à l'IDE de mémoriser votre choix en activant Use these settings for future projects sous Gradle version.
Lors de l'importation d'un projet, IntelliJ IDEA 2023.1 peut maintenant détecter la configuration de chaîne d'outils Gradle et configurer le SDK Java correspondant dans les paramètres du module.
IntelliJ IDEA 2023.1 permet de créer un raccourci pour lancer l'action Run with coverage pour le fichier ouvert actuellement, même si la configuration d'exécution n'a pas encore été créée. Pour ce faire, cliquez sur Settings/Preferences | Keymap, cherchez l'option Run with Coverage context configuration, puis ajoutez-y une nouvelle combinaison de touches.
IntelliJ IDEA 2023.1 vous permet de filtrer des classes dans la vue Coverage afin de vous concentrer sur les classes et méthodes mises à jour récemment, qui requièrent une attention particulière lors des tests. Par défaut, vous verrez une liste de classes avec des modifications non validées. La seconde option de filtrage permet de masquer les classes qui sont entièrement couvertes.
IntelliJ IDEA Ultimate 2023.1 fournit la prise en charge de la navigation vers les mappages d'URL et les rôles de sécurité pour les API inaugurées dans Spring Security 6.
Dans la configuration d'exécution de Spring, Gradle est désormais l'option par défaut pour construire et exécuter les projets. L'IDE utilise les paramètres généraux pour générer et exécuter le projet en utilisant Gradle comme défini dans Settings/Preferences | Build, Execution, Deployment | Build Tools | Gradle.
Avec IntelliJ IDEA Ultimate 2023.1, vous pouvez modifier et partager les paramètres de Spring et de JPA via des facettes personnalisées dans File | Project Structure | Modules. Par exemple, pour partager une source de données sélectionnée pour JPA avec votre équipe, vous pouvez désormais créer une facette JPA et valider ses paramètres pour le système de contrôle de version par commit en ajoutant un fichier de module avec l'extension *.iml.
IntelliJ IDEA Ultimate 2023.1 permet d'exécuter des requêtes MongoDB dans la console Database à partir de répertoires Spring et Micronaut Data en utilisant la nouvelle action d'intention Run query in console dans la chaîne de requête. L'IDE générera les appels JavaScript appropriés avec des paramètres de requête supplémentaires tels que sort
.
IntelliJ IDEA Ultimate 2023.1 propose une large gamme d'inspections pour un code réactif. For example, the IDE now reports usages of transformation operators with the Mono<Void>
type described in the Reactor 3 Reference Guide.
Nous avons implémenté un nouveau plugin dédié qui intègre Apache Dubbo et fournit les fonctionnalités du framework dans le cadre de la prise en charge de Spring par IntelliJ IDEA. Vous pouvez télécharger ce plugin sur la Marketplace JetBrains ou l'installer directement dans l'IDE via Settings/Preferences | Plugins.
Si vous définissez des métadonnées supplémentaires pour les API avec des annotations Swagger 2.X dans des contrôleurs Spring, IntelliJ IDEA Ultimate inclut désormais ces annotations lorsqu'il génère des fichiers OpenAPI à partir de la boîte de dialogue d'URL ou de la fenêtre d'outils Endpoints.
Il est désormais possible de modifier des parties de spécification OpenAPI de taille plus importante dans des fichiers distincts tout en navigant facilement entre ceux-ci. L'IDE fournit aussi la saisie semi-automatique et la mise en évidence du code pour ces fichiers, comme pour le fichier de spécification principal.
Avec IntelliJ IDEA Ultimate 2023.1,vous pouvez exécuter des requêtes GRPC à partir de fichiers .proto qui contiennent des importations d'archives .jar. Nous avons aussi amélioré la saisie semi-automatique du code pour les corps de requête, notamment pour les types OneOf
et Map<K,V>
. Enfin, nous avons ajouté l'onglet HTTP Client pour les points de terminaison Protobuf dans la fenêtre d'outils Endpoints.
L'IDE fournit maintenant toutes les fonctionnalités d'édition nécessaires pour travailler avec des fichiers de configuration application.yaml dans Ktor, notamment la saisie semi-automatique du code, sa mise en évidence et sa validation.
L'onglet Dashboard du nœud Docker Compose regroupe désormais les journaux de tous les conteneurs Docker Compose, les affiche au même endroit et les actualise en temps réel.
Vous pouvez désormais vous connecter facilement à Azure Container Registry. Il suffit d'aller dans Settings/Preferences | Build, Execution, Deployment | Docker | Docker Registry et de sélectionner l'option Docker V2 dans le champ Registry.
Vous avez maintenant la possibilité d'ajouter des drapeaux de configuration :z
aux montages Docker, ce qui vous permet d'attacher des volumes à des conteneurs Docker sur des postes de travail SELinux. Pour activer cette fonctionnalité, allez dans Settings/Preferences | Advanced Settings | Docker.
IntelliJ IDEA 2023.1 vous informe des résultats des vérifications health checks. Vous pouvez désormais consulter l'état des conteneurs Docker en cours d'exécution à côté de leur nom dans la fenêtre d'outils Services. Pour faciliter l'analyse rapide de l'état, les conteneurs qui se lancent et fonctionnent normalement sont signalés par un petit point vert au niveau de l'icône, tandis que les conteneurs problématiques sont signalés par un point rouge.
La fonctionnalité Docker debug devient obsolète. Pour déboguer vos applications avec des conteneurs Docker, veuillez utiliser Run targets.
Pour faciliter la création de fichiers Kubernetes, nous avons ajouté une nouvelle action au menu File | New. Après avoir sélectionné l'option New Kubernetes Resource, vous verrez une fenêtre contextuelle comportant une liste des types de ressources les plus populaires, comme Pod, Deployment, ConfigMap, etc.
IntelliJ IDEA Ultimate 2023.1 inaugure une boîte de dialogue qui permet de créer des secrets Kubernetes. Pour définir un nouveau secret, vous pouvez entrer les données Key et Value manuellement ou spécifier un fichier dont le contenu sera utilisé.
Dorénavant, lorsque vous utilisez l'action View YAML pour les ressources d'un cluster et que vous apportez des modifications au fichier ouvert, IntelliJ IDEA Ultimate met en évidence toutes les modifications effectuées avec des indicateurs de couleur dans la gouttière. Vous pouvez ainsi facilement vous assurer que les modifications sont effectuées sur les bonnes parties de la ressource avant de les réappliquer au cluster. En outre, l'icône Compare with Cluster permet d'ouvrir une vue diff complète qui récupère la version actuelle de la ressource dans le cluster pour la comparer à la version locale.
IntelliJ IDEA Ultimate 2023.1 améliore l'expérience utilisateur avec les fichiers kubeconfig en facilitant l'accès à ces fichiers kubeconfig dans la vue Services et leur ouverture dans l'éditeur. Si vous modifiez un fichier kubeconfig en dehors de l'IDE, IntelliJ IDEA le détecte et actualise automatiquement la configuration dans la fenêtre d'outils Services. De plus, il fournit la mise en évidence et la saisie semi-automatique du code pour les fichiers kubeconfig.
Vous pouvez maintenant affecter des raccourcis à la plupart des actions Kubernetes dans la vue Services, telles que Forward Ports, Delete Resource et Describe Resource. Pour définir vos raccourcis personnalisés, allez dans Settings/Preferences | Keymap | Plugins | Kubernetes.
Désormais, lorsque des invités se connectent à une session, leur client ressemble davantage à un IDE JetBrains standard. Ils peuvent voir l'ensemble des éléments que voit l'hôte de la session, y compris les éléments grisés auxquels ils n'ont pas accès, et ainsi demander à l'hôte d'implémenter les actions correspondantes à leur place si besoin.
Les invités peuvent maintenant demander des autorisations supplémentaires en cliquant simplement sur l'icône en forme de clé à côté des éléments auxquels ils n'ont pas accès. Les hôtes n'ont plus à déterminer les accès requis au préalable et peuvent facilement approuver des autorisations supplémentaires pour leurs invités au cours d'une session.
Les projets récents sont désormais stockés sur l'hôte plutôt que sur le client. Vous disposez ainsi de toutes les informations à jour, quel que soit le client que vous utilisez pour vous connecter. Nous avons également ajouté des options comme la possibilité de choisir la version de l'IDE à utiliser sur l'hôte.
Long-awaited Astro support has landed in IntelliJ IDEA 2023.1! Pour en bénéficier, installez notre nouveau plugin Astro à partir de Settings/Preferences | Plugins. Ce plugin fournit les fonctionnalités de base comme la mise en évidence de la syntaxe, la complétion de code avec importations automatiques, des refactorisations, la navigation, le formatage, entre autres.
Nous avons ajouté la prise en charge de TypeScript dans les modèles Vue. Elle s'active lorsque l'attribut lang
d'une balise script
est défini sur ts
. Auparavant, JavaScript était utilisé indépendamment de l'attribut lang
de la balise script
. IntelliJ IDEA fournit désormais la prise en charge du casting inline, une réduction des types améliorée et des informations correctes sur les types déduits dans la documentation rapide pour les modèles de composants de fichier unique Vue.
IntelliJ IDEA transforme désormais automatiquement vos chaînes entre guillemets simples ou doubles en littéraux de modèle dès que vous tapez ${
. Cela concerne les chaînes brutes ainsi que les propriétés JSX.
Dans cette version, nous avons ajouté la prise en charge des options de configuration, telles que la saisie semi-automatique des noms de classe personnalisés sous l'option classAttributes
, ou des options expérimentales telles que tailwindCSS.experimental.configFile
. Vous pouvez définir ces options de configuration dans Settings/Preferences | Languages & Frameworks | Style Sheets | Tailwind CSS.