Xcode Swift code folding/collapse

前端 未结 5 1576
暗喜
暗喜 2020-12-28 14:10

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?

相关标签:
5条回答
  • 2020-12-28 14:24

    Code Ribbons at the rescue for SwiftUI

    It is a great feature to have. It seems too few developers know about this. Especially when writing code in SwiftUI, I like to see that my code works before refactoring it into separate views.

    Folding is a great tool to have.

    Here an example in Xcode 12. It is not active by default but you need too check the box "Code Folding Ribbon" in the preferences:

    and you can fold nested views as deep as you like, with animation:

    0 讨论(0)
  • 2020-12-28 14:28

    you can always go to Symbol Navigator, cmd+2 and enjoy list of all your declarations that swift has organized. However, if this doesn't satisfy you, and you require to have better control over your functions I recommend you to use function protocols, they work somewhat similar to header files in C. you can find out more about function prototypes in(https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Protocols.html#//apple_ref/doc/uid/TP40014097-CH25-ID267)

    0 讨论(0)
  • 2020-12-28 14:40

    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!

    0 讨论(0)
  • 2020-12-28 14:41

    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.

    0 讨论(0)
  • 2020-12-28 14:46

    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

    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:

    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

    0 讨论(0)
提交回复
热议问题