Xcode Swift code folding/collapse

code-folding, ios, macos, swift, xcode

Solution

Updates in Xcode 10:

Xcode 10 has increased support for code folding, including:

- A new code folding ribbon showing all of the multi-line foldable blocks of code in the editor

- A new style for folded code in the editor that allows you to edit lines with folded code

- Support for folding any block of code enclosed in curly braces

- Support for folding blocks of code from the folding ribbon, from structured selection, or from the

Menubar ► Editor ► Code Folding ► Fold menu item

Look at this snapshot:

Code folding was disabled in Xcode 9 beta 1, which is working now, in Xcode 9 Beta5 according to beta release note: Resolved in Xcode 9 beta 5 – IDE

Here is how:

- Press and hold `⌘` (command) button in keyboard and move/hover mouse cursor on any (start or end) braces. It will automatically highlight, block area.

- Keep (hold) `⌘` (command) button in pressed condition and click on highlighted area. It will enable quick menu popover window with `Fold` option.

- Select `Fold` from menu list. It will fold your code and shows 3 dots, folding/covering entire block.

- Now, to again unfold your code block, release `⌘` (command) button and click on 3 dots folding a block.

For easy understanding, look at this snapshot:

It's all keyboard short cuts are also working.

Fold                          ⌥ ⌘ ←      option + command + left arrow
Unfold                        ⌥ ⌘ →      option + command + right arrow
Unfold All                    ⌥ U        option + U
Fold Methods & Functions      ⌥ ⌘ ↑      option + command + up arrow
Unfold Methods & Functions    ⌥ ⌘ ↓      option + command + down arrow
Fold Comment Blocks           ⌃ ⇧ ⌘ ↑    control + shift + command + up
Unfold Comment Blocks         ⌃ ⇧ ⌘ ↓    control + shift + command + down
Focus Follows Selection       ⌃ ⌥ ⌘ F    control + option + command + F
Fold All                      ⌘ ⌥ ⇧ ←    command + option + shift + left
Unfold All                    ⌘ ⌥ ⇧ →    command + option + shift + left

Code folding options from Xcode Menu:

Menubar ► Editor ► Code Folding ► "Here is list of code folding options"

Here is ref snapshot:

Same options from Xcode Short-cut list:

Menubar ► Xcode ► Preferences ► Key Bindings ► "Here is list of code folding short-keys"

Problem

I know we can use "Shift + Alt + Cmd + Left" to fold/collapse swift code in Xcode, but can anyone tell me how to fold/collapse for functions only? Not properties? Or any alternative way? The default folding method does the job, but actually also hide very important information from us...... This is what I wanted!

Original source