Xcode Swift code folding/collapse
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 withFold
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 arrowUnfold ⌥ ⌘ → option + command + right arrowUnfold All ⌥ U option + UFold Methods & Functions ⌥ ⌘ ↑ option + command + up arrowUnfold Methods & Functions ⌥ ⌘ ↓ option + command + down arrowFold Comment Blocks ⌃ ⇧ ⌘ ↑ control + shift + command + upUnfold Comment Blocks ⌃ ⇧ ⌘ ↓ control + shift + command + downFocus Follows Selection ⌃ ⌥ ⌘ F control + option + command + FFold All ⌘ ⌥ ⇧ ← command + option + shift + leftUnfold 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"
As of now there is no option to fold only functions in you class, we may expect these features in future release of Xcode
. To fold specific function you can use alt + command + left_arrow
after placing the cursor in function starting line. Use alt + command + right_arrow
for unfold folded function.
Another way to do this would be as below.
- Go to Xcode preferences (command + ,)
- Select the text editing tab
- Check code folding ribbon
Now when you look at your code you should be able to see this :
When you bring your mouse over the folding ribbon you should see a small arrow that can be used to fold code blocks (functions, if-else, loops, etc)
Hope this helps!