IntelliJ IDEA 2021.2 est disponible
Les nouveautés de la deuxième mise à jour majeure de l'année de l'EDI Java de JetBrains

IntelliJ IDEA 2021.2, la deuxième mise à jour majeure de l'année de l'EDI Java de JetBrains, est disponible. Cette version inaugure l'analyse à l'échelle du projet pour Java, de nouvelles actions se déclenchant lors de l'enregistrement des modifications, une nouvelle interface utilisateur pour gérer les dépendances Maven et Gradle, ainsi que plusieurs mises à jour.

Principales mises à jour

Analyse à l'échelle du projet pour les projets Java (ULTIMATE)

Dans cette version, JetBrains introduit une nouvelle fonctionnalité pour détecter les erreurs dans l'ensemble du projet avant la compilation : l'analyse à l'échelle du projet. En cliquant sur l'icône dédiée dans la fenêtre d'outils Problems , vous activez une vérification qui sera effectuée à chaque modification du code. Une fois le processus terminé, l'EDI affiche toutes les erreurs trouvées, y compris celles qui ne sont détectées qu'en examinant l'ensemble du projet. Cette fonctionnalité s'applique aux projets de petite et moyenne envergure.


Actions effectuées lors de l'enregistrement

JetBrains a ajouté plusieurs actions qui se déclenchent lors de l'enregistrement du projet, notamment la remise en forme du code et l'optimisation des importations. Elles sont toutes réunies dans Preferences / Settings | Tools | Actions on Save . Vous pouvez les configurer facilement en cochant les cases nécessaires. Si vous souhaitez ajuster plus précisément les paramètres d'une action, il vous suffit de passer la souris sur cette action et de cliquer sur le lien de configuration.

Nouvelle interface utilisateur pour gérer les dépendances Maven et Gradle

IntelliJ IDEA Community Edition et IntelliJ IDEA Ultimate incluent désormais Package Search, une nouvelle interface puissante pour gérer les dépendances de votre projet. Package Search vous permet de trouver de nouvelles dépendances, de les ajouter facilement et de gérer les dépendances existantes. Le nouveau plugin affiche les informations relatives à chaque dépendance, notamment la disponibilité des mises à jour. JetBrains a également ajouté une inspection qui vous permet d'appliquer les mises à jour disponibles directement dans l'éditeur.

Actuellement, Package Search fonctionne avec les projets Maven et Gradle. Une prise en charge expérimentale pour les projets sbt est également disponible avec les versions EAP du plugin Scala.

Éditeur

Mise à jour des descriptions des inspections et des correctifs rapides

Les inspections et correctifs rapides sont maintenant décrits en détail. Les descriptions mises à jour détaillent les modifications suggérées par l'inspection et les raisons qui les justifient. Certaines inspections sont accompagnées d'exemples d'utilisation. Vous pouvez les découvrir dans Preferences/Settings | Editor | Inspections .

Vue Structure des Diagrammes

Les diagrammes sont maintenant plus informatifs grâce à la vue Structure qui contient une carte de votre diagramme avec un petit aperçu du bloc sélectionné et de ses voisins. La nouvelle vue Structure prend en charge la mise à l'échelle, le déplacement du canevas, le mode loupe, la modification de la disposition et l'exportation d'un diagramme vers une image.


Plusieurs années de copyright

La notice de copyright de votre projet peut désormais inclure à la fois l'année de création du projet et l'année de la version actuelle. Le modèle actualisé qui contient les deux dates est disponible dans Preferences/Settings | Editor | Copyright | Copyright profile .

Amélioration de la prise en charge de Markdown

IntelliJ IDEA 2021.2 apporte plusieurs mises à jour à la prise en charge de Markdown. Il est possible de convertir des fichiers .md vers différents formats (.html, .docx, .pdf) et inversement. JetBrains a également réglé les problèmes de mise en forme des listes. À présent Entrée, (Maj) Tab et l'action Reformat fonctionnent correctement. Vous pouvez modifier la taille d'une image, ajouter une description et glisser-déposer des images au lieu d'écrire une balise HTML avec un chemin d'accès au fichier. De plus, la nouvelle barre d'outils légère, qui comporte toutes les actions les plus populaires, ne s'affiche que lors d'une sélection afin de ne pas vous distraire des tâches importantes.

Expérience utilisateur

Accès rapide aux projets Eclipse

IntelliJ IDEA peut détecter les projets Eclipse stockés localement sur votre machine et vous permet de les ouvrir à partir de l'écran d'accueil. S'il s'agit de votre première ouverture de l'EDI, sélectionnez l'option Open existing Eclipse projects . Dans le cas contraire, les projets Eclipse détectés automatiquement s'afficheront dans le nœud dédié parmi les projets récents.

Paramètres avancés

Si vous devez configurer certaines options spécifiques à un cas d'utilisation dans IntelliJ IDEA, rendez-vous dans le nouveau nœud Advanced Settings dans Preferences/Settings . Vous pouvez par exemple ajouter une marge gauche en mode Distraction-free ou paramétrer le curseur pour qu'il se déplace vers le bas après avoir utilisé l'action Comment with Line Comment .

Organiser les fenêtres d'outils par glisser-déposer

Vous pouvez maintenant glisser et déposer une fenêtre d'outils à l'emplacement souhaité dans la fenêtre principale de l'EDI ou dans une fenêtre séparée. Pour ce faire, cliquez dans la barre de nom de la fenêtre d'outils, puis déposez-la à n'importe quel endroit mis en évidence.


Nettoyage automatique du cache et des journaux

IntelliJ IDEA nettoie automatiquement tous les répertoires de cache et de journaux dont la dernière mise à jour remonte à plus de 180 jours. Ce processus n'affecte pas les paramètres du système et les répertoires de plugins. Vous pouvez initier le processus manuellement dans Help | Delete Leftover IDE Directories .

Notifications de plugins manquants

Si votre projet utilise un framework qui nécessite un plugin pour fonctionner dans IntelliJ IDEA, l'EDI vous en informe et vous propose de l'activer directement à partir de cette notification.

Nouvelle option de navigation dans Preferences/Settings

JetBrains a simplifié la navigation dans Preferences/Settings en ajoutant des flèches en haut à droite de la fenêtre. Elles vous permettent d'aller et venir rapidement entre les sections que vous avez ouvertes.

Notifications de mise à jour depuis Toolbox App

Votre EDI vous informe lorsque des mises à jour de produits apparaissent dans Toolbox App. Si une nouvelle version est disponible en téléchargement, vous pouvez faire la mise à niveau directement dans IntelliJ IDEA. Pour utiliser cette fonctionnalité, vous devez avoir Toolbox App 1.20.8804 ou une version.

Accès rapide au mode économie d'énergie

IntelliJ IDEA dispose d'un mode économie d'énergie (Power Save) pour prolonger le temps de batterie de votre ordinateur portable. La gestion de ce mode se fait maintenant dans la barre d'état. Faites un clic droit sur la barre d'état et sélectionnez Power Save Mode : une nouvelle icône s'affichera en bas à droite dans l'EDI. Il vous suffit de cliquer sur cette icône pour activer ou désactiver le mode.

Mises à jour d'accessibilité

IntelliJ IDEA 2021.2 apporte plusieurs mises à jour utiles pour coder avec le mode lecteur d'écran activé sous macOS. Vous pouvez désormais entendre les suggestions de saisie semi-automatique du code, le contenu de la boîte combo sélectionnée et des listes de boîtes combo, ainsi que les résultats de vos requêtes dans Search Everywhere .

Meilleure réactivité de l'interface utilisateur

JetBrains poursuit son travail d'amélioration de la réactivité de l'interface utilisateur et de réduction des blocages inattendus. Dans cette version, elle a réussi à supprimer les blocages de l'interface utilisateur lors de l'utilisation des menus contextuels, fenêtres contextuelles et barres d'outils. JetBrains a également sorti du thread de l'interface utilisateur certaines opérations nécessitant des index, ce qui doit permettre d'éliminer certains blocages dans d'autres situations.

Java

Paramètres de couleurs axés sur la visibilité

Il est désormais plus facile de distinguer les membres Java publics, protégés et privés (méthodes, champs et classes), car vous pouvez configurer les paramètres de couleur de ces derniers dans Preferences/Settings | Editor | Color Scheme en dépliant le nœud Visibility .


Nouvel assistant de projet JavaFX

La configuration d'un nouveau projet JavaFX est maintenant plus facile. En seulement deux étapes, vous pouvez ajouter un SDK de projet, un langage, le système de build souhaité, un framework de test et une ou plusieurs bibliothèques fréquemment utilisées accompagnées de brèves descriptions.


Nouvelles inspections

JetBrains a ajouté une série de nouvelles inspections pour répondre à des cas d'utilisation particuliers dans l'analyse des flux de données. Il y a par exemple des inspections permettant de suivre une plage de valeurs à virgule flottante ou la taille d'une collection pour les méthodes de mise à jour. La nouvelle inspection Write-only object vous avertit lorsque vous modifiez un objet mais ne lui envoie pas de requêtes pour les classes personnalisées définies dans le projet et la bibliothèque standard.

Kotlin

Saisie semi-automatique basée sur le machine learning

À partir de la version 2021.2, la saisie semi-automatique du code Kotlin fonctionne par défaut sur la base du mécanisme de machine learning. Les suggestions de code sont plus soigneusement hiérarchisées, car l'EDI s'appuie sur les choix de milliers d'utilisateurs réels dans des situations similaires. Vous pouvez configurer la saisie semi-automatique du code assistée basée sur le machine learning dans Preferences/Settings | Editor | Code Completion .

Lancement des tests avant la fin de l'analyse du code

Auparavant, vous deviez attendre la fin de l'analyse du code avant de lancer l'exécution de vos tests. Dans la version actuelle, vous pouvez lancer des tests immédiatement après avoir ouvert le fichier en cliquant sur l'icône Run test dans la gouttière.

Mises à jour du débogueur

JetBrains a apporté quelques améliorations et mises à jour à son agent de coroutines dans le débogueur. L'agent de coroutines est désormais disponible via l'onglet Coroutines de la fenêtre d'outils Debug. Il fonctionne pour les configurations d'exécution Java avec une dépendance à kotlinx. coroutines, et pour les configurations d'exécution Spring et Maven.

JetBrains a également corrigé un problème où des variables locales qui n'étaient pas utilisées après le passage d'un point de suspension disparaissaient dans la vue Variables de la fenêtre d'outils Debugger.

Marge de manœuvre élargie durant l'indexation

Vous ne perdez pas une minute de plus. Pendant que l'EDI indexe un projet, vous pouvez exécuter et déboguer votre application. Les boutons associés à Run/Debug Configuration restent actifs pendant l'indexation.

Prise en charge de Kotlin pour WSL 2 et Run Targets

Dans IntelliJ IDEA 2021.1, JetBrains a introduit la prise en charge de WSL 2 et de la fonctionnalité Run Targets . Dans la v.2021.2, vous pouvez utiliser ces fonctionnalités pour Kotlin.

Inspection pour simplifier la chaîne d'appel sur le type de collection

Dans cette version, JetBrains a ajouté une inspection qui aide à simplifier la syntaxe et à combiner plusieurs appels en un lorsque vous appelez des méthodes en chaîne dans une collection.

Action d'intention pour la conversion buildString

Dans les versions précédentes, vous deviez saisir manuellement buildString pour personnaliser votre code. La nouvelle action d'intention vous permet de l'appliquer automatiquement en deux clics.


Scala

Meilleure prise en charge de Scala 3

Pour cette version, JetBrains s'est principalement concentrée sur la prise en charge de Scala 3, qui a donc été considérablement améliorée. L'indexation est désormais rapide, précise et indépendante de la version. Vous pouvez créer des projets Scala 3 basés sur sbt et .idea, ainsi que des SDK Scala 3, de façon normale. L'éditeur est maintenant capable de mieux gérer les indentations importantes. JetBrains a pris en charge les constructs Scala 3 dans les projets Scala 2 (-Xsource:3). Des améliorations ont entre autres été apportées au débogueur, à l'outil de mise en forme, au REPL, à l'importation automatique, aux enums et aux méthodes d'extension. Cela dit, n'oubliez pas que la prise en charge de Scala 3 est toujours en cours et n'est pas encore parfaite.

Mise en évidence basée sur le compilateur

Comme il est d'usage sur la plateforme IntelliJ, le plugin Scala est doté d'une mise en évidence des erreurs intégrée. Elle est rapide, légère et prend en charge toutes les fonctionnalités standard d'IntelliJ IDEA. Toutefois, le système de types de Scala étant très complexe, il arrive parfois que l'algorithme signale de fausses erreurs. Bien que JetBrains travaille constamment à améliorer l'implémentation, la possibilité d'utiliser le compilateur Scala pour la mise en évidence des erreurs peut s'avérer utile dans certaines bases de code. Veuillez noter que si l'approche basée sur le compilateur est plus précise, elle est aussi plus lente, requiert davantage de ressources et ne prend pas en charge les fonctionnalités telles que les différences de types, les correctifs rapides et les inspections. Aussi à moins qu'il y ait un grand nombre de fausses erreurs dans le code, la mise en évidence intégrée des erreurs est recommandée.

JavaScript

Rechargement des pages dans le navigateur lors de l'enregistrement (ULTIMATE)

IntelliJ IDEA vous permet de prévisualiser les fichiers HTML dans un navigateur grâce au serveur web intégré. Il actualise automatiquement les pages dans un navigateur lorsque vous modifiez et enregistrez vos fichiers HTML, CSS et JavaScript. Pour commencer, ouvrez un fichier HTML dans l'éditeur, survolez-le et cliquez sur l'icône du navigateur que vous souhaitez utiliser. Tous les navigateurs sont pris en charge.

Refactorisation Rename pour les hooks useState de React (ULTIMATE)

Ne perdez plus de temps à refactoriser les valeurs et fonctions useState une par une dans les hooks React : IntelliJ IDEA peut désormais les renommer pour vous. Placez le curseur sur une valeur d'état et appuyez sur Maj+F6 ou allez dans Refactor | Rename dans le menu contextuel.

Importation automatique pour require (ULTIMATE)

Votre EDI peut déjà ajouter les déclarations d'importation manquantes au fur et à mesure que vous complétez les symboles ES6 ? Maintenant, il peut faire la même chose pour les modules CommonJS : les importations require seront insérées lors de la saisie du code.

Profileur

Prise en charge du profileur Async sous Windows et Apple M1 (ULTIMATE)

Async Profiler est l'outil de profilage de prédilection de nombreux développeurs en raison de sa précision et de sa fiabilité. IntelliJ IDEA prend désormais entièrement en charge le profileur sous Windows et Apple M1, en plus de Linux et macOS non M1. Il est donc utilisable dans la plupart des environnements.

Prise en charge du profileur Async 2.0 (ULTIMATE)

IntelliJ IDEA prend en charge Async Profiler 2.0. Elle fonctionne via la nouvelle configuration d'Async Profiler, qui combine la puissance des profileurs CPU et l'allocation de ressources. Dans les onglets Flame Graph, Call Tree et Method List, la nouvelle liste déroulante Show vous permet de choisir si vous souhaitez afficher des éléments de CPU ou des allocations de mémoire. La chronologie Timeline affiche les deux. Vous pouvez filtrer ce qui doit être affiché à l'aide du contrôleur en haut à droite.

Prise en charge des diagrammes en rayons de soleil (ULTIMATE)

Dans IntelliJ IDEA 2021.2, lorsque vous double-cliquez sur un élément de l'onglet Classes , l'onglet Retained Objects affiche les données de l'élément sélectionné sous la forme d'un diagramme en rayons de soleil. Si vous avez plutôt l'habitude d'analyser des données affichées en arborescence, vous pouvez désormais la retrouver dans l'onglet Dominator Tree .


Outils de build

Artéfacts JLink

Si vous souhaitez créer un JDK personnalisé qui contienne uniquement les modules et les dépendances dont vous avez besoin lorsque vous travaillez sur un projet Jigsaw, vous pouvez ajouter de nouveaux artefacts JLink à votre projet dans la fenêtre Project structure .

Configurations Gradle remaniées

JetBrains a repensé l'interface utilisateur des Gradle Run/Debug Configurations . Les paramètres de base sont désormais regroupés de manière pratique sur un même écran. Vous pouvez ajouter d'autres options en fonction de vos besoins.

Indexation plus rapide des projets dans WSL 2

Pour les fichiers de projet stockés dans WSL 2, JetBrains utilise un démon qui transfère le contenu des fichiers entre Linux et Windows via un socket. Cela permet d'augmenter la vitesse d'indexation, car elle dépend de la vitesse à laquelle l'EDI lit le contenu du fichier. Le degré d'accélération peut varier selon le langage que vous utilisez. Par exemple, pour les langages de type JS, le temps d'indexation a été réduit d'un tiers.

Prise en charge d'Ant dans WSL 2

Il est possible d'exécuter des tâches Ant dans WSL 2.

Contrôle de version

Améliorations pour les vérifications pré-commit

Dans la v2021.2, JetBrains a étendu la liste des actions pré-commit avec la possibilité d'exécuter des tests. Si vous cochez la case Run Tests dans la section Before Commit, votre EDI testera les modifications appliquées et vous informera en cas de problème. JetBrains a également ajouté la possibilité de personnaliser les options Analyze code et Cleanup en cliquant sur Choose profile à côté d'elles.

La progression et les résultats de toutes les vérifications préalables au commit apparaissent dans la zone Commit et vous n'êtes pas dérangé par des fenêtres modales supplémentaires.

Signature GPG

IntelliJ IDEA 2021.2 vous fournit un moyen de sécuriser vos commits en vous permettant de signer les commits Git avec GPG. Pour ce faire, allez dans Preferences/Settings | Version Control | Git, cliquez sur Configure GPG Key, puis sélectionnez la clé dans la liste déroulante. Si vous utilisez une clé GPG pour la première fois, vous devrez la configurer.


Changes au lieu de Default Changelists dans les nouveaux projets

Le nœud qui stocke les modifications non validées dans les nouveaux projets ne s'appelle plus Default changelists. À partir de la version 2021.2, il se nomme Changes. De plus, l'exécution d'opérations Git ne déclenche plus la création automatique de listes de modifications.

Action Show Diff unifiée

IntelliJ IDEA affiche par défaut la différence entre le fichier initial et le fichier modifié dans l'éditeur, quel que soit l'endroit où vous avez appelé l'action Show Diff. Si vous préférez suivre les modifications dans une fenêtre séparée, vous pouvez faire glisser le fichier souhaité depuis l'éditeur.

Recherche textuelle dans les révisions de l'historique local

Vous pouvez trouver rapidement le texte nécessaire dans les révisions Local History en tapant la requête dans le champ de recherche de la boîte de dialogue Local History.

Terminal

Nouvelles options du terminal

Le terminal intégré vous permet maintenant de sélectionner la forme du curseur.


Débogueur

L'onglet d'aperçu fonctionne à présent dans le débogueur

Auparavant, lorsque vous vous arrêtiez à un point d'arrêt, que vous parcouriez le code, que vous naviguiez entre les images ou que vous utilisiez les actions « image précédente/suivante », l'EDI ouvrait les fichiers dans plusieurs onglets. Dans la v2021.2, vous pouvez activer la fonctionnalité onglet d'aperçu (preview tab) pour le débogueur dans Settings/Preferences | General | Editor Tabs. Si elle est activée, ces fichiers s'ouvriront successivement dans un seul et même onglet.


Frameworks et Technologies

Diagramme des microservices (ULTIMATE)

IntelliJ IDEA vous permet d'afficher les interactions des microservices dans un diagramme que pouvez le créer en cliquant sur l'icône correspondante dans la fenêtre d'outils Endpoints. Ce nouveau diagramme indique quel client appelle un service donné et permet de naviguer vers cet appel dans votre code. Pour cela, il suffit de cliquer sur une flèche qui relie les blocs du diagramme. Le diagramme est disponible dans les projets Java et Kotlin si vous utilisez Spring, Micronaut, Quarkus ou Helidon.


Migration automatique de Java EE vers Jakarta EE (ULTIMATE)

La nouvelle refactorisation Migrate… permet de migrer rapidement et facilement un projet ou un module de Java EE vers Jakarta EE. La fenêtre Refactoring Preview affiche ensuite toutes les utilisations des importations Java EE trouvées. Vous pouvez ensuite les vérifier et finaliser le processus.


Téléchargement automatique des index partagés pour les nouveaux projets Spring Boot (ULTIMATE)

Lorsque vous créez un projet Spring Initializer, l'EDI télécharge automatiquement les index partagés, ce qui réduit le temps d'indexation et accélère le démarrage de l'EDI. La case à cocher qui permet d'activer cette fonction se trouve sur le deuxième écran de l'assistant New Project. Veuillez noter que cela ne pourra pas fonctionner si vous avez désactivé les index partagés (Shared Indexes) dans Settings/Preferences | Shared Indexes.

Prise en charge de JPA Entity Graph (ULTIMATE)

Cette version inaugure la prise en charge d'un Entity Graph que vous pouvez définir avec l'annotation @NamedEntityGraph. Votre EDI vous permet de spécifier un nom unique et les attributs (@NamedAttributeNode) de cette annotation en utilisant la saisie semi-automatique du code, la détection des erreurs et la navigation vers l'entité connexe en cliquant sur un attribut.

Prise en charge des annotations de cache dans Micronaut et Quarkus (ULTIMATE)

Les annotations de cache pour Micronaut et Quarkus sont désormais prises en charge dans l'EDI. JetBrains a ajouté la navigation entre les utilisations des noms de cache dans l'éditeur, ainsi que la possibilité d'utiliser Find usages et la refactorisation Rename pour les identifiants de cache.

Meilleure prise en charge de la navigation dans les microservices en JavaScript et TypeScript (ULTIMATE)

La navigation URL en JavaScript et TypeScript a été considérablement améliorée. Pour le code côté client (pour Angular ou Axios), des références d'URL ont été ajoutées pour le service $http et les appels à la méthode de requête HttpClient, et la saisie semi-automatique d'URL est basée sur les frameworks côté serveur et les spécifications OpenAPI disponibles. Pour le côté serveur, les utilisateurs d'Express peuvent voir les gestionnaires de routage dans la fenêtre d'outils Endpoints et rechercher les déclarations de route Express via Navigate | URL Mapping.

Points de terminaison gRPC affichés dans la fenêtre d'outils Endpoints (ULTIMATE)

Cette version vient avec la prise en charge d'un autre framework : gRPC. JetBrains prévoit d'introduire davantage de fonctionnalités pour travailler avec ce dernier. Pour l'instant, il est possible de voir les points de terminaison gRPC dans la fenêtre d'outils Endpoints. D'autres mises à jour suivront prochainement.

Intégration de Ktor (ULTIMATE)

Ktor, un framework d'application web pour la création de systèmes connectés, est fourni avec IntelliJ IDEA Ultimate. Dès l'écran de bienvenue, vous pouvez créer un nouveau projet Ktor pour développer des applications côté serveur ou côté client et configurer les paramètres de base de votre projet et les diverses fonctionnalités prises en charge par Ktor.

Plugin Protocol Buffers maintenu par JetBrains (ULTIMATE)

Le plugin Protocol Buffers est fourni avec IntelliJ IDEA Ultimate et l'équipe JetBrains en assure entièrement la maintenance. Si vous utilisez IntelliJ IDEA Community Edition, vous pouvez toujours télécharger et installer Protocol Buffers dans Preferences/Settings | Plugins | Marketplace.

Autres changements et améliorations

IntelliJ IDEA 2021.2 introduit encore de nombreux autres changements et améliorations qu'on peut regrouper par domaine : Docker, Kubernetes, outils de bases de données, outils d'assurance qualité, intégration avec Space, développement collaboratif, entre autres. Pour la liste exhaustive des nouveautés, vous pouvez consulter les notes de version.

Télécharger IntelliJ IDEA 2021.2