IntelliJ IDEA 2021.1 : avec cette mise jour, l'EDI Java de JetBrains prend en charge Java 16 et WSL 2
Et apporte de nombreuses autres nouveautés et améliorations

JetBrains vient d'annoncer la première mise à jour majeure de cette année de son EDI phare pour Java. IntelliJ IDEA 2021.1 est disponible et apporte un bon lot de fonctionnalités et améliorations couvrant différents domaines. Parmi les plus notables, on peut mettre en avant la prise en charge de Java 16 et de WSL 2, l’intégration de Space et de Code With Me, une fenêtre de prévisualisation HTML dans l’EDI, et la possibilité d’exécuter du code sur des hôtes SSH et dans des conteneurs Docker. Nous présentons dans la suite les changements les plus importants en détail.

Intégration de Space

Space, la plateforme de collaboration de JetBrains pour le développement logiciel et le travail en équipe, est maintenant directement disponible dans l'EDI. Vous pouvez vous connecter à votre organisation dans JetBrains Space via Get from VCS, situé à droite sur l'écran de bienvenue. Une fois connecté·e, vous pouvez consulter et cloner les référentiels de projets, réviser le code des autres membres de votre équipe et écrire des scripts Space Automation.


Prise en charge de WSL 2 pour les projets Java

Cette mise à jour était attendue. Vous pouvez désormais travailler sur des projets Java situés dans WSL 2 dans IntelliJ IDEA. L’EDI peut détecter les installations de JDK, installer les JDK, compiler et exécuter des projets Maven et Gradle ainsi que les projets qui utilisent le système de build d'IntelliJ IDEA.


Développement collaboratif

Code With Me, un service de développement collaboratif et de programmation en binôme à distance, est désormais intégré à IntelliJ IDEA. Il permet également d'échanger via des appels vidéo et audio. À chaque fois que vous souhaitez parler à vos collègues, vous pouvez lancer des appels audio et vidéo directement depuis votre EDI JetBrains. Code With Me fonctionne aussi bien pour les réunions entre deux personnes que pour les sessions de groupe, auxquelles vous pouvez inviter des dizaines de participant·es.


Run Targets

La fonctionnalité Run Targets vous permet d’exécuter, tester, profiler et déboguer votre application dans des conteneurs Docker ou sur des machines distantes. IntelliJ IDEA Ultimate vous permet actuellement d’exécuter des applications Java, des tests JUnit ainsi que des projets Maven, Gradle, Micronaut, Quarkus basés sur Maven et Spring Boot sur des cibles Docker, SSH et WSL.


Expérience utilisateur

Aperçu HTML intégré

Le nouvel aperçu intégré vous permet de prévisualiser rapidement des fichiers HTML. Pour l’ouvrir, cliquez sur l’icône avec le logo IntelliJ IDEA dans le widget en haut à droite de l’éditeur. Si vous apportez des modifications au HTML ou si vous modifiez les fichiers CSS et JavaScript liés, l’aperçu répercutera immédiatement ces changements.


Personnalisation des dépendances externes dans l'étendue de la recherche

JetBrains a ajouté des possibilités de personnalisation au champ de recherche. Vous pouvez définir des dépendances externes afin de les inclure ou de les exclure de la portée. Cliquez sur Preferences/Settings | Appearance & Behavior | Scopes et utilisez les boutons de droite pour modifier le statut des dépendances externes (External Dependencies).


Accès rapide aux projets récents sous Windows

JetBrains a mis à jour la prise en charge des listes de saut Windows et rendu possible l’ouverture de vos projets récents par un clic droit sur l’icône IntelliJ IDEA dans la barre des tâches ou dans le menu Démarrer.


Amélioration de l’accessibilité

L’une des principales priorités de JetBrains est de rendre son EDI accessible à toutes et tous. Dans cette version, l'entreprise a donc ajouté davantage d'étiquettes aux éléments de l’interface utilisateur sur l’écran de bienvenue, dans la vue Project Structure et dans le journal VCS. Ces éléments, ainsi que les icônes de la gouttière, peuvent désormais être lus correctement par un lecteur d'écran. JetBrains travaille également à l’amélioration de la prise en charge de l’accessibilité pour les utilisateurs de macOS.

Synchronisation du mode hypercontrasté de Windows avec le thème de l’EDI

Votre EDI appliquera désormais automatiquement le thème hypercontrasté dès le premier lancement si vous utilisez le mode hypercontrasté sous Windows.

Contrôle de version

Amélioration de la prise en charge des requêtes pull

La création d’une requête pull prend désormais moins de temps : il suffit de cliquer sur l’icône + dans la vue Pull Requests et d'indiquer les informations demandées. De nouveaux onglets en haut de la vue contiennent toutes les informations sur votre requête pull. Si vous double-cliquez sur n’importe quel fichier dans l’onglet Files, l’EDI ouvrira le diff intégré à l’éditeur. Vous trouverez également une prise en charge des modèles de requêtes pull, qui contiennent le texte de description de vos requêtes.


Prise en charge des modèles de commit Git

IntelliJ IDEA prend en charge les modèles de commit Git. Si vous souhaitez créer un message de commit personnalisé, vous pouvez utiliser un modèle et le compléter avec les informations qui vous semblent importantes. L’EDI affichera alors ce texte comme message de commit initial.


Configurer un profil pour les inspections avant commit

Il est désormais facile de choisir un profil d’inspection de code avant de valider les modifications dans le VCS. Cliquez sur l’icône d’engrenage pour afficher les options de commit, cochez la case Analyze code, cliquez sur Choose profile, puis sélectionnez le profil souhaité. Votre EDI l’utilisera pour inspecter votre code avant le commit.


Récupérer des fichiers d’une autre branche

Dans la v2021.1, vous pouvez obtenir un fichier d’une autre branche dans la boîte de dialogue Compare with branch. Il vous suffit de sélectionner le fichier que vous souhaitez obtenir et de cliquer sur la nouvelle icône en forme de flèche vers le bas à côté de Show diff.


Save to Shelf

Vous pouvez désormais utiliser une nouvelle action Save to Shelf pour copier vos modifications dans Shelf tout en les conservant dans les modifications locales. Pour l'essayer, appuyez sur Ctrl+Maj+A et saisissez « Save to Shelf ».


Intégration de Perforce

Le plugin Perforce est maintenant entièrement compatible avec IntelliJ IDEA Community Edition et fourni avec votre EDI. Le code source de ce plugin est disponible sur GitHub.

Éditeur

Options pour le poids de la police

Le choix d’une police d’éditeur que vous pouvez regarder sans difficulté pendant de longues heures de codage est crucial. Les paramètres de typographie récemment ajoutés vous permettent de personnaliser le style de police. Dans la v2021.1, vous pouvez paramétrer le poids pour la police par défaut et la police grasse dans Preferences / Settings | Editor | Fonts.


Agrandir les onglets dans la vue fractionnée

Lorsque plusieurs onglets qui divisent l’éditeur verticalement sont ouverts, vous pouvez double-cliquer sur l’un d’entre eux pour agrandir la fenêtre de l’éditeur pour cet onglet spécifique. Pour ramener la fenêtre à sa taille initiale, il suffit de double-cliquer à nouveau sur celle-ci.


Prise en charge de JSONPath

IntelliJ IDEA prend désormais en charge les expressions JSONPath avec les syntaxes Goessner ou Jayway. Pour les fichiers JSON, vous pouvez appeler l’action Evaluate JSONPath Expression dans Edit | Find pour écrire des requêtes en JSONPath. Pour les fichiers contenant des parties écrites en JSONPath, vous pouvez utiliser la même fonctionnalité pour ajouter une entrée JSON afin de tester votre requête JSONPath.

Prise en charge du format JSON Lines

IntelliJ IDEA prend en charge le format JSON Lines délimité par des nouvelles lignes, qui est utilisé pour travailler avec des journaux et des données structurées. L’EDI reconnaît les types de fichiers .jsonl, .jslines, .ldjson et .ndjson.

Profileur

JetBrains a repensé l'interface utilisateur du profileur. La fenêtre Home est maintenant plus informative et permet d'associer plus rapidement un profileur au processus. L’entreprise a également ajouté deux nouvelles actions accessibles par un clic droit sur une application en cours d’exécution : Capture Memory Snapshot, pour prendre des instantanés *.hprof de vos applications, et CPU and Memory Live Charts, qui ouvre un onglet avec des outils de visualisation permettant de suivre la consommation des ressources.


Java

Prise en charge de Java 16

IntelliJ IDEA offre une prise en charge des fonctionnalités de Java 16, publié en mars dernier. Les mises à jour comprennent la nouvelle possibilité pour une classe interne de déclarer des membres qui sont explicitement ou implicitement statiques et les modifications apportées à Stream.collect(toUnmodifiableList()) qui est désormais converti en stream.toList(). L’EDI montre l’élément toList() en premier sur la liste de saisie semi-automatique du code pour le flux.

Nouvelles inspections pour l’analyse des flux de données

IntelliJ IDEA peut vous avertir lorsque les tableaux sont initialisés avec une taille négative. Il peut également reconnaître les méthodes Arrays.copyOf() et Collection.toArray(). De plus, l’EDI prend en charge les méthodes d’unboxing ou de conversion des entiers, telles que Integer.longValue() et Byte.intValue().

Autres nouveautés et améliorations dans les inspections

Vous pouvez maintenant éviter les conversions cast inutiles en restreignant le type de paramètre de la boucle for-each. Une autre inspection permet de simplifier la syntaxe du code en permutant les appels .filter() et .map() si le filtre utilise la même valeur que celle produite par le mappeur. De plus, l'inspection qui remplace StringBuffer par StringBuilder a été actualisée pour englober davantage de cas.


Formatage des méthodes de création de chaînes

De nouvelles options de formatage des méthodes de création de chaînes permettent d’améliorer leur lisibilité. Vous pouvez configurer l'outil de mise en forme dans Preferences/Settings | Editor | Code Style | Java | Wrapping and Braces dans la liste déroulante Chained method calls. L’option builder methods vous permet de créer une liste de méthodes que l’EDI percevra comme des méthodes de constructeur, ce qui l’amènera à placer chacune d’elles sur une ligne distincte. Si la case Wrap first call est cochée, la première méthode du constructeur apparaît également sur une ligne distincte. Vous pouvez également ajouter des retraits manuellement, et si vous cochez la case Keep builder methods indents, l’EDI les laissera intacts.


Frameworks et Technologies

Nouvelle inspection pour remplacer http://

L'EDI peut désormais mettre en évidence les occurrences du protocole http:// et vous proposer de les changer en https://. Cette inspection est activée par défaut. Vous pouvez ajouter des URL à la liste des URL ignorées ou désactiver l’inspection pour l’ensemble du projet ou certaines parties de celui-ci dans Preferences/Settings | Editor | Inspections | Security – Link with unencrypted protocol.

Client HTTP amélioré

Si vous exécutez une requête à partir du client HTTP, la réponse s'affiche dans la fenêtre d’outils Services, qui intègre les mises à jour de l’interface utilisateur et de l’expérience utilisateur dans cette version. Vous pouvez réduire le fichier HTML, JSON ou XML renvoyé, mais aussi copier le contenu du corps du fichier, masquer les numéros de ligne, choisir le format d’affichage et défiler rapidement vers le haut ou le bas de la réponse.

Prise en charge de la couche de sockets sécurisée (SSL) dans le client HTTP

Il est possible de configurer les paramètres SSL dans le client HTTP si vous utilisez l’authentification client SSL pour les protocoles https://. Pour ce faire, cliquez sur Add environment file et sélectionnez Private. L’EDI créera automatiquement un fichier dans lequel vous pourrez ajouter vos configurations SSL. La saisie semi-automatique du code vous aidera dans cette tâche.

Nouveaux assistants de projet pour les frameworks de la JVM

JetBrains a retravaillé les assistants à la création de projets Spring, Micronaut, Quarkus et MicroProfile. Vous pouvez commencer un nouveau projet en seulement deux étapes. Toutes les informations essentielles sont regroupées de manière pratique sur le premier écran, tandis que le deuxième écran présente les paramètres spécifiques au framework. La nouvelle interface utilisateur est plus claire et le processus de création de projet simplifié.

Amélioration de la prise en charge de la Java Persistence API (JPA)

JetBrains a ajouté des icônes retravaillées dans la gouttière pour les projets qui incluent des entités JPA. Ces icônes sont cliquables et contiennent une liste des actions les plus utiles pour les entités et leurs attributs. JetBrains a également amélioré la prise en charge de la JPA pour Kotlin et les projets à plusieurs modules.


Console JPA pour Jakarta EE 9

Il est désormais possible d’utiliser la console JPA pour écrire et exécuter des requêtes JPQL dans les projets Jakarta EE 9.

Nouvelle palette de couleurs pour les diagrammes UML

Il y a de bonnes nouvelles pour ceux qui utilisent le thème light : les diagrammes UML disposent d’une nouvelle palette de couleurs qui améliore leur netteté et leur lisibilité.


Améliorations pour Swagger

Swagger prend en charge les spécifications comportant des références de fichiers externes ($ref). En outre, la vue Structure des fichiers de spécification comporte davantage de nœuds, notamment Security, Callbacks, et Examples.

Générateur d’objets de page de Selenium

IntelliJ IDEA prend désormais en charge un outil expérimental pour détecter les éléments DOM d’une application web. Avant de l’utiliser, installez le plugin Selenium UI Testing.

Vous pouvez accéder à ce nouvel outil dans Tools | Generate Selenium Page Object. Dans la boîte de dialogue qui s’ouvre, saisissez l’adresse d’une page web, sélectionnez un élément DOM et ajoutez-le dans la zone située en dessous. À partir de là, vous pouvez modifier le langage ou le framework de l’élément. Le générateur d'objets de pages de JetBrains prend en charge Java, Kotlin et Groovy et des frameworks tels que Selenium, FluentLenium, Selenide, Geb, Atlas et JDI Light. Vous pouvez personnaliser les modèles de code de chaque framework.


Autres nouveautés et améliorations

Kotlin

Les améliorations pour le langage Kotlin incluent une mise en évidence plus rapide des problèmes de code, une saisie semi-automatique du code améliorée et une meilleure couverture du code. Il y a aussi des améliorations de refactorisations et des mises à jour du débogueur pour Kotlin. Dans cette version, on note également que les diagrammes de classes UML fonctionnent maintenant pour le code Kotlin compilé sur la JVM, et peuvent afficher les classes Java et Kotlin. JetBrains prévoit de prendre en charge les diagrammes UML pour d'autres backends Kotlin prochainement.

Scala

Scala bénéficie aussi d'un certain nombre d'améliorations, notamment une saisie semi-automatique basée sur le machine learning et l'affichage des phases et unités dans le graphique de compilation. En plus des modules, les graphiques de compilation peuvent désormais afficher les phases et les unités, offrant ainsi une analyse encore plus approfondie de votre compilation.

Outils de build

JetBrains a rétabli la possibilité de personnaliser les paramètres lors de l’importation de projets Maven. Pour activer cette option, sélectionnez Show settings dialog for new Maven projects dans File | New Projects Settings | Preferences for new Projects | Build, Execution, Deployment | Build Tools | Maven.


Kubernetes

On note quelques améliorations pour Kubernetes, y compris la prise en charge des composants Kustomize 3.7.0 et la possibilité de supprimer toutes les ressources du cluster dans le contexte actuel à partir de l'éditeur.

Docker

Au niveau de Docker, on note une amélioration des configurations Run/Debug : la boîte de dialogue Run/Debug Configuration est désormais plus concise et paramétrable. JetBrains a également ajouté une prise en charge expérimentale pour BuildKit, qui accélère la génération des projets. En outre, il est désormais plus facile de construire des étapes nommées séparément de l'ensemble du Dockerfile à plusieurs étapes. Il suffit de cliquer sur l'icône marteau à côté du nom de l'étape. L'EDI génèrera l'image à l'aide de BuildKit.


Si vous utilisez des Dockerfiles à plusieurs étapes, vous remarquerez des améliorations à ce niveau : vous pouvez désormais plier les étapes et voir une ligne de séparation distincte. Dans IntelliJ IDEA 2020.1, il est aussi possible d'arrêter rapidement votre Dockerfile en cours d'exécution. Et concernant les montages Docker, vous pouvez sélectionner les macros et les variables d'environnement dans l'option Bind mount dans Run/Debug Configurations. Précisons encore que la saisie semi-automatique du code fonctionne maintenant pour les noms d'images.

JavaScript

Côté JavaScript, il y a une amélioration de la prise en charge de Stylelint. Il est maintenant plus facile d'inspecter votre code CSS avec Stylelint. Vous pouvez désormais corriger les problèmes avec ce linter populaire en quelques clics.

La documentation MDN est maintenant fournie avec IntelliJ IDEA. Cela permettra d'éviter les problèmes de connectivité avec le site web de MDN et d'accélérer l'affichage de la documentation intégrée à l'éditeur dans vos fichiers HTML, CSS et JavaScript. La documentation intégrée à l'éditeur sera également plus complète. Par exemple, des détails sur les versions des navigateurs prises en charge pour les API JavaScript seront disponibles.

Lorsque vous travaillez avec des feuilles de style, vous pouvez désormais vérifier la spécificité de vos sélecteurs – il vous suffit de passer le curseur sur le sélecteur que vous voulez vérifier. Vous pouvez également cliquer sur un sélecteur et appuyer sur F1/Ctrl+Q pour voir ces informations dans la fenêtre contextuelle Documentation.


Outils de base de données

Un bon nombre de mises à jour ont été apportées aux outils de bases de données. Celles-ci incluent une interface utilisateur pour l'édition des autorisations lors de la modification des objets. JetBrains a aussi introduit une solution pour générer des déclarations simples directement à partir de l'explorateur de base de données : les modèles dynamiques.

Plusieurs actions ont été simplifiées et le tri de données a été amélioré. Les raccourcis les plus célèbres au monde, Ctrl/Cmd+C/V/X, fonctionnent désormais pour copier, couper et coller des sources de données. Soulignons encore qu'il est désormais possible de modifier les données dans les collections MongoDB.

Nouveautés et téléchargement d'IntelliJ IDEA 2021.1