Astuce Eclipse

22/02/2008
Commentaires fermés

Quand Cyril s’ennui … il nous envoie des mails intéressant :

Allez, une petite astuce Eclipse avant de partir en weekend.

Lorsque vous faites CRTL+O pour ajouter automatiquement les imports, ya toujours les List, Set, Map, Iterator and co. qui n’en font qu’à leur tête et qui vous poppent une boite vous demandant de choisir entre 3 ou 4 differents packages (par exemple List existe dans java.utils et dans java.awt).
Eclipse propose un paramétrage pour virer certains packages des listes de packages proposés. Vous restera donc plus qu’un seul type List dispo, et importer des collections devient alors transparent.

Eclipse > Window > Preferences > Java > Apparence > Type Filters
ajouter les packages (Add Package) :

  • java.awt
  • com.sun.tools.javac.v8.util
  • org.hibernate.mapping
  • org.hsqldb.lib

Comme indiqué en haut de cette page de settings : tous les types (classes & interfaces) dans les packages listés n’apparaitront pas dans la boite Open Type (CTRL+SHIFT+T), les content assist (CTRL+SPACE) et les quickfix (CTRL+SHIFT+&) et cela inclus le « organize imports ».

Seul hic : la setting se fait au niveau WORKSPACE. on ne peut pas le limiter au projet et encore moins à une couche (si vous faites une application AWT et que vous pouvez pas cacher java.awt, ou si vous développez des modules hibernates et que vous pouvez pas cacher org.hib…mapping, ben tant pis pour vous :( ).

Cyril

Quelques raccourcis super utiles :

CTRL+1 (en fait faut taper CTRL+SHIFT+& car en azerty le 1 est sur le shift du &, et je crois me souvenir que ca ne marche pas avec le 1 du keypad)
lorsqu’une ligne est en erreur, ou en warning, on obtient la petite popup qu’on a normalement en cliquant sur l’icone erreur dans la vertical rule (marge gauche). C’est la boite qu’ils appellent QuickFix.
Notamment utile pour ajouter les cast manquant, changer un nom de méthode appelée, la signature de la méthode appelée, changer un void en return, etc.
Mais cette boite peut être appelée meme si ya pas d’erreur, et selon le contexte on a accès à plein de trucs sympas :
(en rouge où il faut placer le curseur avant d’appeler quickfix)
– renommer une variable, ou méthode dans le fichier (comme ALT+SHIFT+R mais que sur le fichier)

– séparer en deux lignes une déclaration de variable de son initialisation
String s = « ceci »;

– inverser le if et le else
if ( false ) {
// one
} else {
// two
}
ca donne if true two else one.

– inverser membres de conditions
if ( this || that) { => if (that || this) {

– inverser une variable booleenne
boolean notThere = i > 0 || that;
=>
boolean there = i <= 0 && !that; ca marche aussi sur les conditions de if / while / etc. - affecter un appel de méthode à une variable getConversionTable(); => ConversionTableVO conversionTable = getConversionTable();

– oter des parenthèses inutiles
if ( (i > 0) && (i <>
if ( i > 0 && …
yen a bien des dizaines. des fois c’est un peu « touchy » faut trouver où il faut mettre le curseur pour que ca apparaisse, mais c’est extrement efficace.

ATL+SHIFT+S :
Accès au menu « Source » qu’on a normalement sur le clic droit.
Notamment :
ATL+SHIFT+S, puis R, ca vous « Generate Getters & Setters ».
ATL+SHIFT+S, puis V, ca vous « Override/Implements Methods ».

ATL+SHIFT+T :
Accès au menu « Refactoring » :
Notamment :
ALT+SHIFT+T, P, ca vous « Introduce Parameter » (en sélectionnant une expression, vous faites en sorte d’ajouter un parametre qui remplace cette expression, et tous les appelant passe l’expression en parametre)

Regardez les raccourcis de ces deux menus, il y a des trucs qu’on utile très souvent :

ALT+SHIFT+I : INLINE. Sélectionnez une variable ou méthode, ca vous met la valeur de la variable, ou le code de la méthode à la place de là où vous avez sélectionné (ya une popup avec une option de remplacer toutes les occurences et supprimer les déclarations devenues inutiles)

ALT+SHIFT+L : EXTRACT LOCAL VARIABLE. Sélectionnez une expression, ca vous crée une variable du bon type initialisée avec l’expression. Ca regarde aussi tous les autres endroits de la méthode où l’expression est utilisée et ca remplace par la variable nouvellement créée.

ALT+SHIFT+M : EXTRACT METHOD. Sélectionnez une expression ou un bout de code, ca va créer une méthode contenant le sélectionner. Il va essayer de détecter les paramètre que le bout de code sélectionné devra recevoir, et le retour qu’on attend. Ca marche plutot très bien. Surtout si les bouts de code sont assez petits (une boucle, le contenu d’un if, le contenu d’une condition d’un if)

ALT+SHIFT+C : CHANGE METHOD SIGNATURE. Selectionner un appel de méthode ou sa déclaration, ca ouvre une boite de dialogue ou on peut réorgniser les paramétres, ajouter des parametres, etc. tous les codes appelant seront mis à jour. Si un paramètre est ajouté, on vous demande de passer la valeur par défaut, c’est la valeur que les appelants passeront (on peut mettre XXX si on veut provoquer des erreurs pour aller voir par soit même ce qu’il faut exactement mettre).

CTRL+SHIFT+G ou CTRL+ALT+H : Trouve partout où une méthode est référencée. Le premier c’est comme de faire clic droit > Références, le second c’est la Call Hierarchy.

Et sinon, plus classique mais ultra efficace :

CTRL+O : la outline en popup dans un fichier, tapez le nom d’un champ/méthode et ca restreint la vue, les wildcard sont autorisés.

CTRL+T : popup représentant la Type Hierarchy. A utiliser notamment sur un appel à une interface, si vous voulez aller dans l’implémentation de la méthode. Si vous faites CTRL+Clic, vous vous trouvez dans le fichier interface, et vous etes pas bien avancés. Avec CTRL+T, il va lister l’interface et toutes ses implentation, choisissez votre implementation, hop vous etes sur le code qui vous interesse.

CTRL+SHIFT+W : fermer tous les fichiers ouverts dans l’editeur. ( »ya trop de fichiers je sais plus ou j’en suis ! je ferme tout »).

CTRL+E : une popup listant tous les fichiers ouverts, on peut taper le nom d’un fichier, avec ou sans wildcard, ca restreint la liste. Très sympa quand on commence a avoir trop de trucs ouverts.

Y’en a probablement plein d’autres, mais c’est probablement ceux que j’utilise le plus.

Cyril

Java ,

Mise à jour de SyncMate V1.1 RC

18/02/2008
Commentaires fermés

Cette dernière version se voit agrémentée de certaines fonctionnalité (comme la possibilité d’accéder à l’internet via la connexion USB – fonctionnalité que je n’ai d’ailleurs pas eu le temps de tester).

Certaine des fonctionnalité les plus intéressante sont maintenant classées dans un mode expert rendu accessible qu’après avoir rentré une clef de licence. On trouve sur leurs blog une licence temporaire de ce mode … mais le logiciel n’est clairement pas destiné à être totalement gratuit ! 

Tous l’engouement que j’ai peu avoir sur un logiciel gratuit s’estompe petit à petit ! 

Juste pour information cette version ne gère encore que très approximativement la synchronisation de nos PDA français avec iCal.

J’attends donc avec impatience les Releases Candidates suivante !

Mac , ,

Java/SWING

30/01/2008
Commentaires fermés

J’ai réalisé quelques classes java pour embellir mes interfaces SWING.

Voici dans un premier temps la classe ShadowBorder qui permet d’ajouter une ombre aux panels.

Voici également la classe JMemoryMonitor qui est un moniteur de mémoire à la windows. Bien évidement elle ne monitore que la mémoire allouée à java.

JTaskPane quand à elle est un panel à la windows XP explorer qui s’ouvre et se ferme.

JForm est orientée formulaire elle permet d’avoir des labels et champs de même taille. Elle gère des lignes dans lesquels on peut mettre jusqu’à trois éléments (simple ou complexe).

Voici la demo en Java Web Start de tous ces composants.

Java, Projets , , ,

Logiciel de synchronisation de fichiers

30/01/2008
Commentaires fermés

Depuis déjà quelque temps je pensais me mettre à developper un logiciel de sauvegarde / synchronisation de fichiers. Après avoir cherché une fois de plus sur le web je n’ai rien trouvé qui me convenait.

J’ai donc commencé le développement de FileSynchronizer.

Une premiére version est téléchargeable ici. L’application nécessite Java 1.5 minimum.

N’hésitez pas à laisser un commentaire pour me donner votre retour sur cet outil.

Java, Projets , , , , , , ,

FAQ Struts2

25/01/2008
Commentaires fermés

Developpez.com à initié une FAQ communautaire de struts 2

Java ,

Tutoriel Struts 2 + Spring 2 + JPA + AJAX

25/01/2008
Commentaires fermés

Pour ceux qui voudrais ce faire une petite idée de ce que peut-être un projet mettant en oeuvre Struts 2 (WebWorks), Spring 2, JPA (Hibernate3) et AJAX, je conseille le tutoriel de struts !

Pour ceux qui sont intéressé par la validation (coté client) des formulaires c’est par ici.

Je mélange un peux mais vous trouverez ici des informations sur le plugin Dali pour Eclipse. Inclus dans le WTP d’Eclipse ce plugin permet de gérer la programation de projet basé sur JPA (Java Persistence API)

Et pour finir voici un tutorial JPA

Java , , , , , ,

Plugin Akrogen pour eclipse

25/01/2008
Commentaires fermés

Mon premier post sera pour souligner l’existance d’un plugin pour eclipse qui peux être très intéressant !

Akrogen est un Plugin Eclipse de génération de codes orienté composants. Avec Akrogen on peut utiliser les wizard Eclipse pour générer du code, sans connaître l’architecture de plugin Eclipse, les librairies SWT/JFace et sans développer le moteur de template qui permet la génération de code.

Plus d’information, de documentation et autre sur leur site … ou sur developpez.com

Java , , ,

SyncMate ou comment synchroniser son Pocket PC sous Mac

10/01/2008
Commentaires fermés

SyncMate est un futur concurrent de The Missing Sync. Le logiciel n’est encore qu’en beta version mais il a le merite d’être gratuit.

J’ai finit par réussir à le faire marcher après nombre tentative … même le wifi …

La synchronisation me parait vraiment qu’en BETA … il vaux mieux faire une sauvegarde de ses données (aussi bien du PDA que du Mac) avant de jouer/tester ce produit.

J’attends avec impatience les versions suivante.

Mac , ,

Applications Mac

25/07/2007
Commentaires fermés

Voici, ici un lien listant quelques applications incontournables du monde mac

Mac ,

Dashboard Widget

17/06/2007
Commentaires fermés

iStat est un petit widget dashboard bien sympatique pour monitorer votre système.

Il vous donne les informations relative à tout les composant de votre mac.

Mac , , ,