IntelliJ IDEA - Fold for loop and/or if/else state

2020-07-01 11:26发布

问题:

I'd love to have a way of IntelliJ letting me fold for loops and if/else statements. But, I can't seem to find a way to do it automatically. I know you can use the //region and //endregion comments, or that you can do it manually with Ctrl+Shift+period, but is there a way to avoid all that and have it fold like methods or classes, without doing all that other stuff?

回答1:

You can fold and unfold:

  • Code blocks, i.e. code fragments surrounded by a matched pair of curly braces {}.

    To collapse a code block, place the cursor within that block and then select Code | Folding | Fold Code Block or press ++. (mac) or ctrl++. (Linux / Windows).

Note Code folding works for the keywords if/ while/ else/ for/ try/ except/ finally/ with in case of at least two statements.

See: https://www.jetbrains.com/help/idea/2016.3/code-folding.html



回答2:

Under Editor > General > Code Folding, you can enable this functionality expressly.

By default, if you wish for it to collapse method bodies, you can tick that selection. There are a lot of other options available, which should cover your needs.

If there's something that isn't covered, you can always enable "Show code folding outline" and use that to fold certain elements, although loops aren't foldable.



回答3:

Put the cursor anywhere in the line of method definition for which you want the code fragments to be folded and press ctrl+shift+- this will collapse the whole method and press ctrl++ right after. this will keep the if and for loop fragments inside the method collapsed (intellij 2020.1.1 linux)