Le site francophone consacré au projet Eclipse et à OSGi
 
 

 

 

(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.

 

 

Sommaire


 

 

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 :

  Eclipse pour les développeurs Java pour Windows (78 MB)  

  Contient l'outillage Java d'Eclipse (le JDT, Java Development Tooling),
  Ne contient pas : l'outillage J2EE, le code source d'Eclipse et l'outillage de développement de plug-ins et d'applications RCP.

  Télécharger la version Linux
  Page en anglais de 'Eclipse IDE for Java Developers'


 

  Eclipse pour les développeurs J2EE pour Windows (125 MB)  

  Contient l'outillage Java d'Eclipse et l'outillage J2EE (WTP, Web Tools Platform),
  Contient aussi l'outillage de développement de plug-ins et d'applications RCP.
  Ne contient pas le code source d'Eclipse.

  Télécharger la version Linux
  Page en anglais de 'Eclipse IDE for Java EE Developers'

 

  Eclipse pour les développeurs de plug-ins et d'applications Eclipse RCP pour Windows (153 MB)  

  Contient l'outillage Java d'Eclipse, le code source d'Eclipse et l'outillage de développement de plug-ins,
  Ne contient pas l'outillage J2EE.

  Télécharger la version Linux
  Page en anglais de 'Eclipse for RCP/Plug-in Developers'

 

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 :

  Java

JEE

RCP/Plugin
Classic
RCP/Platform    
CVS    
EMF      
GEF      
JDT    
Mylyn      
WST      
PDE      
Datatools          
JST          
CDT            

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 &amp;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="&amp;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 :

 


 

 

 

 


 

 

(c) EclipseTotale - contact(arobase)eclipsetotale.com