Tasto di scelta rapida JetBrains / IntelliJ per comprimere tutti i metodi


226

Sto lavorando su un codice legacy che ha una classe di oltre 10.000 righe di codice e ha centinaia di metodi. Esiste un collegamento per qualsiasi IDE JetBrains (poiché il collegamento sarebbe probabilmente condiviso tra tutti loro) per comprimere tutti i metodi / funzioni in modo che vengano mostrate solo le firme dei metodi?

Qualcosa come questo:

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

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

12
Puoi dare un'occhiata alle scorciatoie da tastiera del codice intellij . Immagino che Ctrl + Maiusc + Meno sia ciò di cui hai bisogno.
— lifus,

Yeahhhh. Non sapevo che si chiamasse codice pieghevole quindi non riuscivo a trovarlo. Grazie!
— Brad,

3
Sarei tentato di sottovalutare, tranne per il fatto che ho quasi pianto quando hai detto "una classe che comprende oltre 10.000 righe di codice e ha circa 100 metodi", quindi +1 per provare.
— Peter Lawrey,

ha. lo sarei anche io, ma non è colpa mia. Ho ereditato questo
— Brad

4
Mi rendo conto che questo non risponde alla domanda come richiesto, ma Ctrl-F12aprirà un navigatore per passare da un metodo all'altro, ecc. (Puoi restringere l'elenco dei metodi digitando anche in questa vista struttura .) Il riquadro struttura ( Alt-7) aggiunge altro opzioni. Questo potrebbe essere un modo più efficace di esplorare i file con un gran numero di metodi, quindi lascio qui il suggerimento per futuri googler.
— kghastie,

Risposte:


432

Puoi dare un'occhiata alle scorciatoie da tastiera del codice intellij .

Per Windows / Linux fai: Ctrl+ Shift+-

Per mac usa Command+ Shift+-

Per spiegarlo di nuovo, fai Ctrl+ Shift+ +o Command+ Shift+ +rispettivamente.


10
Un comando che non comprime in modo ricorsivo anche tutto all'interno dei metodi sarebbe carino.
— trinity420,

1
Ctrl + -: comprime il metodo corrente
— Ali_dev

La risposta qui sotto è molto migliore, perché ha tutta la granularità che stavo cercando!
— Angelos Pikoulas,

@Ali_dev c'è un modo per fare lo stesso con tutti i metodi?
— Shashwat,

@shashwat non esattamente. puoi usare Ctrl + Maiusc + Meno per comprimerli tutti e quindi usare Ctrl + Alt + Plus per aprirne uno ricorsivamente.
— Ali_dev

86

Il suggerimento sopra di Ctrl+ Shift+ -code piega ricorsivamente tutti i blocchi di codice. Volevo solo piegare i metodi per le mie lezioni.

Code> Folding> Expand all to level>1

Sono riuscito a raggiungere questo obiettivo utilizzando l'opzione di menu Code > Folding > Expand all to level > 1.

L'ho assegnato nuovamente a Ctrl+ NumPad-1che mi dà un modo rapido per comprimere le mie classi fino ai loro metodi.

Funziona a "livello di blocco" del file e presuppone che tu abbia classi definite al livello più alto del tuo file, che funziona per codice come PHP ma non per JavaScript (chiusure nidificate ecc.)


4
Questa dovrebbe essere la risposta accettata IMO. Risolve il problema in 1 passaggio e risolve esattamente come richiesto. Se invece tu fai la risposta accettata, piegherai tutto ciò che può essere piegato e poi spieghi per vedere i tuoi metodi. Ho fatto questi ultimi e non è che richiede tempo, ma è bello sapere che posso saltare alcuni passaggi con l'ex da questo post. Grazie!
— John Pancoast,

1
Bello, lo fa. L'unico problema che sto affrontando ora è che non posso farlo premendo i pulsanti della tastiera in quanto ho un MacbookPro senza numpad. Dovrò Google su come assegnare le chiavi personalizzate suppongo. Sospiro.
— CodeGodie,

IntelliJ ha una mappa di tasti predefinita per questo: Ctrl+ NumPad-*seguito dal livello di piegatura desiderato, inserito nel NumPad.
— Matt C

Crolla i blocchi all'interno dei metodi! Non c'è un livello 0 volte ?
— Amir Fo

22

vai all'opzione di menu Codice> Piegatura per accedere a tutte le opzioni relative alla piegatura del codice e alle relative scorciatoie.


1
Ciò è particolarmente utile se si utilizza un'altra keymap (come la keymap eclipse).
— Magnilex,

Sfortunatamente, le scorciatoie "seconda battuta" non visualizzano correttamente la scorciatoia nel menu. Vedi la risposta del pensiero eccessivo.
— Antimonio

7

La risposta di @ precastic sopra è, imo, l'idea giusta.

Vale la pena notare che in IDEA 2018.2 (e sicuramente altre versioni vicine) ci sono scorciatoie da tastiera predefinite per questo: (mostrando Mac, vedi Codice> Pieghevole> Espandi tutto a livello per il tuo sistema):

Cmd+ Option+ Keypad *, 1- espandi tutto al livello 1
Cmd+ Option+ Keypad *, 2- espandi tutto al livello 2
...
Cmd+ Option+ Keypad *, 5- espandi tutto al livello 5

Nota: si tratta di scorciatoie "seconda battuta". Premi prima Cmd+ Option+ *, quindi rilascia, quindi premi il numero desiderato.


1
Per tutte le persone non mac Cmdè Ctrled OptionèShift
— desertSniper87

Buono a sapersi sulle scorciatoie del secondo colpo.
— Varun Sharma,

2

Puoi andare su impostazione> editor> generale> piegatura del codice e seleziona "mostra profilo piegatura codice".


1

In Rider, questo sarebbe Ctrl+ Shift+ Keypad *,2

Ma !, non puoi usare il numero 2 sulla tastiera , funzionerebbe solo il numero 2 sulla riga superiore della tastiera.


2
Il numero sul tastierino numerico funziona, ma è necessario rilasciare Ctrl + Maiusc + * prima di premere il tastierino numerico 2.
— Northnroro
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.