106 votes

Moyen simple de réorganiser les méthodes d'une classe Java dans IntelliJ?

Y a-t-il un moyen plus simple de réorganiser les méthodes dans un fichier source de classe dans IntelliJ que de couper et coller le code manuellement? De nos jours, j'ai souvent besoin de le faire lors de la refonte du code hérité, par exemple pour rapprocher les méthodes connexes dans le code source.

Dans Eclipse, à ma connaissance, il existe une vue similaire à la vue Structure d'IntelliJ, où je peux faire glisser et déposer des méthodes. Cependant, cela ne fonctionne pas dans IntelliJ et je n'ai trouvé aucun indice dans son aide non plus.

Je utilise IntelliJ 9.0.2 pour être précis.

132voto

retronym Points 35066

Vous pouvez sélectionner un nom de méthode et appuyer sur : Ctrl+Shift+Up ou Ctrl+Shift+Down pour le déplacer vers le haut et vers le bas.

Sous OS X : Cmd+Shift+Up ou Cmd+Shift+Down

En outre, le plugin Rearranger vous permet de déplacer rapidement des méthodes et même de définir un ordre standard basé sur votre convention de codage.

46voto

george racu Points 11

IntelliJ a un système intégré qui vous permet de spécifier l'ordre de vos méthodes. Vous devez vous rendre dans Paramètres (Ctrl + Alt + S) -> Éditeur -> Style de code -> Java -> Arrangement (onglet) et faire défiler jusqu'à ce que vous trouviez les icônes avec methods. Là, vous pouvez manipuler les options pour les trier par visibilité, ou alphabétiquement, ou pour garder les méthodes connexes regroupées ensemble. Voici une capture d'écran de mes paramètres qui triera automatiquement les méthodes par visibilité (public, protected, private) et alphabétiquement (a-z). Les points bleus montrent les règles actuellement sélectionnées.

entrer la description de l'image ici

30voto

saurabheights Points 1843

Pas une réponse parfaite encore, en raison d'un bug dans IntelliJ.

Même si IntelliJ propose cette fonctionnalité de manière implicite, elle doit être activée et corrigée. La méthode suggérée dans le post initial consiste à organiser techniquement les méthodes dans l'ordre de parcours en profondeur. Cependant, si vous utilisez l'ordonnancement en largeur (qui fonctionne correctement), cela devrait réduire considérablement le travail manuel de déplacement des fonctions, en organisant tous les appels et les méthodes appelées ensemble.

Lien vers le problème : https://youtrack.jetbrains.com/issue/IDEA-149524. Merci de voter pour sa résolution.

IntellijRearrangeMethodsInDFO

L'action appropriée pour cela est Réorganiser le code. Aucune touche n'est attribuée à cette action, mais vous pouvez définir la vôtre en utilisant Préférences->Keymap.

RearrangeActionMenuButton

entrer la description de l'image ici

10voto

Yishai Points 42417

Avec votre curseur sur la ligne de définition de la méthode (vous n'avez pas besoin de et appuyez sur ctrl+shift+haut ou ctrl+shift+bas, pour monter ou descendre respectivement.

Vous pouvez également utiliser ctrl+shift+pad numérique - pour rapidement tout réduire afin de vous concentrer sur votre déplacement (le simple - fonctionne aussi sur mon ordinateur portable, je ne sais pas pourquoi) et ctrl+shift+pad numérique + pour revenir à tout voir (ctrl-shift-touche égale fonctionne aussi sur mon ordinateur portable).

7voto

Jacob Mattison Points 32137

Sélectionnez un bloc de texte (appuyez sur Ctrl-W quelques fois) puis utilisez Ctrl-Shift-Up et Ctrl-Shift-Down pour le déplacer.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X