(publié le 30/7/2007)
Nouveautés d'Eclipse 3.3 - Europa
Disponible depuis le 29 juin 2007, Eclipse 3.3 s'accompagne de la
sortie simultanée de plusieurs autres projets de la fondation.
Cette approche a été inaugurée pour Eclipse
3.2 avec une livraison simultanée portant le nom de code
'Callisto', cette année le nom de code est 'Europa'.
Nous vous proposons de passer en revue les principaux
apports de cette version.
Eclipse 3.3 propose de nombreuses nouvelles fonctionnalités.
Ces fonctionnalités peuvent être classées en
trois catégories :
- Evolutions de l'outillage existant (outillage
de base, outillage Java et outillage J2EE).
- Apports utiles pour les applications Eclipse
RCP.
- Développement orienté 'tâches'
avec Mylin.
|
|
Téléchargement
d'Eclipse 3.3 / Europa
La première nouveauté est visible dès
la page de téléchargement : plusieurs fichiers d'installation
sont proposés en fonction de l'utilisation d'Eclipse (Développement
Java, développement J2EE, développement C++ et développement
de plug-in).
Les fichiers d'installation contiennent Eclipse 3.3 et
des modules développés dans le cadre d'autres projets de
la fondation (par exemple WTP, Web Tools Platform, pour le développement
J2EE). Un apport majeur est l'intégration dans toutes les distributions
de Mylin. Mylin (anciemment nommé Mylar) est développé
dans le cadre d'un sous-projet de la fondation, il propose des outils
permettant de gérer des listes de tâches et surtout il filtre
le contenu des vues Eclipse en fonction de la tâche sur laquelle
travaille le développeur.
Voici les 3 principaux téléchargements
disponibles :
Le fichier de téléchargement habituel d'Eclipse
(Eclipse SDK) reste disponible pour Eclipse 3.3, il est proposé
dans la page de téléchargement sous le nom 'Eclipse Classic'.
Le tableau suivant, extrait
du site eclipse.org, récapitule le contenu de chaque distribution
:
|
Légende:
Inclus
(avec le code source)
Inclus
Partiellement
inclus |
|
Evolutions
de l'outillage d'Eclipse 3.3
Outillage
de base
Ctrl+3
Cette nouvelle fonctionnalité est celle qui fait
le plus d'heureux (d'après les forums), elle permet de retrouver
rapidement un élement de l'interface graphique d'Eclipse (entrée
dans un menu, page de préférences, assistant, vue, ...)
sans connaître ni son libellé exact ni son emplacement.
Un premier appui sur Ctrl+3 affiche une fenêtre
en sur-impression contenant un champ de saisie et une liste. Le contenu
de la liste, filtrée en fonction du texte saisi, affiche tous les
éléments graphiques contenant le texte.
Dans l'exemple suivant le texte saisi est 'edit' :
Correcteur
orthographique.
Eclipse 3.3 intègre un correcteur orthographique
qui est activé par défaut. Les mots incorrects sont soulignés
en jaune. Le raccourci Ctrl+1 ('Quick fix') permet de voir les propositions
pour un mot mal orthographié.
Sachant que seule la langue anglaise est disponible et
que par défaut le correcteur vérifie la syntaxe du texte
saisie dans les commentaires des fichiers Java, il peut être souhaitable
de désactiver la correction automatique (via la liste proposée
par le Ctrl+1 ou via la page de préférences 'General->Editors->Texte
editors->spelling').
Triple
clic.
Fonctionnalité demandée depluis longtemps
par certains, le 'triple clic' permet de sélectionner une ligne
entière dans les éditeurs.
Déplacement
de bloc de texte avec la souris.
Dans les éditeurs le texte sélectionné
peut être déplacé ou dupliqué avec la souris
soit à l'intérieur du même éditeur soit vers
un autre éditeur (Appuyer sur Ctrl pour faire un copier/coller
sinon couper/coller).
Outillage
Java
L'outillage Java d'Eclipse continue à évoluer
avec notamment de nombreux petits ajouts autour de l'éditeur (type
de correctifs proposés, nouveaux 'refactorings', ...). Le support
de Java 6 est une nouveauté importante d'Eclipse 3.3. Trois fonctionnalités
nouvelles nous semblent utiles à connaître :
Nettoyage
automatique du code
Depuis Eclipse 3.2, un assistant de 'nettoyage' du code
est disponible pour les fichiers Java. Avec Eclipse 3.3, le nettoyage
offre de nouvelles possibilités (formattage du code, organisation
des imports, ...) mais surtout il peut être déclenché
automatiquement à chaque enregistrement d'un éditeur. Cette
option est configurable dans les preférences globales, 'Java->Editor->Save
action', ou bien dans les propriétés de chaque projet
:
Liste
des instances et des références
Le débogueur exploite une fonctionnalité
propre à la machine virtuelle de Java 6 : la possibilité
de lister toutes les instances d'une classes et toutes les références
vers un objet :
Copier/coller
et création automatique d'un projet
Comment importer un bout de code Java trouver sur Internet
(ou ailleurs) dans Eclipse ? Eclipse 3.3 propose une solution rapide :
faire un copier/coller du code dans la vue 'Package Explorer', Eclipse
se charge de créer un projet Java (nommé '_pasted_code_')
et les packages nécessaires :
Outillage
J2EE
L'outillage J2EE d'Europa est développé
dans le cadre du projet WTP (Web Tools Project). Les principales nouveautés
de WTP 2.0 (la version incluse dans Europa) tournent autour du support
de JavaEE 5 (nouveau nom officiel pour J2EE 1.5).
Développement
d'EJB 3
WTP 2.0 propose les outils nécessaires pour le
développement d'EJB 3 et de classes Java persistentes basée
sur l'API JPA (Java Persistence API). Outre des assistants permettant
de configurer un projet Java pour permettre l'utilisation de JPA on peut
noter un éditeur de fichiers persistence.xml et des vues permettant
de définir les options de mapping.
Développement
de JSF
Les JSF (Java Server Faces) font partie de JavaEE 5.
L'outillage JSF de WTP se compose notamment d'un éditeur graphique
de JSF et d'un éditeur de fichiers faces-config.xml :
Support
de Tomcat amélioré
Depuis ses débuts WTP propose un mécanisme
générique pour gérer les serveurs d'applications.
Ce mécanisme simplifie le support de nouveaux types de serveurs
mais pose le problème de mal prendre en compte les spécificités
de chaque serveur, c'était notamment le cas du support de Tomcat.
WTP 2.0 adopte une approche plus pragmatique en ajoutant la prise en compte
de mécanismes spécifiques à Tomcat :
Apport
pour les applications Eclipse RCP
Eclipse RCP est un axe important pour la fondation Eclipse.
En plus des évolutions d'Eclipse 3.3 applicables aux applications
Eclipse RCP, il est à noter que de nouvelles API et fonctionnalités
ont été ajoutées au framework Eclipse spécifiquement
pour les applications Eclipse RCP.
Eclipse
Data Binding
L'API Eclipse Data Binding est l'ajout le plus important
pour les applications Eclipse RCP. Elle propose un moyen de lier des composants
graphiques SWT avec à des attributs d'un objet métier. Cette
API permet notamment de gérer les transformations et les validations.
En savoir plus : la
page d'Eclipse Data Binding.
Composant
de saisie de dates
La libairie SWT propose un nouveau composant graphique
permettant de saisir des dates. Ce composant est natif sur Windows.
Construction
des menus
Pour définir les menus d'une application RCP une
nouvelle solution est disponible qui permet de gérer plus facilement
l'ordonnancement des menus. Cette solution passe par l'utilisation de
plusieurs points d'extension dont 'org.eclipse.ui.menus' et 'org.eclipse.ui.commands'.
Exemple, menu définit de la façon historique
(point d'extension 'org.eclipse.ui.actionSet') :
<extension
point="org.eclipse.ui.actionSets">
<actionSet
id="com.et.rcp.splash.actionSet"
label="Sample
Action Set"
visible="true">
<menu
id="sampleMenu"
label="Sample
&Menu">
<separator
name="sampleGroup"/>
</menu>
<action
class="com.et.rcp.splash.actions.SampleAction"
icon="icons/sample.gif"
id="com.et.rcp.splash.actions.SampleAction"
label="&Sample
Action"
menubarPath="sampleMenu/sampleGroup"
tooltip="Hello,
Eclipse world">
</action>
</actionSet>
</extension>
|
Définition du même menu à la façon Eclipse
3.3 :
<extension
point="org.eclipse.ui.commands">
<command
id="com.et.rcp.splash.commands.sampleCommand"
name="Sample
Action">
</command>
</extension>
<extension
point="org.eclipse.ui.handlers">
<handler
class="com.et.rcp.splash.handlers.SampleHandler"
commandId="com.et.rcp.splash.commands.sampleCommand">
</handler>
</extension>
<extension
point="org.eclipse.ui.menus">
<menuContribution
locationURI="menu:org.eclipse.ui.main.menu?after=additions">
<menu
id="com.et.rcp.splash.menus.sampleMenu"
label="Sample
Menu"
mnemonic="M">
<command
commandId="com.et.rcp.splash.commands.sampleCommand"
id="com.et.rcp.splash.menus.sampleCommand"
mnemonic="S">
</command>
</menu>
</menuContribution>
</extension>>
|
'Splash
screen' intelligent.
Le 'Splash screen' est l'image qui apparaît pendant
le lancement d'Eclipse. Depuis Eclipse 3.2 cette image était doté
d'une barre de progression. Avec Eclipse 3.3, il ne s'agit plus d'une
image mais d'un composant graphique SWT pouvant contenir tout autre type
de composants. Définit à partir du point d'extension 'org.eclipse.ui.splashHandler',
les 'splash screens' intelligents permettent par exemple de gérer
une boîte de login :
Support
de Mozilla
Sur Windows, le composant 'Browser' de SWT s'appuie par
défaut sur Internet Explorer pour 'rendre' le HTML. Avec Eclipse
3.3, le style 'SWT.MOZILLA' permet de demander l'utilisation de
Mozilla à la place d'IE. A noter que ce composant s'appuie en fait
sur XULRunner
ce dernier doit être installé et déclaré, la
simple présence de Mozilla n'est donc pas suffisante.
Autres
évolutions de SWT et JFace
Plusieurs évolutions des librairies SWT et JFace
sont notables : support de Windows Vista, amélioration de la gestion
des tables dans la librairie JFace (Viewer propre à chaque colonnes,
navigation avec le clavier, gestion des info-bulles, ...) et aussi optimisation
de l'affichage des images JPEG (amélioration de 30 à 70
%) et des images PNG (amélioration de 2 à 3 fois).
Mylin
Présentation
Mylin, anciennement nommé Mylar, est intègré
dans les distributions d'Eclipse 3.3 / Europa, son installation ne nécessite
donc pas de téléchargement supplémentaire.
Mylin propose des fonctionnalités permettant aux
développeurs de gérer des listes de tâches. Une tâche
est avant tout une définition textuelle d'une opération
à effectuer. Elle peut être propre à un développeur
ou partagée entre les membres d'une équipe. Mylin propose
des assistants pour définir des tâches et une vue permettant
de visualiser les tâches. A priori rien d'extraordinaire... si ce
n'est que Mylin est finement intégré à l'outillage
Java d'Eclipse et permet d'associer un contexte à chaque tâche.
Ce contexte est constitué de divers élements (projets, classes,
fichiers, ...) et lors de l'activation d'une tâche, Mylin filtre
le contenu des vues d'Eclipse en ne faisant apparaître que les éléments
du contexte. Ainsi un développeur qui 'hérite' du traitement
d'une tâche définie par un autre membre de l'équipe
peut visualiser directement le contexte associé à la tâche
et éviter une recherche potentiellement fastidieuse.
Fonctionnalités
notables
Définition d'une tâche locale :
Liste des référentiels supportés pour le partage
des tâches :
Par défaut, la liste contient uniquement 'Bugzilla'.
Des connecteurs supplémentaires peuvent être installés
: page de download de
Mylin et liste
des connecteurs tiers.
Liste des tâches :
Filtrage de la vue 'Package' et du 'Ctrl+espace' dans l'éditeur
:
Conclusion
Eclipse 3.3 / Europa est une version contenant des apports
particulièrement intéressants pour les développeurs
d'applications RCP et pour les développeurs d'applications J2EE.
Le rythme d'une livraison simultanée par an (le dernier vendredi
de juin) a été inauguré avec Eclipse 3.2 (Callisto),
le numéro de version et le contenu de la prochaine version ne sont
pas encore connu mais d'après les premières discussions
le nom devrait être Eclipse 3.4, à moins que des évolutions
majeures fassent pencher la balance vers Eclipse 4.0. Pour le nom de code
de la livraison simultanée, il semblerait que 'Ganymède'
soit déjà choisi.
Plus d'informations :
|