Categories
Eclipse

Eclipse 3.4 M7 est là !

Ça y est, Eclipse 3.4 est à nos portes puisque le milestone qui sort aujourd’hui est le 7ème du nom ; ce qui, dans le cycle de développement Eclipse, veut dire que toutes les nouvelles fonctionnalités ont été implémentées (feature complete) !

Les prochaines versions livrées seront des releases candidates, au nombre de quatre d’ici fin juin, et n’apporteront donc que des corrections de bugs.

Voici comme à chaque fois les nouveautés à noter, sachant que, pour une M7, on est plutôt gâtés !

Equinox

  • Les certificats des paquets installés via p2 pourront maintenant être visualisés, un peu de la même manière que vous pouvez vérifier le certificat d’un site auquel vous vous connectez via votre navigateur Internet,
  • L’IHM de la boîte de dialogue Software Updates amenée par p2 est désormais définitive (hé oui, on a dit feature complete, faut suivre un peu…) et devrait même vous permettre d’aller encore plus vite qu’auparavant dans la gestion des mises à jour, notamment grâce au mécanisme de filtre implémenté dans l’arbre listant les Installable Units.

PDE

  • Vous pouvez désormais marquer un point d’extension comme étant internal. Cela n’interdit pas à d’autres plug-ins d’étendre ledit point d’extension, mais ils seront prévenus qu’ils font quelque chose de pas catholique avec un warning ou une erreur (voir sur la capture d’écran),
  • Le tooling autour d’OSGi commence à prendre de plus en plus d’importance, avec notamment l’affichage des services déclarés et consommés par chaque plug-in dans la vue Plug-in Registry.

Platform / SWT

  • Possibilité de sélectionner une ligne en appuyant sur SHIFT et en cliquant sur la règle qui affiche les numéros de lignes dans tout éditeur textuel,
  • Rechercher/Remplacer. Nouveau pattern d’expression régulière \R qui, lors de la recherche, trouve n’importe quel délimiteur Windows, Unix ou Mac (respectivement \r\n, \n et \r), et, lors du remplacement, insère le délimiteur adéquat (i.e. celui configuré par défaut pour le fichier en question, et qui est utilisé quand vous tapez ENTREE dans un éditeur).

JDT

  • Le compilateur Java d’Eclipse (ecj) tire maintenant pleinement parti des machines multi-processeurs et multi-cores. De plus, les builders autres que le builder Java peuvent également bénificier de cette accélération !
  • La JDT supporte désormais les fichiers RAR ajoutés au build path ou au source path,
  • Le formatage de plusieurs fichiers Java à la fois est désormais annulable avec CTRL+Z. Rappelez-vous, auparavant, on avait droit à une jolie boîte de dialogue “Undo is not supported by this operation. Do you want to continue?” !
  • En mode debug, le survol d’une variable affiche les structures (maps, tableaux, …) de la même manière que le fait la vue Variables.

Le New & Noteworthy complet est ici !
Et pour le téléchargement, c’est par !

Categories
Eclipse

Update site Ganymede

J’ai été très mauvaise langue avec certains de mes collègues en leur conseillant de rester à la version 3.4 M5 d’Eclipse, p2 fonctionnant très mal sur la M6.

Et bien, je retire tout ce que j’ai dit —pour l’instant 😉

En effet, depuis quelques jours, tous les packages M6 de Ganymede sont disponibles, et on peut donc mettre à jour son environnement grâce à l’update-site suivant :

http://download.eclipse.org/releases/ganymede/

Ceci dit, tout n’est pas encore parfait : l’update-site semble assez chargé ce matin et on se prend aléatoirement des “Connection timed out” dans les dents…

Affaire à suivre, donc…

Categories
Eclipse

Snippet Eclipse pour créer un singleton

A avoir à tout prix dans sa configuration Eclipse, ce snippet permet de créer instantanément une implémentation du pattern Singleton pour une classe Java.

Pour l’ajouter, allez dans Window->Preferences->Java->Editor->Templates ; puis créez un nouveau snippet que vous appelerez… au hasard … “singleton” ! 🙂

Vous pouvez éventuellement vous créer des variantes pour avoir également une version thread-safe, une autre non “lazy-loadée”, etc…

private static ${enclosing_type} instance;

private ${enclosing_type}(){}

public static ${enclosing_type} getInstance(){
if(null == instance){
instance = new ${enclosing_type}();
}
return instance;
}