Eclipse : améliorer sa productivité grâce aux raccourcis clavier

L’utilisation du clavier plutôt que de la souris permet d’être plus efficace en utilisant son IDE.
Eclipse regorge de raccourcis clavier qui peuvent nous simplifier la vie.
Il n’est pas question de tous les connaître par coeur. Il n’est pas rare d’en découvrir en allant fouiller les menus d’eclipse.

J’ai choisi de vous en présenter quelques uns qui me paraissent très utiles au quotidien.

CTRL+SHIFT+F

Effectue un formatage selon les règles configurable dans les préférences “Java>Code Style>Formatter”

 public class HelloWorld { public static void main(String[] args) { String name=args[0];System.out.println("Hello" +name); } }

sera modifié de la façon suivante

 public class HelloWorld { public static void main(String[] args) { String name = args[0]; System.out.println("Hello" + name); } }

on peut notamment régler :

  • le nombre de lignes vides consécutives
  • le nombre maximum de caractères par ligne (la valeur par défault de 80 n’est plus très adaptée à nos écrans)
  • Où et combien insérer d’espaces dans le code.

On peut aussi utiliser ‘//’ pour forcer le passage à la ligne même en cas de formatage automatique.
Par exemple on est sûr que le code suivant restera présenté toujours sûr le même nombre de lignes.

 User user = new User.Builder() // .withFirstName("Unknown") // .withLastName("Guy") // .withAdress("12 road of nowhere") // .withZipCode(01010) // .withCity("NowhereLand") // .withInterests("tennis", "music", "hiking", "java") // .withRoles(Role.USER) // .build();

CTRL+I (Indent)

C’est le petit frère du raccourci précédent mais il se limite à l’indentation du code sélectionné.
On se limite aux règles d’indentation définies dans le premier onglet des règles de formatage.

public class HelloWorld { public static void main(String[] args) { String name=args[0];System.out.println("Hello" +name); } }

CTRL+SHIFT+O (Organize Imports)

Permet de supprimer les imports inutilisés et d’ajouter ceux manquant en proposant un choix lorsque nécessaire. Très pratique aussi quand on récupère un bout de code sans les imports pour les retrouver de manière automagique.

on peut régler dans les options (Java > Code Style > Organize Imports)

  • l’ordre d’import des packages (java, javax, org, com)
  • le nombre d’imports sur un package à partir duquel on va importer mypackage.*
  • le nombre d’imports static sur une classe à partir duquel on va importer MyClass.*

CTRL+O (Quick Outline)

Affiche la structure de la classe dans une popup, on peut également filtre l’affichage en tapant par exemple le début de la fonction que l’on veut retrouver. on peut également filtrer avec des wildcards ‘?’ ou ‘*’. Si on appuie une deuxième fois sur CTRL+O on peut également visualiser les membre hérités (aussi bien privés que publics).

Quick outlineQuick outline inherited

ALT+SHIFT+L (Extract Local Variable)

Imaginons que l’on ait une fonction qui retourne un objet. Eclipse nous proposera d’affecter cet objet à une variable dont on va saisir le nom. le nom proposé par défaut étant la plupart du temps tout à fait satisfaisant.

 treeGrid.getData();

devient

 Tree data = treeGrid.getData();

ALT+SHIFT+M (Extract Method)

On sélectionne un bout de code et la fenêtre d’extraction de méthode apparait.

CTRL+SHIFT+T / CTRL+SHIT+R (Open Type/Resource)

Ces deux raccourcis jumeaux permettent de facilement ouvrir le code d’un Type (Classe, Interface ou Enum) ou d’une Ressource (xml, png, properties…).
On peut utiliser des wildcards pour effectuer sa recherche, notamment lorsqu’on ne se rappelle que d’une partie du nom recherché.
On peut également utiliser la recherche CamelCase comme expliqué dans ce post.

ALT+HAUT / ALT+BAS

Déplacer des lignes de code (en respectant l’indentation), toujours beaucoup plus rapide que le couper/coller

CTRL+K / CTRL+SHIFT+K

Rechercher dans le fichier courant la prochaine occurence du mot sélectionné.
Plus rapide que le traditionnel CTRL+F qui ouvre une popup de recherche.
Il reprend néanmoins les options sélectionnées dans cette popup (Wrap search, Case sensitive et Whole word)
Le premier raccourci effectue la recherche vers le bas. le second raccourci celle vers le haut.

CTRL+D (Delete line)

Supprimer la ligne courante, souvent plus rapide que l’utilisation d’une sélection à la souris suivie de Suppr ou Backspace

CTRL+L (Goto Line)

Super utile pour aller chercher la ligne indiquée dans une stacktrace.
go to line

CTRL+1 (Quick Fix)

En fonction du code sélectionné et/ou de l’endroit où l’on se trouve on aura un menu avec une liste d’actions possibles.

quelques exemples :

  • sur une ligne où on a une erreur, une liste de suggestions de corrections est proposée
  • sur un paramètre de méthode ou de constructeur, on peut alors l’affecter à un nouvel attribut de la classe.
  • sur une variable on pourra la renommer.
    C’est un peu le raccourci à tout faire.
    quick fix step 1
    quick fix step 2

CTRL+/ (Comment)

Commente ou décommente les lignes sélectionnées en les préfixant par ‘//’.

CTRL+3 (Quick Access)

Permet d’accéder rapidement aux éléments de l’interface graphique.
Par exemple, vous ne vous rappelez plus où aller chercher les options de formatage. Un petit CTRL+3, on entre Formatter et hop.
quick access

CTRL+T (Quick Type Hierarchy)

Sur une classe, donne la hiérarchie de celle-ci. Toujours pratique quand on débarque sur un projet qu’on ne maîtrise pas trop.
Par défaut les sous-types sont listés. Si on appuie une 2ème fois sur CTRL+T ce sont maintenant les super-types que l’on peut voir.
quick type hierarchy subtypesquick type hierarchy supertypes

CTRL+SHIFT+I (Inspect)

En debug, ouvre une popup contenant la vue debug de l’objet sélectionné.

CTRL+SHIFT+L (Liste des raccourcis)

Ces raccourcis me sont très utiles au quotidien. Cependant les raccourcis qui vous seront très utiles ne seront certainement pas les mêmes. Chacun ayant ses petites habitudes, pas la peine d’encombrer sa mémoire avec des raccourcis inutiles. La liste des raccourcis est consultable via CTRL+SHIFT+L.
Si vous identifiez une action que vous effectuez souvent, regardez s’il n’existe pas un raccourci pour celle-ci.
Et vous quels sont vos raccourcis indispensables ?

liste des raccourcis CTRL+SHIFT+L