Método abreviado de teclado JetBrains / IntelliJ para contraer todos los métodos

226

Estoy trabajando en un código heredado que tiene una clase que es más de 10,000 líneas de código y tiene cientos de métodos. ¿Existe un acceso directo para cualquier IDE de JetBrains (ya que el acceso directo probablemente se compartiría en todos ellos) para contraer todos los métodos / funciones de modo que solo se muestren las firmas de los métodos?

Algo como esto:

public String myMethod(String arg1, int arg2){...}

public String mySecondMethod(String arg1, int arg2){...}
Puntilla
fuente
12
Puede echar un vistazo a los accesos directos plegables de código intellij . Supongo que Ctrl + Shift + Minus es lo que necesitas.
Lifus
Sihhh No sabía que se llamaba plegado de código, así que no pude encontrarlo. ¡Gracias!
Brad
3
Sentiría la tentación de votar negativamente, excepto que casi lloré cuando dijiste "una clase que tiene más de 10,000 líneas de código y tiene alrededor de cientos de métodos", así que +1 por intentarlo.
Peter Lawrey
decir ah. Yo también lo estaría, pero no es mi culpa. Heredé esto
Brad
44
Me doy cuenta de que esto no responde la pregunta como se le preguntó, pero Ctrl-F12abrirá un navegador para saltar entre métodos, etc. (Puede reducir la lista de métodos escribiendo también en esta Vista de estructura ). El Panel de estructura ( Alt-7) agrega más opciones. Esta podría ser una forma más efectiva de explorar archivos con una gran cantidad de métodos, por lo que dejo la sugerencia aquí para futuros googlers.
kghastie

Respuestas:

432

Puede echar un vistazo a los accesos directos plegables de código intellij .

Para Windows / Linux hacer: Ctrl+ Shift+-

Para mac usa Command+ Shift+-

Para desplegar nuevamente haz Ctrl+ Shift+ +o Command+ Shift+ +respectivley.

Lifus
fuente
10
Un comando que no contraiga recursivamente todo dentro de los métodos también sería bueno.
trinity420
1
Ctrl + -: contraer el método actual
Ali_dev
¡La respuesta a continuación es mucho mejor, porque tiene toda la granularidad que estaba buscando!
Angelos Pikoulas
@Ali_dev ¿hay alguna manera de hacer lo mismo con todos los métodos?
shashwat
@shashwat no exactamente. puede usar Ctrl + Shift + Minus para contraerlos todos y luego usar Ctrl + Alt + Plus para abrir uno de esos de forma recursiva.
Ali_dev
86

La sugerencia anterior de código Ctrl+ Shift+ -pliega todos los bloques de código de forma recursiva. Solo quería doblar los métodos para mis clases.

Code> Folding> Expand all to level>1

Logré lograr esto usando la opción de menú Code > Folding > Expand all to level > 1.

Lo reasigne a Ctrl+NumPad-1 que me da una forma rápida de colapsar mis clases a sus métodos.

Esto funciona en el 'nivel de bloque' del archivo y supone que tiene clases definidas en el nivel superior de su archivo, que funciona para código como PHP pero no para JavaScript (cierres anidados, etc.)

Precastic
fuente
44
Esta debería ser la respuesta aceptada de la OMI. Resuelve el problema en 1 paso y lo resuelve exactamente como se le solicitó. Si, en cambio, haces la respuesta aceptada, estarás doblando todo lo que se puede doblar y luego desplegando para ver tus métodos. He estado haciendo estos últimos y no es que consume mucho tiempo, pero es bueno saber que puedo omitir algunos pasos con los primeros de este post. ¡Gracias!
John Pancoast
1
Bien, esto lo hace. El único problema que estoy enfrentando ahora es que no puedo hacerlo presionando los botones del teclado, ya que tengo un MacbookPro con no numpad. Tendré que buscar en Google cómo asignar claves personalizadas, supongo. Suspiro.
CodeGodie
IntelliJ tiene un mapa de Ctrlteclas predeterminado para esto: + NumPad-*seguido del nivel de plegado que desea, ingresado en el NumPad.
Matt C
¡Colapsa los bloques dentro de los métodos! ¿No hay ningún nivel 0 veces ?
Amir Fo
22

vaya a la opción de menú Código> Plegado para acceder a todas las opciones relacionadas con el plegado de código y sus accesos directos.

Rahul Tiwari
fuente
1
Esto es espacialmente útil si usa otro mapa de teclas (como el mapa de teclas del eclipse).
Magnilex
Desafortunadamente, los accesos directos del "segundo golpe" no muestran el acceso directo en el menú correctamente. Ver la respuesta del pensamiento excesivo.
Antimonio
7

La respuesta anterior de @ precastic es, en mi opinión, la idea correcta.

Vale la pena señalar que en IDEA 2018.2 (y seguramente en otras versiones cercanas) hay atajos de teclado predeterminados para esto: (mostrando Mac, vea Código> Plegado> Expandir todo para nivelar para su sistema):

Cmd+ Option+ Keypad *, 1- expande todo al nivel 1
Cmd+ Option+ Keypad *,2 - expandir todo al nivel 2
...
Cmd+ Option+ Keypad *, 5- expandir todo al nivel 5

Nota: estos son atajos de "segundo golpe". Primero presione Cmd+Option + *, luego suelte, luego el número que desee.

pensar demasiado
fuente
1
Para todas las personas que no son mac Cmdes Ctrly OptionesShift
desertSniper87
Es bueno saber acerca de los atajos de segundo golpe.
Varun Sharma
2

Puede ir a configuración> editor> general> plegado de código y marque "mostrar esquema de plegado de código".

Meysam Jafari
fuente
1

En Rider, esto sería Ctrl+ Shift+ Keypad *,2

Pero !, no puede usar el número 2 en el teclado , solo el número 2 en la fila superior del teclado funcionaría.

Rosdi Kasim
fuente
2
El número en el teclado numérico funciona, pero primero debe soltar Ctrl + Shift + * antes de presionar el teclado numérico 2.
Northnroro