2010-05-13 12 views
47

¿Existe alguna manera más simple de reordenar métodos dentro de un archivo fuente de clase en IntelliJ que cortar y pegar el código manualmente? Hoy en día a menudo lo necesito mientras refactorizo ​​el código heredado, p. para mover los métodos relacionados cerca uno del otro en el código fuente.¿Forma simple de reordenar métodos de una clase Java en IntelliJ?

En Eclipse AFAIK hay una vista similar a la vista de estructura de IntelliJ, donde puedo arrastrar y soltar métodos. Sin embargo, esto no funciona en IntelliJ y tampoco pude encontrar ninguna pista de su ayuda.

Estoy usando IntelliJ 9.0.2 para ser específico.

+0

creo que la mejor solución sería una herramienta de formato que ordena sus métodos de forma automática. Prosa: los métodos deberían ser orderes en la forma en que son llamados. Al igual que leerías un artículo en un periódico. – Chris311

Respuesta

71

Puede seleccionar un nombre de método y pulsa: Ctrl +Shift +Hasta o Ctrl +Shift +abajo para moverlo hacia arriba y hacia abajo.

En OS X: Cmd + Shift + Hasta o Cmd + Shift + abajo

Más allá de esto, el Rearranger Plugin le permite mover los métodos rápidamente a su alrededor, e incluso definir una ordenamiento estándar basado en su convención de codificación.

+0

¿no hay algo para reordenar alfabéticamente por ejemplo? –

+0

El enlace está muerto, este parece ser el correcto: http://java.net/projects/rearranger – stian

+0

@stian - He editado la publicación para que apunte a la página del complemento en el sitio web de JetBrains, ya que el enlace publicado no parece tener ninguna descarga disponible – adrian

2

Selecciona un bloque de texto (presiona Ctrl-W varias veces) y luego usa Ctrl-Shift-Up y Ctrl-Shift-Down para moverlo.

7

Con el cursor en la línea de definición del método (que no tiene que y presiona ctrl + cambio + hasta o ctrl + cambio + abajo, para moverse hacia arriba o hacia abajo, respectivamente .

también puede a ctrl +cambio + numérico - a colapsar todo rápidamente para que pueda concentrarse en el movimiento alrededor (lisos - funciona en mi ordenador portátil, así, no sé por qué) y ctrl +cambio + numérico + para volver a ver todo (ctrl- shift-equal funciona en mi computadora portátil también).

6

No es una respuesta perfecta todavía, debido a un error en IntelliJ.

Aunque IntelliJ ofrece esta característica implícitamente, pero necesita ser habilitada así como también arreglada. El camino sugerido por OP es la organización técnica de los métodos en primer orden. Sin embargo, si utiliza ordenamiento de primer orden (que funciona correctamente), debería reducir el trabajo manual de mover funciones por mucho, organizando todos los métodos de llamador y llamante juntos.

Issue Link: https://youtrack.jetbrains.com/issue/IDEA-149524. Por favor vota por su resolución.

IntellijRearrangeMethodsInDFO

La acción apropiada para esto es Código Reorganizar. No tiene asignada ninguna tecla, pero puede definir su propio uso de Preferencias-> Mapa de teclas.

RearrangeActionMenuButton

enter image description here

4

IntelliJ tiene incorporado un sistema que le permite especificar cómo ordenar sus métodos. Debe ir a Configuración (Ctrl + Alt + S) -> Editor -> Estilo de código -> Java -> Disposición (pestaña) y desplácese hacia abajo hasta que encuentre los íconos con methods. Allí puede manipular las opciones para ordenarlas por visibilidad, o alfabéticamente, o para mantener las relacionadas agrupadas. Aquí hay una captura de pantalla de mi configuración que ordenará los métodos automáticamente por visibilidad (pública, protegida, privada) y alfabéticamente (a-z). Los resaltados azules muestran las reglas actualmente seleccionadas.

enter image description here

Cuestiones relacionadas