2010-05-13 12 views
47

Esiste un modo più semplice di riordinare i metodi all'interno di un file sorgente di classe in IntelliJ piuttosto che tagliare e incollare il codice manualmente? Al giorno d'oggi ho spesso bisogno di questo mentre refactoring il codice legacy, ad es. spostare i metodi correlati l'uno vicino all'altro nel codice sorgente.Un modo semplice per riordinare i metodi di una classe Java in IntelliJ?

In Eclipse AFAIK è presente una vista simile alla vista Struttura di IntelliJ, in cui è possibile trascinare e rilasciare i metodi. Tuttavia, ciò non funziona in IntelliJ e non sono riuscito a trovare alcun suggerimento dal suo aiuto.

Sto usando IntelliJ 9.0.2 per essere specifico.

+0

Penso che la soluzione migliore sarebbe uno strumento di formattazione che ordina automaticamente i vostri metodi. Prosa: i metodi devono essere ordinati nel modo in cui vengono chiamati. Proprio come leggerei un articolo su un giornale. – Chris311

risposta

71

È possibile selezionare un nome di metodo e ha colpito: Ctrl +Maiusc +Fino o Ctrl +Maiusc +Giù a muoversi su e giù.

Su OS X: Cmd + Maiusc + Fino o Cmd + Maiusc + Giù

di là di questo il Rearranger Plugin consente di spostare i metodi rapidamente intorno, e anche definire una ordinamento standard basato sulla convenzione di codifica.

+0

non c'è qualcosa da riordinare solo alfabeticamente per esempio? –

+0

Il link è morto, questo sembra essere quello corretto: http://java.net/projects/rearranger – stian

+0

@stian - Ho modificato il post in modo che punti alla pagina del plugin sul sito Web di JetBrains, dal momento che il collegamento postato non sembra avere alcun download disponibile – adrian

2

Selezionare un blocco di testo (premere Ctrl-W alcune volte) e quindi utilizzare Ctrl-Maiusc-Su e Ctrl-Maiusc-Giù per spostarlo.

7

Con il cursore sulla linea di metodo di definizione (non è necessario e premere Ctrl + spostamento + fino o Ctrl + spostamento + giù, di spostare verso l'alto o verso il basso, rispettivamente, .

Puoi anche Ctrl +spostamento + numberpad - a crollare rapidamente tutto in modo da poter concentrarsi sulla muoversi (plain - opere sul mio portatile così, non so perché) e Ctrl +spostamento + numberpad + di tornare a vedere tutto (Ctrl shift-uguali funziona anche sul mio laptop).

6

Non è una risposta perfetta eppure, a causa di un bug in IntelliJ.

Sebbene IntelliJ offra questa funzionalità in modo implicito, ma deve essere abilitata e corretta. Il modo suggerito dall'OP è quello di organizzare tecnicamente i metodi in profondità: il primo ordine. Tuttavia, se si usa l'ordine di ampiezza (che funziona correttamente), si dovrebbe ridurre di molto il lavoro manuale di spostamento delle funzioni, organizzando tutti i metodi caller e callee.

Issue Link: https://youtrack.jetbrains.com/issue/IDEA-149524. Si prega di votare per la sua risoluzione.

IntellijRearrangeMethodsInDFO

L'azione appropriata per questo è il codice Riordina. Questo non ha una chiave assegnata ad esso, ma puoi definirne uno usando Preferenze-> Mappa dei tasti.

RearrangeActionMenuButton

enter image description here

4

IntelliJ è dotato di un sistema che ti permette di specificare come ordinare i vostri metodi. Devi andare su Impostazioni (Ctrl + Alt + S) -> Editor -> Stile codice -> Java -> Disposizione (scheda) e scorrere verso il basso fino a trovare le icone con methods. Qui puoi manipolare le opzioni per ordinarle in base alla visibilità o in ordine alfabetico o per mantenere raggruppati quelli correlati. Ecco uno screenshot delle mie impostazioni che ordinerà automaticamente i metodi mediante visibilità (pubblica, protetta, privata) e alfabeticamente (a-z). Le evidenziazioni blu mostrano le regole attualmente selezionate.

enter image description here

Problemi correlati