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 outline Quick 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 subtypes quick 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

TwitterFacebookGoogle+LinkedIn
  • http://twitter.com/florianguerin Florian Guérin

    Bonjour,

    Je ne sais pas si c’est une erreur mais sur mon linux les raccourcis “Extract Local Variable” & “Extract Method” sont respectivement SHIFT+ALT+L & SHIFT+ALT+M et non CTRL+ALT+L & CTRL+ALT+M.

    • Pierre TEMPLIER

      en effet, merci d’avoir signalé l’erreur. j’ai corrigé l’article.

  • Antoine Busch

    C’est SHIFT+ALT+L & SHIFT+ALT+M aussi sous Windows… ça semble être une petite coquille dans l’article.

  • Nicolas

    Intéressant, j’en découvre quelques uns que je ne connaissais pas.
    Au niveau de commenter/décommenter, je préfère le Ctrl+Shift+C : une seule main suffit contrairement au Ctrl+/

  • Gabriel Kastenbaum

    deux raccourcis super pratiques et moins connus : 
    CTRL + Q : retour à l’endroit où on a fait la dernière modif. Sper pratique et rapide. L’essayer c’est l’adopter. Me manque beaucoup sous emacs
    ALT + / : auto-complétion à la emacs (du moins c’est ce que j’ai compris à la pratique) . Permet de compléter suivant la fréquence du  début du mot dans le fichier . Equivalent du ALT + / avec Emacs, très rapide et très pragmatique, marche super bien (en tout cas sous emacs :) )

    • Pierre TEMPLIER

      Intéressant ce raccourci ALT+/ pour l’autocompletion à la emacs.
      J’ai même oublié un raccourci que j’utilise régulièrement
      ALT+SHIFT+R (Rename) qui sert à renommer une variable.

  • MEDDAH Julien

    On peut aussi conserver un passage à la ligne forcé, sans forcément utiliser ‘//’, avec l’option ‘Never Join Wrapped Lines’  (Formatter Profile -> Onglet ‘Line Wrapping’ )
    ‘Save Actions’ -> ‘Format source code’ -> ‘Format Edited lines’ est aussi très utile quand plusieurs styles de formattage cohabitent dans un projet

  • http://kame.cynicalturtle.net/ Damien B

    Je rajouterai le Ctrl+J (recherche incrémentale) :-)

  • Gaby

    Pour les oufs des raccourcis clavier, MouseFeed permet d’être notifié quand on effectue une action à la souris pour laquelle il existe un raccourci clavier. Je l’avais un moment mais au final je n’ai pas retenu grand chose…

  • http://noirbizarre.info Axel H.

    J’ai découvert récemment la sélection en colonne (ajoutée dans Eclipse 3.5) activée/désactivée par Alt+Shift+A !!!

  • Alexandre PORTAL

    Mes favoris :
    1) Ctrl+Space pour le suggest
    2) Ctrl+Shift+1 pour activer le quick fix et générer des corrections ou du code  (…. quel gain de temps!)
    3) Ctrl+Shift+T ou Ctrl+Shift+F pour chercher des classes ou reférences
    4) Alt+Gauche/Droite ou Ctrl+Tab pour naviguer entre les differents fichiers ouverts

  • Jean-Baptiste Mestelan

    et aussi : Ctrl+E pour sélectionner un des fichiers ouverts dans l’éditeur ( + filtre éventuel).

  • Guillaume

    Bonjour tout le monde, je cherche le raccourcis qui permet de faire des retour à la ligne automatique dans eclipse, ou même une option qui le permet. Merci !

  • sk-treasure.com

    Ctrl + 1 est mon préféré

  • Arnaud Ref

    Avec Visual Studio on utilise beaucoup le clic droit de la souris… ce n’est pas le cas avec eclipse?