默认启用代码折叠

76

在打开文件时,有没有一种方法能够让XCode默认折叠方法/函数?

7个回答

101

如果您想折叠/展开特定的代码块,自Xcode 7以来,必须启用此功能。

转到Xcode > 首选项 > 文本编辑 > 并选中“代码折叠标带”。

Xcode的文本编辑首选项

(不知道为什么他们默认禁用了这个有用的功能。)


4
真是烦人啊。我刚重新启用了它 - 感谢你的提示! - Greg Brown
8
在 xCode 9 (beta) 中找不到它。 - Ofir Malachi
@OfirMalachi 这是因为它还没有被实现! - Alex Bollbach

78

我不确定这是操作系统的变化还是Xcode的变化,但在具有Xcode 4 的Lion上,Griffo引用的某些命令需要使用 Option 修改键(⌥ 键),而不是 control。 我已经进行了一些更改以反映这一点:

Fold                       ⌥⌘←      option+command+left
Unfold                      ⌥⌘→      option+command+right
Unfold All                  ⌥U        option+U
Fold Methods/Functions      ⌥⌘↑      option+command+up
Unfold Methods/Functions    ⌥⌘↓      option+command+down

抱歉打扰一下,但我认为这值得修订。


10
在OS X的Xcode 4.3版本中,折叠全部/展开全部的快捷键变成了shift-option-command-left/right。 - Cbas
1
在Xcode 5.1中,您也可以使用Shift-Command-Option-Left/Right折叠/展开方法/函数。 - M Zubair Shamshad

64

Xcode 10增加了代码折叠的支持,包括:

  1. 新的代码折叠带,在编辑器中显示所有多行可折叠代码块
  2. 编辑器中新的折叠代码样式,允许您编辑折叠的代码行
  3. 支持折叠任何用花括号括起来的代码块
  4. 支持从折叠带、结构化选择或菜单栏Editor ► Code Folding ► Fold选项中折叠代码块

菜单栏 ► 编辑器 ► 代码折叠 ► 折叠菜单项

图片描述

请看这张快照:

图片描述


在Xcode 9 beta 1中禁用了代码折叠功能。 根据Beta发布说明,在Xcode 9 Beta5中已经可以使用:Xcode 9 beta 5 - IDE中解决

方法如下:

  1. 按住键盘上的(命令)键并将鼠标光标移动/悬停在任何一个大括号(起始或结束)上。 它将自动突出显示区域。
  2. 保持(按住)(命令)键处于按下状态,然后单击高亮区域。 它将启用快速菜单弹出窗口,并提供折叠选项。
  3. 从菜单列表中选择折叠。 它将折叠您的代码并显示3个点,覆盖整个块。
  4. 现在,要再次展开代码块,请释放(命令)键并单击覆盖块的3个点。

为了更容易理解,请看这张快照:

图片描述


所有的键盘快捷方式也都可用。

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


Xcode菜单中的代码折叠选项

菜单栏 ▶ 编辑器 ▶ 代码折叠 ▶ "这里是代码折叠选项列表"

下面是参考快照:

图片描述

Xcode快捷键列表中的相同选项

菜单栏 ▶ Xcode ▶ 偏好设置 ▶ 按键绑定 ▶ "这里是代码折叠快捷键列表"

图片描述


1
你的回答很好。但是苹果公司取消了“代码折叠功能”,这是不好的。 - Jason Yu
1
感谢您的动画,这使得理解变得容易。我在XCode 9.2中没有看到右键单击选项,但是菜单选项和键盘快捷键都可以正常工作,所以这不是什么大问题。选择代码块的一个技巧是双击顶部括号,它会选择到匹配的底部括号。 - James Toomey
1
我真的需要那个截图。那个“ribbon”真的很难找到。 - user3152459
非常感谢。不幸的是,折叠全部和展开全部似乎已经不存在了。此外,尽管这非常有用,但这些答案并没有回答所提出的问题。我的建议是删除此答案,而是保留其他答案,例如您复制粘贴的答案:https://dev59.com/X1kS5IYBdhLWcg3wKjn1 - Max MacLeod

18

正确答案在一些评论中(不在任何答案中,我认为...

顺便提一下,这里是快捷键:

图片展示了Xcode中用于折叠和展开代码的快捷键

从过去的答案来看,这个可能随着时间而有所改变。这是来自Xcode 6.1.1的。


11

为了完整起见,

Fold All        ⌘⌥⇧←    command+option+shift+left

未记录的键盘快捷键,但完美运作。这应该被标记为正确答案。 - jowie

9

我不这么认为,但有一些方便的键盘快捷键:

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

嗯,Windows 上的 Firefox 没有显示键盘快捷键。显然带有命令键符号的字符集不存在。我会提供文本替代方案。 - conorgriffin
1
在Xcode5中有所改变,例如折叠所有方法/函数现在是command+shift+option+left。感谢你的帮助,点个赞。 - Matthew James Briggs

4

我理解你的痛苦。每次打开一个实现文件时按下cmd+option+shift+left来折叠所有方法确实很困难。如果有一种可以默认设置这个功能的方法,我会非常感激。另一方面,一个可能显而易见的解决方法是从窗口顶部的方法选择器中选择方法。我想这就是Xcode开发人员希望我们找到方法的方式...尽管cmd+option+shift+left是我的首选...但它只会让我的手疼 :/


其实我也刚开始适应使用picker :/ 但这主要是因为Xcode在处理长文件和代码折叠时似乎也变得有点不稳定了 :( - Infinite
最近发现,如果你用鼠标选择选择器,你可以开始输入方法名称,它会根据你输入的内容过滤选择器列表。 - geekinit

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接