Skrót klawiaturowy JetBrains / IntelliJ, aby zwinąć wszystkie metody


226

Pracuję nad jakimś starszym kodem, który ma klasę zawierającą ponad 10 000 linii kodu i setki metod. Czy istnieje skrót dla dowolnego IDE JetBrain (ponieważ skrót prawdopodobnie byłby wspólny dla wszystkich), aby zwinąć wszystkie metody / funkcje, tak aby wyświetlane były tylko podpisy metod?

Coś takiego:

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

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

12
Możesz spojrzeć na skróty do składania kodu Intellijskiego . Myślę, że Ctrl + Shift + Minus jest tym, czego potrzebujesz.
— lifus

YEAHHHH. Nie wiedziałem, że nazywa się to składaniem kodu, więc nie mogłem go znaleźć. Dzięki!
— Brad

3
Kusiłbym, by przegłosować, z wyjątkiem tego, że prawie płakałem, kiedy powiedziałeś „klasa, która ma ponad 10 000 linii kodu i ma około 100 metod”, więc +1 za próbę.
— Peter Lawrey

ha. też byłbym, ale to nie moja wina. Odziedziczyłem to
— Brad

4
Zdaję sobie sprawę, że to nie odpowiada na zadane pytanie, ale Ctrl-F12otworzy nawigator do przeskakiwania między metodami itp. (Możesz zawęzić listę metod, wpisując również ten Widok Struktury .) Panel Struktury ( Alt-7) dodaje więcej opcje Może to być bardziej skuteczny sposób eksploracji plików przy użyciu dużej liczby metod, dlatego zostawiam tutaj sugestię dla przyszłych pracowników Google.
— kghastie

Odpowiedzi:


432

Możesz spojrzeć na skróty do składania kodu Intellijskiego .

W systemie Windows / Linux: Ctrl+ Shift+-

W systemie Mac użyj Command+ Shift+-

Aby rozwinąć ponownie, wykonaj Ctrl+ Shift+ +lub Command+ Shift+ +szacunek.


10
Polecenie, które również nie rekurencyjnie zwija wszystko w metodach, byłoby przyjemne.
— trinity420,

1
Ctrl + -: zwiń bieżącą metodę
— Ali_dev

Odpowiedź poniżej jest znacznie lepsza, ponieważ ma całą ziarnistość, której szukałem!
— Angelos Pikoulas

@Ali_dev czy istnieje sposób, aby zrobić to samo dla wszystkich metod?
— shashwat

@shashwat nie do końca. możesz użyć Ctrl + Shift + Minus, aby zwinąć wszystkie, a następnie użyć Ctrl + Alt + Plus, aby otworzyć jedną z nich rekurencyjnie.
— Ali_dev

86

Powyższa sugestia kodu Ctrl+ Shift+ -składa rekurencyjnie wszystkie bloki kodu. Chciałem tylko złożyć metody na moje zajęcia.

Code> Folding> Expand all to level>1

Udało mi się to osiągnąć za pomocą opcji menu Code > Folding > Expand all to level > 1.

Ponownie przypisałem go do Ctrl+, NumPad-1co pozwala mi szybko zwinąć moje klasy według ich metod.

Działa to na „poziomie bloku” pliku i zakłada, że ​​masz klasy zdefiniowane na najwyższym poziomie pliku, który działa dla kodu takiego jak PHP, ale nie dla JavaScript (zagnieżdżone zamknięcia itp.)


4
To powinna być zaakceptowana odpowiedź IMO. Rozwiązuje problem w 1 kroku i rozwiązuje go dokładnie tak, jak pytano. Jeśli zamiast tego zrobisz zaakceptowaną odpowiedź, będziesz składać wszystko, co można złożyć, a następnie rozkładać, aby zobaczyć swoje metody. Robiłem to drugie i nie jest to tak czasochłonne, ale miło jest wiedzieć, że mogę pominąć kilka kroków z tym pierwszym z tego postu. Dzięki!
— John Pancoast,

1
Fajnie, to wystarcza. Jedynym problemem, z jakim się teraz spotykam, jest to, że nie mogę tego zrobić, naciskając przyciski klawiatury, ponieważ mam MacBookPro bez numpad. Przypuszczam, że będę musiał Google przydzielić niestandardowe klucze. Westchnienie.
— CodeGodie

IntelliJ ma do tego domyślną mapę klawiszy: Ctrl+ NumPad-*następnie żądany poziom składania, wprowadzony na NumPad.
— Matt C

Zawala bloki wewnątrz metod! Czy nie ma żadnego fałdu poziomu 0 ?
— Amir Fo

22

przejdź do opcji menu Kod> Składanie, aby uzyskać dostęp do wszystkich opcji związanych ze składaniem kodu i ich skrótów.


1
Jest to szczególnie przydatne, jeśli używasz innej mapy klawiszy (takiej jak mapa klawiszy zaćmienia).
— Magnilex,

Niestety skróty „drugiego uderzenia” nie wyświetlają poprawnie skrótu w menu. Zobacz odpowiedź przemyślenia.
— Antymon

7

@ powyższa odpowiedź precastic jest, imo, właściwym pomysłem.

Warto zauważyć, że w IDEA 2018.2 (i na pewno w innych pobliskich wersjach) dostępne są domyślne skróty klawiaturowe: (pokazuje Mac, zobacz Kod> Składanie> Rozwiń wszystko do poziomu dla twojego systemu):

Cmd+ Option+ Keypad *, 1- rozwiń wszystko do poziomu 1
Cmd+ Option+ Keypad *, 2- rozwiń wszystko do poziomu 2
...
Cmd+ Option+ Keypad *, 5- rozwiń wszystko do poziomu 5

Uwaga: są to skróty „drugiego uderzenia”. Najpierw naciśnij Cmd+ Option+ *, następnie zwolnij, a następnie naciśnij żądany numer.


1
Dla wszystkich nieCmdCtrlOptionShift
— Macowych

Dobrze wiedzieć o skrótach drugiego skoku.
— Varun Sharma

2

Możesz przejść do ustawienia> edytor> ogólne> zwijanie kodu i zaznacz „pokaż kontur zwijania kodu”.


1

W Rider będzie to Ctrl+ Shift+ Keypad *,2

Ale ! , nie można użyć cyfry 2 na klawiaturze , działałaby tylko cyfra 2 w górnym rzędzie klawiatury.


2
Numer na klawiaturze numerycznej działa, ale najpierw musisz zwolnić Ctrl + Shift + * przed naciśnięciem klawisza numerycznego 2.
— Northnroro
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.