强制Xcode提供代码折叠?

7

我正在OS X上进行测试。我有一个由预处理器宏和测试构成的源文件。我试图折叠代码,以便确定为什么特定的符号没有被定义。

根据苹果的代码折叠和展开,我应该能够通过焦点功能来实现。但这并没有起作用——没有出现功能按钮,而且编辑器也不响应菜单请求。

根据Stack Overflow的默认启用代码折叠(以及其他类似问题,如如何折叠XCode中的所有方法?),我可以使用热键来完成折叠。但这也没有起作用——编辑器似乎也忽略了它们。

enter image description here

我没有#pragma marks#regions,因此你可以在Xcode中设置代码区域吗?不适用。

我该如何强制Xcode提供代码折叠?

2个回答

7

Xcode 7 中,代码块的折叠和展开默认关闭。

更改方法:

  1. 选择 Xcode(左上角)
  2. 选择 Preferences
  3. 导航到 Text Editing(中间)
  4. 勾选选项Code folding ribbon

.

(如下所示)

.

enter image description here

完成后,Xcode 中的代码折叠和展开的 快捷键 应该可以正常工作了。


2

Xcode 10的更新内容:

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

  1. 一个新的代码折叠带,显示编辑器中所有可折叠的多行代码块
  2. 编辑器中新的折叠代码样式,允许您编辑折叠代码行
  3. 支持折叠任何用花括号括起来的代码块
  4. 支持从折叠带、结构选择或下拉菜单中折叠代码块

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

enter image description here

看这个快照:

enter image description here


在Xcode 9 beta 1中禁用了代码折叠,但在beta版本发布说明中指出,在Xcode 9 Beta5中已经可以使用:Resolved in Xcode 9 beta 5 – IDE

以下是具体步骤:

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

为了更好地理解,请查看此快照:

enter image description here

所有的键盘快捷方式也都有效。
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菜单中的代码折叠选项:

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

这是参考快照:

enter image description here


在之前的XCode版本中,折叠功能适用于由大括号{}包围的任何级别的代码块。自v.9以来,它仅适用于函数/方法。 - berec

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