Blog

Eclipse 2020-06

Suivant son cycle de releases trimestrielles, la fondation Eclipse a diffusé la version 2020-06 (4.16) de son IDE. Cet article propose une revue des principales nouveautés générales et du JDT.

 

Les changements dans le style de l’IHM

Au lancement d’Eclipse 2020-06 sous Windows, la première chose que l’on remarque c’est le changement de style dans l’IHM. Avec le thème « Light », celui par défaut, le fond est un gris léger en remplacement du bleu clair et les bords des onglets ne sont plus arrondis mais sont carrés :

Eclipse 2020-03

eclipse_202006_002

Eclipse 2020-06

eclipse_202006_003

Le mode sombre (thème dark) a aussi été mis à jour.

eclipse_202006_004

Une case à cocher dans les préférences « General / Appearance » permet d’avoir les bords ronds dans les onglets.

eclipse_202006_005

Pour prendre en compte cette configuration, il faut redémarrer Eclipse.

Le thème « Classic » reste inchangé et ignore cette option.

 

L’affichage des raccourcis clavier

Deux options dans les préférences « General / Keys » permettent d’afficher au milieu en bas les raccourcis claviers utilisés ou utilisables en remplacement d’un clic de souris.

eclipse_202006_006

En cochant, la case « Throught keyboard », les raccourcis sont affichés lors de l’utilisation des combinaisons de touches. C’est pratique lors de démos pour permettre à l’assistance de voir la combinaison de touches utilisées.

En cochant la case « Throught mouse click », les raccourcis sont affichés lors de clics de la souris. C’est pratique pour apprendre les raccourcis clavier.

eclipse_202006_007

 

Le support de Java 14

Il est maintenant fourni en standard : il n’est plus nécessaire d’installer un plugin supplémentaire comme dans la version précédente 2020-03 d’Eclipse.

Pour utiliser Java 14, il faut configurer un JDK 14 dans les préférences

eclipse_202006_008

Il est alors possible de créer un projet en sélectionnant « JavaSE-14 » comme environnement d’exécution.

eclipse_202006_009

Les nouvelles syntaxes de l’instruction switch sont prises en compte dans l’éditeur et les assistants.

eclipse_202006_010

Si le switch est utilisé comme une expression, alors les suggestions se limitent à ce cas d’usage.

eclipse_202006_011

Les fonctionnalités en preview de Java 14 sont aussi supportés. Pour les activer, le plus simple maintenant est d’utiliser l’option « Configure / Enable preview features » du menu contextuel sur le projet.

eclipse_202006_012

Il est aussi possible de le configurer dans les propriétés « Java Compiler » du projet. Il faut décocher « Use compliance from execution environment » et « Use default compliance settings » et cocher « Preview features for Java 14 ».

eclipse_202006_013

Il est possible de préciser le niveau de sévérité des messages émis par le compilateur lors de l’utilisation de fonctionnalités en preview.

eclipse_202006_014

Le nouveau type Record est supporté dans les assistants.

eclipse_202006_015

eclipse_202006_016

Un assistant permet de saisir les informations concernant le nouveau record.

eclipse_202006_017

Un nouveau template nommé « new_record » permet de créer un Record dans un fichier .java vide

eclipse_202006_018

Le formatage de code prend en compte les Records avec des options dédiées dans sa configuration.

eclipse_202006_019

Les Text blocs et le pattern matching dans l’instruction instanceof sont supportés tels que proposés dans Java 14.

 

3 nouvelles fonctionnalités de « Clean up »

Elles sont utilisables manuellement en utilisant le menu contextuel « Source / Clean up » ou automatiquement dans les « Save actions ».

Deux de ces options sont activables dans l’onglet « Code Style ».

eclipse_202006_020

L’option « Use lazy logical operator » permet de remplacer les opérateurs | et & respectivement par || et &&.

L’option « Use local variable type inference » permet d’utiliser l’instruction var pour la déclaration des variables locales, pour des versions de Java supérieures ou égales à 10.

La troisième option est activable dans l’onglet « Unnecessary Code ».

eclipse_202006_021

L’option « Merge conditions of if/else that have the same blocks » permet de fusionner les blocs de code if/else qui contiennent le même code comme le montre la prévisualisation de la configuration.

Code saisi

eclipse_202006_022

Code modifié avec l’option activée

eclipse_202006_023

Si les blocs contiennent des commentaires différents seuls les commentaires du premier bloc sont conservés dans lors de la fusion.

Code saisi

eclipse_202006_024

Code modifié avec l’option activée

eclipse_202006_025

 

Le support de la JEP 358 (Helpful NullPointerExceptions) dans les JVM HotSpot

Comme le compilateur Eclipse génère les informations de debug dans le byte-code, il suffit simplement de fournir l’option -XX:+ShowCodeDetailsInExceptionMessages aux JVM.

Il est possible de configurer cette option pour toutes les JVM utilisées. Dans les préférences, dans « Java / Installed JREs », sélectionner le JDK 14 et cliquer sur le bouton « Edit »

eclipse_202006_026

Ajouter l’option -XX:+ShowCodeDetailsInExceptionMessages dans « Default VM arguments » et cliquer sur « Finish ».

eclipse_202006_027

 

Le support des fontes avec ligatures sous Windows

Les fontes avec ligatures n’étaient supportées intégralement que sous Linux et Mac : le support était partiel sous Windows. Avec la version 2020-06, elles sont aussi supportées intégralement sous Windows.

eclipse_202006_028

Il suffit de modifier la configuration dans les préférences

eclipse_202006_029

Sélectionner « Basic / Text Font » et cliquer sur « Edit » pour sélectionner la police à utiliser, par exemple JetBrains Mono qui est une police avec ligatures.

eclipse_202006_030

Les séquences de caractères prises en charge par la police sélectionnée sont remplacées par les caractères avec ligature correspondants.

eclipse_202006_031

 

La création d’un nouveau fichier

Dans les versions antérieures d’Eclipse, il n’est pas possible de préciser un chemin lors de la création d’un nouveau fichier.

eclipse_202006_032

Il est maintenant possible lors de la création d’un nouveau fichier de fournir un chemin dans le nom du fichier. Les sous-répertoires manquants seront créés.

eclipse_202006_033

 

La vérification de la compatibilité avec le JRE lors d’une installation/mise à jour

Une nouvelle option dans les préférences permet de faire des vérifications de compatibilité avec le JRE courant lors de l’installation ou de la mise à jour de plugins.

eclipse_202006_034

Cette option est activée par défaut. Une erreur sera reportée en cas d’incompatibilité lors d’une tentative d’installation ou de mise à jour.

 

Conclusion

Eclipse poursuit son rythme de release tous les 3 mois. Cette version 2020-06 ajoute le support de Java 14, un petit rafraîchissement de style dans l’IHM avec certains thèmes et quelques nouvelles fonctionnalités qui s’avèrent pratiques à l’usage.

 

Jean-Michel Doudoux

Written by

CTO OXiane