[Crowd Sourcing] Vos trucs et astuces favoris Eclipse

61 views
Skip to first unread message

Baptiste Mathus

unread,
May 14, 2015, 2:48:10 AM5/14/15
to toulou...@googlegroups.com
Salut à tous,

Pour l'EclipseCon, j'ai craqué et j'ai soumis un truc (en m'inspirant des sessions d'Antonio Goncalves "50 nouveautés en 50 minutes").

Bref, ça a été accepté, et donc depuis un ou deux mois, j'ai démarré une liste de tips Eclipse que j'utilise tout le temps, plus ceux que je découvre dans des articles, dans la doc, dans Window/Preferences (plutôt côté IDE Java)... 

Je ne suis pas encore à 50 (j'en ai entre 20 et 30 en fonction de comment/si j'agrège certains tips similaires), donc je me suis dit qu'en mettant à contribution le toulouseJug, yavait sûrement moyen de trouver d'autres trucs sympas à faire partager.

Donc, quels sont vos trucs favoris à vous ? 

Note : évidemment, je mettrais en fin de slides la liste des gens et du ToulouseJug pour l'aide associée :-).

Merci à tous

PS : pour ceux que ce genre de sujets, on avait eu une discussion connexe ya déjà plusieurs années :-) https://groups.google.com/forum/#!topic/toulouse-jug/SpOWtYPxJa0

--
Baptiste

Sebastien Bordes

unread,
May 14, 2015, 4:40:27 AM5/14/15
to toulou...@googlegroups.com
Un premier jet

Type Filter

Pour ne plus être embêté avec les vieilles classes homonymes

Images intégrées 1

Manage Workspaces

Avant il fallait allait au fin du monde pour éditer un fichier manuellement....

Images intégrées 3

Default encoding and line delimiter
SUper utile pour les équipes mixtes Win/Linux
Images intégrées 4

Step filtering

Trés utile quand les piles de debugging sont longues

Images intégrées 5

Parameter Variable coloring
Images intégrées 6

Type Access Rules

Pour autoriser l’accès aux jar situés dans le répertoire ext comme jfxrt.jar

Images intégrées 7



--
Adhérez en ligne : https://www.weezevent.com/widget_billeterie.php?id_evenement=60944&code=11628&color_primary=00AEEF
Le site du Toulouse JUG : http://toulousejug.org/
---
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes "Toulouse JUG".
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse toulouse-jug...@googlegroups.com.
Pour envoyer un message à ce groupe, envoyez un e-mail à l'adresse toulou...@googlegroups.com.
Visitez ce groupe à l'adresse http://groups.google.com/group/toulouse-jug.
Pour obtenir davantage d'options, consultez la page https://groups.google.com/d/optout.



--

Baptiste Mathus

unread,
May 14, 2015, 4:34:49 PM5/14/15
to toulou...@googlegroups.com
Merci du retour Seb, cf. ci-dessous:

Le 14 mai 2015 10:40, Sebastien Bordes <sebastie...@gmail.com> a écrit :
Un premier jet

Type Filter

Pour ne plus être embêté avec les vieilles classes homonymes

Images intégrées 1

Ok, celui-là je l'avais déjà https://gist.github.com/Batmat/da9b9315d0aefa334d73 :-)
 

Manage Workspaces

Avant il fallait allait au fin du monde pour éditer un fichier manuellement....

Images intégrées 3

Default encoding and line delimiter
SUper utile pour les équipes mixtes Win/Linux
Images intégrées 4

Alors ça, je l'utilise plus depuis un moment : 1) M2E configure automatiquement l'encoding du projet via le pom.xml, et 2) pour les newlines, je préfère de loin avoir un .gitattributes par repo qui définit comment gérer les newlines en fonction des fichiers (<pub>on va en parler dans notre workshop, je pense :-)</pub>).
 

Step filtering

Trés utile quand les piles de debugging sont longues

Images intégrées 5

Ouaip, je vais l'ajouter. Je l'avais vu en me promenant dans Window/Preferences, mais jamais essayé. Faudra que je teste la prochaine fois que je débuggue.
 

Parameter Variable coloring
Images intégrées 6

Là je vois moins l'utilité. Pourquoi pas.
 

Type Access Rules

Pour autoriser l’accès aux jar situés dans le répertoire ext comme jfxrt.jar

Images intégrées 7

C'est quoi ton use case ? C'est utilisé dans quel cas ça ? Les classes proposées au Ctrl-Shift-T ?



--
Baptiste <Batmat> MATHUS - http://batmat.net
Sauvez un arbre,
Mangez un castor !

Sebastien Bordes

unread,
May 14, 2015, 4:58:01 PM5/14/15
to toulou...@googlegroups.com
La JRE fournit quelques jars dans le répertoire ext qui ne sont pas considérés comme appartenant à l'API java dont le fameux jfxrt.jar

Images intégrées 1

Le fait d'ajouter un wildcard de package permet d "autoriser" ces classes.
Images intégrées 2

Images intégrées 3


Jordi Barrère

unread,
May 15, 2015, 3:03:49 AM5/15/15
to toulou...@googlegroups.com
Bonjour,

Une feature peu connue mais que j'aime utiliser : le filtrage des catégories de méthodes dans la view outline.

Exemple de classe :




Ajout d'une annotation @category dans la java doc pour définir des catégories

/**

* @category constructors

*/

public Animal() {

}

 

/**

* @category constructors

* @param name

* @param category

* @param dateofbirth

*/

public Animal(String name, String category, Date dateofbirth) {

}

 

/**

* @category accessors

* @return the id

*/

public Integer getId() {

      return id;

}

 

/**

* @category accessors

* @param id the id to set

*/

public void setId(Integer id) {

      this.id = id;

}

 

/**

* @category business

* @return

*/

public Integer computeAge() {

      return null;

}






Activation du filtrage


@category est une annotation proposée par oracle :
http://www.oracle.com/technetwork/java/javase/documentation/proposed-tags-142378.html

Jordi

mAnU GMail

unread,
May 15, 2015, 3:19:43 AM5/15/15
to toulou...@googlegroups.com
Bonjour,

Sources :
  * http://java.dzone.com/articles/top-5-useful-hidden-eclipse (c'est le point 5)
  * http://stackoverflow.com/questions/12948860/is-there-any-way-i-can-write-copy-paste-nicely-formatted-sql-queries-in-java-s/12949810#12949810

Quand on intègre des zones de texte un peu spéciale (par exemple une requête SQL de 3 km de long, si si ça arrive), on peut baliser le code pour l'exclure du formattage automatique d'Eclipse.

Baptiste Mathus

unread,
May 15, 2015, 3:28:59 AM5/15/15
to toulou...@googlegroups.com
Ah oui, c'est vrai, je connaissais (déjà testé pour exclure certaines parties générées dans du MDD), mais je l'avais pas mis. Je le rajoute merci.

Baptiste Mathus

unread,
May 15, 2015, 3:31:56 AM5/15/15
to toulou...@googlegroups.com
Ah c'est sympa ça, je connaissais pas du tout. Pas sûr que je voudrais mettre ça partout dans ma codebase, mais ça peut être cool dans certaines situations.

Tu peux genre tagguer que les getters/setters pour n'afficher QUE le reste (Genre @category dead-stupid) ?
Et mettre plusieurs @category sur une même méthode ?

Loïc Courvoisier

unread,
May 15, 2015, 3:43:58 AM5/15/15
to toulou...@googlegroups.com
Bonjour,

L'option "Escape text when pasting in a string literal" du menu "Preferences" > "Java" > "Editor" > "Typing", qui permet d'échapper automatiquement tous les caractères spéciaux que tu colles dans une chaîne de caractères (retours à la ligne, '\', etc.).
Vraiment utile quand on veut coller un morceau de fichier texte/xml/html dans une chaîne pour faire des tests !

Loïc

Le 14 mai 2015 08:47, Baptiste Mathus <bma...@batmat.net> a écrit :

--

Jordi Barrère

unread,
May 15, 2015, 3:44:56 AM5/15/15
to toulou...@googlegroups.com
Tu peux mettre plusieurs catégories :
@category one two
Je n'avais jamais testé, mais ça fonctionne.

Tu peux tagger une partie des méthodes, et ne déflagger que celles-ci (en même temps, il est intéressant de modifier les templates de la javadoc pour les getters/setters pour ajouter automatiquement les @category)
Initialement, j'avais commencé à utiliser cette fonctionnalité justement pour cacher les getters/setters sur les classes un peu trop volumineuses :)

A ce sujet, si jamais tu utilises lombok, quelqu'un avait levé un ticket pour inclure les @category au niveau des getter/setter genérés (https://code.google.com/p/projectlombok/issues/detail?id=650)

Jordi

Sebastien Bordes

unread,
May 15, 2015, 8:37:32 AM5/15/15
to toulou...@googlegroups.com
+1 pour la désactivation du formatter, c'est super utile surtout quand on on fait mumuse avec certaines features de Java8 pour tout garder sur une ligne.
Par contre il vaut mieux garder les tags par défaut
public enum MTImages implements ImageEnum {
    // @formatter:off
    /** The application main title image. */
    MT_TITLE                {{  rel("Title", ImageExtension.PNG); }};
}

Baptiste Mathus

unread,
May 18, 2015, 4:48:24 PM5/18/15
to toulou...@googlegroups.com
Merci à tous, ça me fait quelques trucs de plus. Si d'autres vous reviennent, n'hésitez pas !

Bonne soirée.

Baptiste Mathus

unread,
Jun 18, 2015, 4:35:27 PM6/18/15
to toulou...@googlegroups.com
Pour ceux que ça intéresse, je vais répéter ma session lundi qui vient de 12h30 à 13h30 juste à côté de Jean-Jaurès. 
On y retrouve certains des trucs ci-dessus :-). Merci encore.
Cf. http://www.coworking-toulouse.com/event/50-slides-of-ide/ pour les détails et pour s'inscrire.

-- Baptiste

Olivier Jaquemet

unread,
Dec 11, 2015, 11:44:27 AM12/11/15
to Toulouse JUG
Il y a le très pratique Quick Outline (ctrl+O) que vous connaissiez certainement :
Inline images 1
Mais dont je ne connaissais pas la variante quand on refait ctrl+O une seconde fois, c'est tous les super types qui sont inclus dans le vue :
Inline images 2
 

Billard Xavier

unread,
Dec 11, 2015, 1:25:48 PM12/11/15
to toulou...@googlegroups.com

Oooohhhh!!! Merci ça va trop me servir!

Baptiste Mathus

unread,
Dec 11, 2015, 4:14:07 PM12/11/15
to toulou...@googlegroups.com

Olivier Jaquemet

unread,
Dec 13, 2015, 1:39:17 PM12/13/15
to Toulouse JUG
👍
zavais po vu ou pas retenu ! :D

Olivier Rossel

unread,
Dec 13, 2015, 1:44:40 PM12/13/15
to toulou...@googlegroups.com, Toulouse JUG
Si vous avez des retour sur l'utilisation de l'annotation @NonNull dans vos projets, ca m'interesserait bien...

Envoyé de mon iPhone

Le 13 déc. 2015 à 19:38, Olivier Jaquemet <olivier....@gmail.com> a écrit :

👍
zavais po vu ou pas retenu ! :D
2015-12-11 22:14 GMT+01:00 Baptiste Mathus <m...@batmat.net>:
Le 11 déc. 2015 7:25 PM, "Billard Xavier" <xabi...@gmail.com> a écrit :

Oooohhhh!!! Merci ça va trop me servir!

Le 11 déc. 2015 5:44 PM, "Olivier Jaquemet" <olivier....@gmail.com> a écrit :
Il y a le très pratique Quick Outline (ctrl+O) que vous connaissiez certainement :
<image.png>
Mais dont je ne connaissais pas la variante quand on refait ctrl+O une seconde fois, c'est tous les super types qui sont inclus dans le vue :
<image.png>
 

<1_class.png>



<2_categories.png>



Activation du filtrage
<3_filter.png>

@category est une annotation proposée par oracle :
http://www.oracle.com/technetwork/java/javase/documentation/proposed-tags-142378.html

Jordi
2015-05-14 22:57 GMT+02:00 Sebastien Bordes <sebastie...@gmail.com>:
La JRE fournit quelques jars dans le répertoire ext qui ne sont pas considérés comme appartenant à l'API java dont le fameux jfxrt.jar

<image.png>

Le fait d'ajouter un wildcard de package permet d "autoriser" ces classes.
<image.png>

<image.png>



Le 14 mai 2015 22:34, Baptiste Mathus <bma...@batmat.net> a écrit :
Merci du retour Seb, cf. ci-dessous:
Le 14 mai 2015 10:40, Sebastien Bordes <sebastie...@gmail.com> a écrit :
Un premier jet

Type Filter

Pour ne plus être embêté avec les vieilles classes homonymes

<image.png>

Ok, celui-là je l'avais déjà https://gist.github.com/Batmat/da9b9315d0aefa334d73 :-)

Manage Workspaces

Avant il fallait allait au fin du monde pour éditer un fichier manuellement....

<image.png>

Default encoding and line delimiter
SUper utile pour les équipes mixtes Win/Linux
<image.png>

Alors ça, je l'utilise plus depuis un moment : 1) M2E configure automatiquement l'encoding du projet via le pom.xml, et 2) pour les newlines, je préfère de loin avoir un .gitattributes par repo qui définit comment gérer les newlines en fonction des fichiers (<pub>on va en parler dans notre workshop, je pense :-)</pub>).

Step filtering

Trés utile quand les piles de debugging sont longues

<image.png>

Ouaip, je vais l'ajouter. Je l'avais vu en me promenant dans Window/Preferences, mais jamais essayé. Faudra que je teste la prochaine fois que je débuggue.
 

Parameter Variable coloring
<image.png>

Là je vois moins l'utilité. Pourquoi pas.

Type Access Rules

Pour autoriser l’accès aux jar situés dans le répertoire ext comme jfxrt.jar

<image.png>

Visitez ce groupe à l'adresse https://groups.google.com/group/toulouse-jug.

Arnaud TOURNIER

unread,
Dec 14, 2015, 6:13:27 AM12/14/15
to toulou...@googlegroups.com
Si je peux contribuer au sujet des @Nonnull,

je dirais que c'est sympa, mais qu'à partir du moment ou on commence, il faut les utiliser partout. En effet, il n'y a pas d'annotation que je connaisse qui permette de donner des infos sur une bibliothèque qui n'est pas annotée mais dont on sait que certaines méthodes ne retournent jamais null. Dans ce cas, le compilateur va t'embêter si tu déclares une méthode retournant @Nonnull mais qui exploite une bibliothèque non annotisée pour laquelle tu sais que telle méthode ne renverra jamais null...

D'autres retours m'interressent aussi ;)

Arnaud
Reply all
Reply to author
Forward
0 new messages