IntelliJ IDEA 2019.1 est disponible ! Personnalisation des thèmes, Expressions Switch de Java 12, Débogage dans les conteneurs Docker et bien plus encore
Nous avons le plaisir de vous annoncer la première mise à jour majeure de cette année : IntelliJ IDEA 2019.1 est disponible ! Cette mise à jour de grande ampleur comporte une liste impressionnante de nouvelles fonctions et d’améliorations. N’attendez plus et découvrez-les sur la page What’s new que nous avons préparée spécialement pour vous !
Cet article de blog a pour but de vous donner une vue d’ensemble des principales nouveautés de cette mise à jour.
Interface utilisateur
- Tous nouveaux thèmes et prise en charge officielle de la personnalisation des thèmes !
Pour plus de détails, voir la section Themes de la page What’s new.
Java
- IntelliJ IDEA prend en charge la fonction Preview de Java 12 – Switch Expressions JEP 325. En savoir plus.
- La refactorisation Extract Variable a été améliorée et préserve la sémantique encore mieux qu’avant.
- Dans les expressions ternaires, l’EDI surligne maintenant de façon précise la condition dans laquelle une violation de condition null est détectée.
- Nous avons considérablement amélioré l’analyse des opérations mathématiques et désormais l’EDI peut suivre les valeurs du reste, de la multiplication et des opérations de décalage vers la droite.
- L’EDI est à présent capable d’induire automatiquement la pureté des constructeurs provenant des sources.
- Il permet de configurer les noms de variables pour les blocs try/catch générés automatiquement.
- Navigation d’une trace de pile Java vers la position pertinente dans une ligne.
- L’EDI peut désormais détecter les doublons de branches Switch et fournir un correctif rapide pour fusionner ces branches.
- Vous pouvez à présent déplacer les instructions Switch pour les raccorder à des blocs au-dessus ou en dessous en utilisant “Move Statement Up/Down”.
- Il est maintenant possible d’importer et d’exporter des modèles de recherche structurelle vers et depuis le presse-papier.
Pour plus de détails, consultez la section Java de la page What’s new.
Gradle
- Les actions build et run sont déléguées à Gradle par défaut pour les nouveaux projets.
- La délégation des actions build et run vers Gradle peut être définie individuellement pour chaque projet Gradle.
- HotSwap fonctionne lorsque les actions build sont déléguées à Gradle.
- La version intégrée de Gradle a été mise à niveau vers v4.10.3.
- Il est possible d’exécuter des tests paramétrés JUnit en utilisant l’outil d’exécution de test de Gradle.
- Possibilité de sélectionner une tâche de test Gradle pour l’exécuter depuis l’éditeur.
- La fenêtre d’outil Gradle peut afficher la structure d’un projet multi-module, de la même manière que si vous exécutiez la commande ‘gradle projects’.
Pour plus de détails, consultez la section Gradle de la page What’s new.
Maven
- HotSwap fonctionne lorsque les actions build sont déléguées à Maven.
- La seule version intégrée de Maven est la v3.3.9, Maven 2 ne sera plus fournie avec IntelliJ IDEA.
- Dorénavant, la fenêtre d’outil de build permet de voir toutes les sorties Maven liées à la build en un seul endroit.
- Les diagrammes Maven ont été améliorés, ce qui permet de voir les dépendances en conflit ou dupliquées, de voir uniquement les voisins des nœuds sélectionnés ou les chemins vers les nœuds sélectionnés, et d’afficher l’aperçu du diagramme sans bordure.
Pour plus de détails, consultez la section Maven de la page What’s new.
Systèmes de contrôle de version
- Les actions Fixup et Squash sont désormais disponibles depuis le menu contextuel de l’onglet VCS Log, ce qui permet de créer rapidement des commits avec les messages de commit fixup! et squash!.
- Il est désormais possible de choisir les fichiers directement dans le fichier journal VCS grâce au menu contextuel.
- Vous pouvez à présent voir la disponibilité des commits entrants et sortants des différentes branches dans la fenêtre contextuelle Branches si l’option ‘Mark Branches that have incoming/outgoing commits in the Branches popup’ est activée.
- Le nouveau nœud « Recently Deleted » de l’onglet Shelf affiche tous les fichiers supprimés récemment et vous donne la possibilité de restaurer ceux qui ont fait l’objet d’une opération Shelve.
- Un nouveau mode permet de voir les initiales de l’auteur pour les annotations VCS.
- Nouvelle case à cocher « Uncheck all » du panneau Diff de la boîte de dialogue Commit Changes pour les commits Git Partial permettant de sélectionner ou désélectionner l’ensemble des morceaux de code.
- Dans la vue Project, l’EDI marque désormais les fichiers et les dossiers ignorés via Git ignore en couleur olive.
Pour plus de détails, consultez la section Version Control de la page What’s new.
Visionneur de fichiers diff
- Vous pouvez désormais copier/coller du texte dans une fenêtre Blank Diff en faisant un glisser-déposer du fichier.
- Il est à présent possible de voir les différences par unité de caractère dans le visionneur Diff.
- La commande Swap Sides du visionneur Diff permet de sélectionner le fichier à afficher à gauche et celui à afficher à droite.
Pour plus de détails, consultez la section Diff Viewer de la page What’s new.
Fenêtre contextuelle Recent Locations
- Il est possible d’afficher tous les emplacements de code consultés ou modifiés récemment en utilisant la toute nouvelle fenêtre contextuelle de navigation « Recent Locations » (Cmd-Maj-E/Ctrl-Maj-E). En savoir plus
Débogueur JVM
- L’évaluateur du débogueur JVM prend désormais en charge les instructions synchronisées, les expressions assert et les instructions Switch.
- Il est maintenant possible de sortir du bloc actif pendant que vous déboguez un projet Java avec la nouvelle action “Step Out of the block”.
- Vous pouvez à présent appeler l’action run to cursor avec la souris, il vous suffit de cliquer sur le numéro de la ligne que vous ciblez lorsque vous êtes en mode débogage.
Pour plus de détails, consultez la section JVM Debugger de la page What’s new.
Scala
- Le surlignage d’erreurs, les conseils implicites et les actions GoTo / Quick Definition / Quick Documentation sont désormais prises en charge pour ‘For-comprehensions’.
- La fonction Find Usages peut maintenant être appelée sur des définitions implicites, les méthodes apply / unapply, les méthodes for-comprehension et les types Single Abstract Method (SAM).
- Il est désormais possible de décompiler les fichiers Scala vers Java.
- Vous pouvez à présent utiliser la version personnalisée du formatteur Scalafmt.
- La prise en charge du format HOCON est maintenant assurée par un plugin dédié.
- Le surlignage d’erreurs a été considérablement amélioré : unification partielle, surlignage des constructeurs, plugin de compilateur better-monadic-for (fonction implicit0), kind-projector (lambdas polymorphiques au niveau de la valeur), simulacrum (constructeurs de type higher-arity) et bien plus encore.
Pour plus de détails, nous vous invitons à lire cet article de blog et à consulter la section Scala de la page What’s new.
Groovy
- Prise en charge de la syntaxe Lambda de style Java de Groovy 3.0
- Les intentions et inspections de Groovy fonctionnent correctement dans le corps de lambda.
- Possibilité de débogage des lambdas de type Java.
Pour plus de détails, consultez la section Groovy de la page What’s new.
Kotlin
Le plugin Kotlin fourni a été mis à jour vers v1.3.21
- Vous pouvez créer la méthode principale sans paramètres en utilisant le modèle live ‘main’.
- Une nouvelle action d’intention suggère l’ajout du suffixe “Async” à une fonction renvoyant ‘Deferred’.
- Une nouvelle intention permet de convertir SAM comme lambda en un objet anonyme
- Améliorations de conversion de chaînes.
Pour plus de détails, consultez la section Kotlin de la page What’s new.
JavaScript et Typescript
- Nouvelles refactorisations et intentions pour la destructuration JavaScript et TypeScript
- Intention de conversion de fonction avec objet Promise pour la structure async/await.
- Documentation mise à jour pour CSS et HTML.
- Console de débogage améliorée dans les fenêtres d’outils de débogage JavaScript et Node.js.
Pour plus de détails, consultez la page WebStorm What’s new.
Docker
- Il est désormais possible de déboguer une application Java s’exécutant dans un conteneur Docker. En savoir plus.
Plugin Kubernetes
- Il est possible de charger une spécification de ressource personnalisée depuis des sources externes.
- La refactorisation Chart Rename peut se faire dans les fichiers de ressource Helm.
Pour plus de détails, consultez la section Kubernetes de la page What’s new.
Éditeur
- Une nouvelle option permet d’exporter tous vos paramètres de style de code au format JSON. Vous pouvez utiliser tous les paramètres de style de code ainsi exportés pour les intégrations personnalisées avec des outils externes.
- Possibilité d’autoriser les soft-wraps en fonction du type de fichier.
- Possibilité d’attribuer le raccourci Ctrl+Y à l’action “Delete Line” ou à l’action “Redo” depuis la boîte de dialogue Keymap Configuration lors de la première utilisation, sous Windows.
- Un keymap préconfiguré de Sublime Text est maintenant disponible dans l’EDI.
- Vous pouvez utiliser le keymap VSCode dans IntelliJ IDEA en installant le tout nouveau plugin de keymap VSCode Text.
Pour plus de détails, voir la section Editor de la page What’s new.
Spring Cloud Stream
- Les fonctionnalités d’édition réputées de l’EDI prennent désormais en charge Spring Cloud Stream : surlignage de la syntaxe, saisie automatique, inspections et correctifs rapides.
- La saisie automatique du nom de binder est désormais disponible pour les valeurs et les références dans les fichiers application.properties ou application.yml.
- La navigation entre les gestionnaires de messages consuming et producing liés est désormais disponible via l’icône dans la gouttière.
Pour plus de détails, voir la section Spring Cloud Stream de la page What’s new.
Thymeleaf
- Navigation vers des fragments de modèle référencés dans les attributs ‘th: replace’ et ‘th: include’.
- Refactorisations Rename pour les fragments inclus et remplacés.
- La saisie automatique du code fonctionne désormais pour les fragments inclus et remplacés.
Pour plus de détails, consultez la section Thymeleaf de la page What’s new.
Android
- IntelliJ IDEA 2019.1 inclut toutes les modifications apportées par Android Studio 3.3. En savoir plus.
JetBrains Runtime
- Avec IntelliJ IDEA 2019.1, vous disposez d’un accès anticipé à IntelliJ IDEA avec le nouveau programme JetBrains Runtime 11. Nous allons poursuivre la publication d’IntelliJ IDEA avec à la fois JetBrains Runtime 8 et JetBrains Runtime 11.
Outils de bases de données
- Prise en charge de nouvelles bases de données : Greenplum, Vertica et Apache Hive.
- La boîte de dialogue Connection a un nouveau look.
- Possibilité de spécifier une requête SQL qui sera exécutée à chaque nouvelle connexion.
- Nouvelles options de maintien de la connexion et de déconnexion automatique.
Pour plus de détails, voir la section Database Tools de la page What’s new.
Autres évolutions
- La prise en charge du menu global sous Linux n’est plus une fonctionnalité expérimentale ; elle est désormais totalement prise en charge dans IntelliJ IDEA.
- L’EDI prend maintenant en charge le framework OSGi Eclipse Concierge.
- Il est à présent possible de rechercher les paramètres du plugin dans IntelliJ IDEA, même si ce plugin n’a pas été fourni avec l’EDI mais simplement installé manuellement, ses paramètres s’afficheront néanmoins dans les résultats de la recherche.
La liste des points importants de cette nouvelle version est très longue, mais alors même que nous étions occupés à ajouter toutes ces fonctionnalités, nous n’avons pas perdu de vue les questions de qualité et de stabilité et travaillons constamment à la correction de bugs et à l’amélioration de la performance et de l’utilisation. Globalement, cette nouvelle mise à jour majeure résoud plus de 1 700 tickets ! Vous trouverez la liste complète des tickets traités dans les release notes. Nous tenons à remercier tous ceux d’entre vous qui ont voté pour des tickets, envoyé des demandes de fonctionnalités, donné leur avis ou partagé des suggestions sur Twitter, mais et ici dans la section commentaires ! Nous apprécions vos retours, alors continuez !
Il est désormais temps de télécharger IntelliJ IDEA 2019.1 !
Bon développement !
Auteur de l’article original en anglais : Zlata Kalyuzhnaya