IntelliJ IDEA 2019.3 est disponible avec une amélioration notable des performances et de la qualité,
Ainsi que de nombreuses corrections de bugs

JetBrains a annoncé jeudi la disponibilité immédiate d’IntelliJ IDEA 2019.3, la troisième et dernière version majeure de son environnement de développement intégré (IDE) phare, qui vient avec une amélioration des performances et de la qualité globale. Pour ce cycle de mise à jour majeure, l’équipe a collaboré avec plusieurs autres équipes de développeurs de JetBrains pour travailler spécifiquement sur le polissage de l'EDI et sur la correction de la réactivité de l'interface utilisateur, l’amélioration de la performance, la convivialité, des fonctionnalités existantes, et plus, selon l’article de blog de l’entreprise.

Pour cette troisième version, l’équipe d’IntelliJ IDEA a pu corriger plus de 1600 problèmes qui ont reçu un total de plus de 3900 votes dans l’outil de suivi des problèmes. Certains projets, qui étaient en cours, ont aussi été achevés. Il s’agit du support pour les nouveaux frameworks de Microservices, comme Micronaut, Quakus et Helidon, et du support tant attendu pour MongoDB. JetBrains a publié en octobre dernier une Preview des améliorations de performance dans une version EAP d’IntelliJ IDEA 2019.3.

Nom : int01.png
Affichages : 13430
Taille : 131,6 Ko

Une meilleure performance d’IntelliJ IDEA 2019.3

Le travail d’amélioration de performance de l’équipe d'IntelliJ IDEA a abouti aux résultats suivants dans la version 3 : un démarrage plus rapide de l'EDI, une meilleure réactivité globale de l'interface utilisateur, moins de blocage d'interface utilisateur et de l'éditeur et une réduction de la consommation de mémoire, en particulier lors de l'importation de projets Gradle.

En ce qui concerne les efforts d’amélioration de temps de démarrage – l'une des principales priorités de JetBrains pour l’année 2019 –, un certain nombre de changements significatifs ont été introduits dans la plateforme IntelliJ. L’équipe a parallélisé certains des processus qui s'exécutaient séquentiellement, les classes ont été réorganisées de manière à accélérer le chargement initial des classes. Le chargement des polices sur macOS a été optimisé, et bien d’autres améliorations ont été apportées pour un démarrage plus rapide.

Nom : int02.png
Affichages : 1768
Taille : 19,3 Ko

IntelliJ IDEA 2019.3 est également livré avec une meilleure réactivité globale de l'interface utilisateur. En effet, au cours de ce cycle de publication, JetBrains a résolu les problèmes de blocage de l'interface utilisateur qui se sont produits dans différentes parties d'IntelliJ IDEA, en corrigeant un certain nombre de problèmes signalés dans plus de 1600 rapports reçus par l’éditeur de logiciels et qui causaient ces blocages. La déclaration des blocages de l'interface utilisateur a été facilitée par la même occasion.

L’équipe a corrigé plusieurs autres problèmes de blocage en investissant beaucoup d'efforts dans l'optimisation de l'inférence de type Java afin d’en améliorer la performance. Dans la version 3 d’IntelliJ IDEA 2019, l'inférence de type Java pour les longues chaînes d'appel de méthode fonctionne beaucoup plus rapidement maintenant. La mise en surbrillance du code dans les fichiers Java a été accélérée, en particulier lorsqu'il s'agit de méthodes avec des variables arguments génériques (Arrays.asList, Map.ofEntries, etc.) dans lesquelles des dizaines d'arguments sont passés. La performance de l'action Join Lines, lorsqu'elle est invoquée pour plusieurs lignes à la fois, a également été améliorée.

Le plugin Kotlin v1.3.60 a été intégré avec IntelliJ IDEA, ce qui accélère également la mise en surbrillance de l'éditeur dans les fichiers Kotlin. JetBrains a apporté bien d’autres améliorations pour une meilleure réactivité de l'interface utilisateur, selon l’annonce publiée jeudi sur le blog de l’entreprise. JetBrains dit qu’il y a maintenant des mises à jour d'état plus rapides et moins de blocage dans les grands projets.

L’équipe d’IntelliJ IDEA a également réussi à réduire la consommation maximale de mémoire lors de l'importation de grands projets Gradle, dans le sous-système Build. Les blocages enregistrés, lors de l'édition d'un fichier pom.xml, ont été éliminés, de sorte que l'EDI affiche maintenant les suggestions d'achèvement sans aucun délai. JetBrains dit qu’il continuera à travailler sur ce projet afin de rendre le démarrage encore plus rapide et d’introduire d’autres optimisations dans les prochaines versions.

Nom : int03.png
Affichages : 1770
Taille : 24,1 Ko

Amélioration de la qualité des fonctionnalités existantes

Dans la nouvelle version de IntelliJ IDEA 2019, un problème récurent de redémarrage de l'EDI a été résolu. En effet, l’IDE dispose d'un riche écosystème de plugins, dont un grand nombre est accessible via le référentiel de plugins de JetBrains. L’inconvénient était que le chargement et le déchargement des plugins nécessitaient de redémarrer l'EDI à chaque fois.

JetBrains a résolu ce problème dans IntelliJ IDEA 2019.3 en implémentant l'infrastructure sous-jacente de base qui prend en charge l'installation dynamique de plugins. Ce qui signifie essentiellement que l'IDE peut maintenant charger et décharger des plugins sans redémarrer. JetBrains a également indiqué que l’infrastructure n’est disponible pour l’instant que pour les thèmes et les plugins keymap. L’éditeur de logiciel prévoit l'étendre à la plupart des plugins dans la prochaine version de l’IDE.

Un certain nombre d'améliorations de convivialité ont été apportées dans cette version pour faciliter le travail dans l’IDE. L’équipe IntelliJ IDEA a retravaillé le Clone dialog afin d'unifier l'interface utilisateur pour obtenir des projets à partir de différents services d'hébergement VCS. JetBrains dit que vous pouvez maintenant vous connecter à partir de cette boîte de dialogue, ou si vous êtes déjà connecté, l'EDI va instantanément prévisualiser les listes de tous les référentiels regroupés par comptes ou organisations.

De plus, vous n’êtes plus obligés de vérifier une branche pour faire un push, car JetBrains a introduit un moyen plus simple de le faire. Maintenant, il vous suffit de trouver la branche nécessaire dans "Branches popup" et de la pusher. L’équipe a également ajouté une colonne de noms de fichiers à l'historique des fichiers pour les fichiers renommés ou déplacés, et une autre amélioration utile qui vous offre la possibilité de forcer l'ajout d'un fichier à Git (ou Mercurial) même s'il est dans la liste .gitignore (ou.hgignore).

JetBrains a aussi amélioré considérablement le support pour Java13 Text Blocks dans le support de base pour Java 13 qui avait déjà été introduit dans la version 2 d’IntelliJ IDEA 2019. Une nouvelle action Field Call Hierarchy a été ajoutée. Maintenant, vous pouvez faire simplement Ctrl+Alt+H (Windows, macOS, Linux), pour voir la hiérarchie d'un champ sélectionné.

Ci-dessous, vous avez une liste d’autres améliorations utiles apportées dans IntelliJ IDEA 2019.3 :

  • Le type d’infobulle mal assorti a été retravaillé pour améliorer sa lisibilité ;
  • IntelliJ IDEA affiche maintenant le nom d’un projet, lors de son ouverture ;
  • Maintenant, vous pouvez injecter plus de langages de template, en particulier : Carlin (ex-Jade), guidon, EJS et Slim ;
  • JetBrains a rendu plus fluide le défilement avec la molette de la souris ;
  • Vous pouvez maintenant rendre la barre de défilement plus visible grâce à la case à cocher "Use contrast scrollbars" en accédant à "Settings" dans "Preferences", puis en choisissant "Appearance & Behavior", et enfin "Appearance".

Quelques fonctionnalités apportées aux nouveaux frameworks et aux nouvelles technologies

Bien que ce cycle de publication soit consacré à la performance et à la qualité, JetBrains dit que certaines fonctionnalités notables qui étaient en cours d'élaboration depuis un certain temps sont maintenant prêtes à être introduites. L’éditeur de logiciel en a énuméré quelques-unes qui ne sont disponibles pour l’instant que dans IntelliJ IDEA Ultimate. Ce soutien se concentre sur les frameworks et les technologies qui sont couramment utilisés pour développer des projets Java et Kotlin avec une architecture basée sur des microservices.

Comme une première fonctionnalité, JetBrains a ajouté une riche assistance au codage et à la navigation pour la nouvelle génération de frameworks de microservices, à savoir : Micronaute, Quarkus et Helidon. Ceux qui utilisent des services Web réactifs en sus de Spring n’ont pas été laissés pour compte. L’équipe JetBrains a ajouté le support pour Spring Web Flux. Aussi, l'EDI peut désormais fournir la complétion d'URL et la navigation pour les API HTTP/WebSocket, après l’ajout de la prise en charge des API clients Java HTTP courantes telles que java.net.URI / URL, Retrofit v2, OkHttp v3, ainsi que les bibliothèques clients des frameworks populaires côté serveur telles que Spring Feign, MicroProfile REST Client, etc.

JetBrains a ajouté plusieurs autres fonctionnalités, le tout dans le but de rendre le processus de développement plus agréable. Pour l'instant, seuls les projets Java et Kotlin avec une architecture basée sur des microservices sont supportés, toutefois, JetBrains compte l’étendre à d’autres projets plus importants, y compris à d'autres langages et frameworks avec la sortie de la prochaine version de l’EDI.

JetBrains a également énuméré les corrections d'erreurs notables sur son blog pour plus d'information.

Téléchargez IntelliJ IDEA 2019.3 ici.

Source : Blog JetBrains

Et vous ?

Utilisez-vous IntelliJ IDEA ?
Quel commentaire faites-vous des améliorations de performances et de qualité apportées dans IntelliJ IDEA 2019.3 ?

Lire aussi

IntelliJ IDEA, PhpStorm, PyCharm... Il est enfin possible de personnaliser des thèmes en couleur pour les EDI JetBrains, grâce à un changement dans la plateforme IntelliJ
IntelliJ IDEA 2019.1 EAP5 permet de visualiser les emplacements récents de code, et prend en charge les modifications apportées par Android Studio 3.3
IntelliJ IDEA 2019.1 est disponible, l'EDI pour Java vient avec les expressions Switch, et offre enfin la possibilité de personnaliser les thèmes
IntelliJ IDEA 2019.2 apporte des fonctionnalités en préversion de Java 13, des outils de profilage, et bien plus encore