Nouveautés dans IntelliJ IDEA

2019.3 Nov 28

IntelliJ IDEA 2019.3 apporte des évolutions majeures pour la performance et la simplification de l'utilisation, avec notamment un démarrage plus rapide, une installation des plugins de thèmes et de configurations clavier facilitée, des workflows VCS améliorés et la prise en charge des frameworks de microservices et de MongoDB.

Amélioration des performances

Démarrage plus rapide

L'une des principales améliorations de performance de cette version réside dans la réduction considérable du temps de démarrage. Nous avons modifié l'architecture afin que certaines des tâches exécutées par l'EDI au démarrage puissent l'être en parallèle plutôt que de façon séquentielle.

Réduction de la consommation de mémoire

Dans IntelliJ IDEA 2019.3, nous avons optimisé les performances pour réduire les pics de consommation de mémoire lors de l'importation de grands projets Gradle.

Réactivité de l'interface utilisateur

Nous avons résolu plus de 1 600 problèmes de blocage de l'interface utilisateur que vous nous avez signalés. Nous avons en outre corrigé des problèmes de modification des fichiers POM.xml dans les projets Maven, afin que les suggestions de saisie s'affichent maintenant sans aucun délai. D'autres corrections ont permis, entre autres, d'accélérer les mises à jour de l'état du VCS dans les gros projets, de mieux gérer les fichiers ignorés, d'optimiser le rendu de l'arborescence du projet et d'améliorer les performances lors du travail avec un grand nombre d'onglets de l'éditeur ou du débogueur.

Amélioration des performances Java

Cette version apporte de nombreuses améliorations pour l'inférence de types Java, ce qui permet non seulement de corriger un certain nombre de blocages de l'éditeur, mais également d'accélérer l'inférence de types Java pour les longues chaînes d'appels de méthodes. L'application de l'action 'Join Lines' à plusieurs lignes est désormais plus rapide. Vous allez également constater une accélération de la mise en évidence du code Java, particulièrement pour les méthodes comportant des var-args génériques dans lesquels sont placés des dizaines d'arguments.

Amélioration des performances Kotlin

IntelliJ IDEA 2019.3 intègre Kotlin 1.3.60, qui offre d'impressionnantes accélérations, notamment pour la mise en évidence du code dans l'éditeur.

Facilité d'utilisation accrue

Installation de plugins de thèmes et de configurations clavier sans redémarrer l'EDI

Dans IntelliJ IDEA 2019.3, nous avons implémenté la prise en charge de l'installation dynamique des plugins. Vous pouvez donc désormais activer et désactiver des plugins de thèmes et de configurations clavier sans avoir à redémarrer l'EDI. Nous prévoyons d'étendre cette approche à la plupart des plugins pour les futures versions, afin que leur gestion soit aussi simple que possible.

Amélioration de la visibilité de la barre de défilement

Si vous aviez des difficultés à voir la barre de défilement, vous avez maintenant la possibilité d'en améliorer la visibilité. Activez simplement le paramètre 'Use contrast scrollbars' dans Settings/Preferences | Appearance & Behavior | Appearance.

Défilement fluide

Nous avons apporté une amélioration mineure mais toutefois très utile au défilement, afin de le rendre beaucoup plus fluide lorsqu'il est effectué à l'aide de la molette de la souris.

Configuration automatique des projets sbt ou Maven importés

Désormais, lorsque vous importez, créez ou ouvrez un projet sbt ou Maven, IntelliJ IDEA le configure automatiquement pour vous. Vous n'avez donc plus besoin de configurer les paramètres manuellement.

Modification du comportement des actions contextuelles

Dans la boîte de dialogue des actions d'intention, l'EDI affiche désormais toutes les actions d'intention disponibles par défaut, même après que vous ayez choisi une action et fermé la boîte de dialogue.

Optimisation des fonctionnalités

Prise en charge étendue des fonctionnalités Java 13

Nous avons étendu la prise en charge des blocs de texte en Java 13 : ils sont formatés automatiquement lors de l'insertion d'un troisième guillemet.

Possibilité d'injecter davantage de languages de modèles

IntelliJ IDEA 2019.3 vous permet d'injecter plus de langages de modèles dans votre code, notamment Plug (ex-Jade), Handlebars, EJS et Slim.

Nouvelle action 'Field Call Hierarchy'

Il existe maintenant un moyen simple d'afficher la hiérarchie d'un champ sélectionné en appelant la nouvelle action 'Field Call Hierarchy' à l'aide des touches Ctrl+Alt+H.

Fenêtre contextuelle unifiée pour les erreurs et la documentation

Lorsque vous survolez un symbole mis en évidence par une inspection avec la souris, il est maintenant possible d'afficher l'erreur dans la fenêtre contextuelle en plus des informations de référence du code. Pour activer cette option, sélectionnez ‘Show quick documentation on mouse move’ dans Settings/Preferences | Editor | General.

Workflow Git checkout amélioré

Pour éliminer toute confusion, l'action 'Checkout as' récemment renommée 'Checkout' appelée sur une branche distante crée maintenant une nouvelle branche locale, l'extrait, puis configure un suivi vers le référentiel en amont. Nous avons également ajouté une action 'New Branch from Selected' pour les branches locales et distantes, ce qui crée une nouvelle branche locale et l'extrait, mais ne configure pas de suivi vers une branche distante.

Simplification du push de branche

Autre moyen de gagner du temps que vous allez découvrir : vous n'avez plus besoin d'extraire une branche pour effectuer un push – il vous suffit de sélectionner une branche dans la fenêtre contextuelle Git branches et de faire le push directement depuis cette fenêtre.

Expérience 'clone' unifiée

Nous avons remanié la boîte de dialogue 'Clone' pour unifier l'interface utilisateur afin de récupérer des projects auprès de plusieurs services d'hébergement VCS. Si vous êtes déjà connecté dans votre VCS, l'EDI affiche une liste des référentiels disponibles parmi lesquels choisir, vous n'avez donc plus besoin d'indiquer une URL de référentiel.

Plus d'informations sur les conflits de fusion

Dorénavant, lorsqu'un conflit se produit au cours d'une opération de fusion, de rebasage ou de cherry-pick, vous pouvez obtenir davantage d'informations sur la source des modifications affichées dans la boîte de dialogue Merge. Cliquez simplement sur le lien 'Show Details' pour obtenir la liste des commits ayant entraîné l'état du code.

Nouveaux frameworks et technologies

Prise en charge des frameworks de microservices Ultimate

Pour que vos projets IntelliJ IDEA restent technologiquement à jour, la version 2019.3 apporte une prise en charge initiale de Micronaut, Quarkus et Helidon. Vous bénéficiez d'une assistance complète au codage, de la navigation, d'inspections et de l'action Find usages pour vos projets Java utilisant une architecture basée sur les microservices.

Prise en charge d'OpenAPI et de Swagger Ultimate

Nous proposons désormais une prise en charge de Swagger v2 et OpenAPI v2, qui permet la validation par schéma ainsi que la saisie automatique du code, la navigation, l'action Find usages et la refactorisation Rename dans les fichiers YAML/JSON contenant des descriptions d'API.

Nouvelle vue Endpoints Ultimate

La toute nouvelle fenêtre d'outils 'Endpoints' propose une vue centralisée des API client et serveur utilisées dans votre projet pour les protocoles HTTP et Web Socket. En outre, vous pouvez étendre la vue à tous les projets actuellement ouverts dans IntelliJ IDEA.

Prise en charge de Spring Web Flux Ultimate

Consultez la liste complète des mappages d'URL Web Flux dans la vue MVC de la fenêtre d'outils Spring, naviguez-y et profitez de l'assistance au codage, de la recherche et de la refactorisation Rename pour les URL et les segments d'URL.

Prise en charge des clients HTTP Java Ultimate

IntelliJ IDEA 2019.3 propose la prise en charge des URL dans les API de client HTTP Java suivantes : java.net.{URI/URL}, Retrofit v2, OkHttp v3, et Injectable URL. Assistance au codage, navigation, recherche des utilisations : tout les outils que vous connaissez en Java sont maintenant disponibles pour les clients HTTP.

Prise en charge de Project Reactor Ultimate

Bénéficiez des inspections pour les projets Reactor Java et Kotlin, qui signalent les appels de méthodes bloquant un thread dans les fragments de codes dans lesquels un thread ne doit pas être bloqué. L'EDI vous avertira également de la possibilité d'un retour null pour les opérateurs lambda des méthodes Flux et Mono. Par ailleurs, un mode de débogage dédié à Reactor fournit une vue utile des frames de pile réactives et des valeurs de variables intermédiaires.

Prise en charge de MongoDB Ultimate

IntelliJ IDEA 2019.3 apporte la prise en charge de MongoDB tant attendue. Après avoir ajouté une source de données MongoDB, vous pouvez visualiser les collections et les champs dans l'explorateur de base de données, exécuter des requêtes et consulter les résultats de vos requêtes. Nous prévoyons d’étendre la prise en charge de MongoDB dans les futures versions.

Correctifs réalisés

  • L'EDI peut maintenant détecter le répertoire dans lequel Gradle a été installé via Homebrew.
  • L'interface utilisateur a été améliorée pour faciliter la configuration manuelle du répertoire d'accueil de Gradle.
  • IntelliJ IDEA prend maintenant en charge le stockage de mots de passe par KWallet sur Linux.
  • Pour les projets JavaFX, l'EDI peut afficher un fichier FXML avec Scene Builder intégré dans l'onglet Scene Builder.
  • La boîte de dialogue 'Authentication Required' pour SVN ne s'affiche plus de manière intempestive lorsque le serveur SVN est injoignable.
  • Nous avons corrigé les problèmes concernant l'exécution de l'opération 'git update' avec rebase.
  • L'EDI affiche désormais une barre de progression lors de l'indexation du journal Git.
  • Vous pouvez maintenant choisir d'afficher l'heure d'une modification ou l'horodatage du commit dans la vue de l'historique des fichiers et les annotations VCS.

Nous avons résolu 1 679 problèmes, ce qui a généré 3 904 votes d'utilisateurs !

Licence Commercial Open-source, Apache 2.0
Android ?
Maven, Gradle, SBT
Git, SVN, Mercurial
Perforce
JavaScript, TypeScript ?
Java EE, Spring, Play, Grails, Autre Frameworks  ?
Outils de base de données, SQL
Détection des doublons
Comparer les éditions