简体   繁体   中英

JetBrains / IntelliJ keyboard shortcut to collapse all methods

I'm working on some legacy code that has a class that is 10,000+ lines of code and has 100s of methods. Is there a shortcut for any JetBrains IDE (since the shortcut would likely be shared across all of them) to collapse all the methods / functions so that only the method signatures are shown?

Something like this:

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

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

You may take a look at intellij code folding shortcuts .

For Windows/Linux do: Ctrl + Shift + -

For mac use Command + Shift + -

To unfold again do Ctrl + Shift + + or Command + Shift + + respectivley.

The above suggestion of Ctrl + Shift + - code folds all code blocks recursively. I only wanted to fold the methods for my classes.

Code > Folding > Expand all to level > 1

I managed to achieve this by using the menu option Code > Folding > Expand all to level > 1 .

I re-assigned it to Ctrl + NumPad-1 which gives me a quick way to collapse my classes down to their methods.

This works at the 'block level' of the file and assumes that you have classes defined at the top level of your file, which works for code such as PHP but not for JavaScript (nested closures etc.)

转到菜单选项代码 > 折叠以访问所有代码折叠相关选项及其快捷方式。

@precastic's answer above is, imo, the right idea.

Worth noting that in IDEA 2018.2 (and surely other nearby versions) there are default keyboard shortcuts for this: (showing Mac, see Code > Folding > Expand All to Level for your system):

Cmd + Option + Keypad * , 1 - expand all to level 1
Cmd + Option + Keypad * , 2 - expand all to level 2
...
Cmd + Option + Keypad * , 5 - expand all to level 5

Note: these are "second stroke" shortcuts. First press Cmd + Option + * , then release, then hit the number you want.

您可以转到设置 > 编辑器 > 常规 > 代码折叠并选中“显示代码折叠大纲”。

In Rider, this would be Ctrl + Shift + Keypad * , 2

But!, you cannot use the number 2 on keypad , only number 2 on the top row of the keyboard would work.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM