web-dev-qa-db-fra.com

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

Existe-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’en ai souvent besoin lors de la refactorisation du code hérité, par exemple. pour rapprocher les méthodes liées dans le code source.

Dans Eclipse AFAIK, il existe une vue similaire à la vue Structure d’IntelliJ, dans laquelle je peux faire glisser des méthodes. Cependant, cela ne fonctionne pas dans IntelliJ et je n’ai trouvé aucune indication de son aide.

J'utilise IntelliJ 9.0.2 pour être précis.

58
Péter Török

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

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

Au-delà, Rearranger Plugin vous permet de déplacer rapidement les méthodes et même de définir un ordre standard basé sur votre convention de codage.

86
retronym

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

Bien qu'IntelliJ offre cette fonctionnalité implicitement, elle doit être activée et corrigée. La méthode suggérée par le PO consiste à organiser techniquement les méthodes en profondeur-premier ordre. Toutefois, si vous utilisez la commande Breadth-first (qui fonctionne correctement), le travail manuel de déplacement des fonctions devrait être considérablement réduit, en organisant ensemble toutes les méthodes appelant et appelé.

Lien de publication: https://youtrack.jetbrains.com/issue/IDEA-149524 . S'il vous plaît, votez pour sa résolution.

 IntellijRearrangeMethodsInDFO

L'action appropriée pour cela est le code de réarrangement. Cela n'a pas de clé assignée, mais vous pouvez définir la vôtre en utilisant Préférences-> Keymap.

 RearrangeActionMenuButton

 enter image description here

10
saurabheights

IntelliJ a un système intégré qui vous permet de spécifier comment commander vos méthodes. Vous devez aller dans Paramètres (Ctrl + Alt + S) -> Editeur -> Code Style -> Java -> Arrangement (onglet) et faites défiler jusqu'à ce que vous trouviez les icônes avec methods. Là, vous pouvez manipuler les options pour les trier par visibilité, ou par ordre alphabétique, ou pour conserver celles qui sont liées regroupées . Voici une capture d’écran de mes paramètres qui classera les méthodes automatiquement par visibilité (publique, protégée, privée) et alphabétiquement ( az) . Les zones en surbrillance bleue indiquent les règles actuellement sélectionnées.

 enter image description here

8
georger

Avec votre curseur sur la ligne de définition de la méthode (vous n’avez pas à le faire et appuyez sur ctrl+shift+up ou ctrl+shift+down, pour monter ou descendre respectivement.

Vous pouvez aussi ctrl+shift+numberpad - pour tout effacer rapidement afin que vous puissiez vous concentrer sur vos déplacements - fonctionne aussi sur mon ordinateur portable, je ne sais pas pourquoi) et ctrl+shift+numberpad + revenir à tout voir (ctrl-shift-égal fonctionne également sur mon ordinateur portable).

7
Yishai

Sélectionnez un bloc de texte (appuyez plusieurs fois sur Ctrl-W), puis utilisez les touches Ctrl-Maj-Haut et Ctrl-Maj-Bas pour le déplacer.

2
Jacob Mattison

Il existe un moyen automatisé que vous pourrez modifier plus tard.

Code -> Afficher le dialogue de reformatage 

et cochez la case "réorganiser le code"

0
Alon