Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Xcode 9 expand/collapse braces/brackets {} side bar missing

Can't find one under

Xcode ▶ Preferences/Text Editing ▶ "Code Folding Ribbon" box.

like image 539
Yakiv Kovalskyi Avatar asked Jun 07 '17 01:06

Yakiv Kovalskyi


People also ask

How do I collapse and expand code in Xcode?

Collapse/expand the code block by clicking the -/+ icons on the gutter. Press ⌃ ⌥ + / ⌃ ⌥ - to collapse/expand all the code in your file recursively.

Can you collapse code in Xcode?

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.


2 Answers

Updates in Xcode 10:

Xcode 10 has increased support for code folding, including:

  1. A new code folding ribbon showing all of the multi-line foldable blocks of code in the editor
  2. A new style for folded code in the editor that allows you to edit lines with folded code
  3. Support for folding any block of code enclosed in curly braces
  4. Support for folding blocks of code from the folding ribbon, from structured selection, or from the

Menubar ► Editor ► Code Folding ► Fold menu item

enter image description here

Look at this snapshot:

enter image description here


Xcode 9

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:

  1. Press and hold (command) button in keyboard and move/hover mouse cursor on any (start or end) braces. It will automatically highlight, block area.
  2. Keep (hold) (command) button in pressed condition and click on highlighted area. It will enable quick menu popover window with Fold option.
  3. Select Fold from menu list. It will fold your code and shows 3 dots, folding/covering entire block.
  4. 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:

enter image description here


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:

enter image description here

Same options from Xcode Short-cut list:

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

enter image description here

like image 196
Krunal Avatar answered Sep 22 '22 21:09

Krunal


Concurring with comment by @strangetimes, I submitted to Apple Bug Reporter the following, in the new SUGGESTION format. Please feel free to pile on to Apple with your own:

35237858 : Code Folding in Xcode 9.1 Only does Entire Functions/Methods

UPDATE, A YEAR LATER…

This is fixed in Xcode 10. Code folding is back. Thanks to all those who piled on to the bug report or whatever.

The new, improved code folding in Xcode 9 or 9.1 seems to only work on an entire function or method. (I'm working in Objective-C today.) This is not very useful. You know, functions or methods are only one curly bracket deep. It is easy to eyeball them. Where I need code folding is for long control flow blocks – if, else, switch, do, while, or just loose blocks. Please bring it back so I can use code folding as it worked in Xcode 8.

The ribbon thing, although I thought it was good, others didn't – I can live without it. But code folding needs to work on all curly-bracket code blocks please.

like image 43
Jerry Krinock Avatar answered Sep 24 '22 21:09

Jerry Krinock