Сочетание клавиш JetBrains / IntelliJ, чтобы свернуть все методы

226

Я работаю над унаследованным кодом, у которого есть класс, который содержит более 10000 строк кода и имеет сотни методов. Существует ли ярлык для любой среды IDE JetBrains (поскольку ярлык, скорее всего, будет использоваться всеми ими), чтобы свернуть все методы / функции, чтобы отображались только сигнатуры методов?

Что-то вроде этого:

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

public String mySecondMethod(String arg1, int arg2){...}
штифтик
источник
12
Вы можете взглянуть на интеллигентные свертки кода . Я думаю, что Ctrl + Shift + Minus - это то, что вам нужно.
lifus
Yeahhhh. Я не знал, что это называется свертыванием кода, поэтому я не смог его найти. Спасибо!
Брэд
3
Я бы соблазнился понизить голос, за исключением того, что чуть не заплакал, когда вы сказали «класс, который содержит более 10000 строк кода и содержит около 100 методов», так что +1 за попытку.
Питер Лори
га. Я был бы тоже, но это не моя вина. Я унаследовал это
Брэд
4
Я понимаю, что это не отвечает на заданный вопрос, но Ctrl-F12откроет навигатор для переключения между методами и т. Д. (Вы можете сузить список методов, также набрав в этом представлении структуры .) Панель структуры ( Alt-7) добавляет больше параметры. Это может быть более эффективный способ изучения файлов с большим количеством методов, поэтому я оставлю это предложение для будущих гуглеров.
kghastie

Ответы:

432

Вы можете взглянуть на интеллигентные свертки кода .

Для Windows / Linux сделайте: Ctrl+ Shift+-

Для использования макинтош Command+ Shift+-

Развернуть снова сделать Ctrl+ Shift+ +или Command+ Shift+ +соответственно.

lifus
источник
10
Команда, которая не рекурсивно сворачивает все внутри методов, была бы хороша.
trinity420
1
Ctrl + -: свернуть текущий метод
Ali_dev
Ответ ниже гораздо лучше, потому что в нем есть все детали, которые я искал!
Ангелос Пикулас
@Ali_dev есть ли способ сделать то же самое для всех методов?
Шашват
@shashwat не совсем. Вы можете использовать Ctrl + Shift + Minus, чтобы свернуть их все, а затем использовать Ctrl + Alt + Plus, чтобы открыть один из них рекурсивно.
Ali_dev
86

Приведенное выше предложение кода Ctrl+ Shift+ -рекурсивно сворачивает все блоки кода. Я только хотел сложить методы для своих занятий.

Code> Folding> Expand all to level>1

Мне удалось добиться этого с помощью опции меню Code > Folding > Expand all to level > 1.

Я переназначил его на Ctrl+, NumPad-1что дает мне быстрый способ свернуть мои уроки до их методов.

Это работает на «уровне блоков» файла и предполагает, что у вас есть классы, определенные на верхнем уровне вашего файла, который работает для кода, такого как PHP, но не для JavaScript (вложенные замыкания и т. Д.)

Precastic
источник
4
Это должен быть принятый ответ ИМО. Это решает проблему в 1 шаг и решает это точно так, как просили. Если вместо этого вы сделаете принятый ответ, вы сложите все, что можно сложить, а затем развернете, чтобы увидеть ваши методы. Я делал последний , и это не что отнимает много времени, но это приятно знать , что я могу пропустить некоторые шаги с бывшим с этого поста. Спасибо!
Джон
1
Хорошо, это делает это. Единственная проблема, с которой я сталкиваюсь сейчас, это то, что я не могу сделать это, нажимая кнопки клавиатуры, так как у меня MacbookPro без numpad. Надо будет Google о том, как назначить пользовательские ключи я полагаю. Вздох.
CodeGodie
IntelliJ имеет для этого стандартную раскладку клавиш: Ctrl+, NumPad-*за которой следует требуемый уровень свертывания, введенный на NumPad.
Мэтт C
Это разрушает блоки внутри методов! Разве нет уровня 0 раз ?
Амир Фо
22

перейдите к пункту меню Code> Folding, чтобы получить доступ ко всем параметрам свертывания кода и их ярлыкам.

Рахул Тивари
источник
1
Это особенно полезно, если вы используете другую карту ключей (например, карту ключей eclipse).
Magnilex
К сожалению, ярлыки «второго удара» не отображают ярлык в меню должным образом. Смотри ответ.
Сурьма
7

Ответ @ precastic выше, IMO, правильная идея.

Стоит отметить, что в IDEA 2018.2 (и, конечно, в других близлежащих версиях) для этого предусмотрены сочетания клавиш по умолчанию: (для Mac см. «Код»> «Свернуть»> «Развернуть все до уровня» для вашей системы):

Cmd+ Option+ Keypad *, 1- развернуть все до уровня 1
Cmd+ Option+ Keypad *, 2- развернуть все до уровня 2
...
Cmd+ Option+ Keypad *, 5- развернуть все до уровня 5

Примечание: это ярлыки «второго удара». Сначала нажмите Cmd+ Option+ *, затем отпустите, а затем нажмите номер, который вы хотите.

overthink
источник
1
Для всех не макинтош людей Cmdесть Ctrlи OptionестьShift
desertSniper87
Полезно знать о ярлыках второго удара.
Варун Шарма
2

Вы можете перейти к настройке> редактор> общие> свертывание кода и отметьте «показать схему свертывания кода».

Мейсам Джафари
источник
1

В Rider это было бы Ctrl+ Shift+ Keypad *,2

Но !, вы не можете использовать номер 2 на клавиатуре , только номер 2 в верхнем ряду клавиатуры будет работать.

Росди Касим
источник
2
Номер на цифровой клавиатуре работает, но вам нужно сначала нажать Ctrl + Shift + *, прежде чем нажимать цифровую клавиатуру 2.
Northnroro