Xcode 9 expand/collapse braces/brackets {} 边栏缺失

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

下找不到

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

我有同样的问题,我在 forums.developer.apple.com

找到了这个

...尚未在新编辑器中实现。 @https://forums.developer.apple.com/thread/78912

现在已在 Xcode_9_beta_5

中修复

Xcode10 日更新:

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

  1. 一个新的代码折叠功能区,显示编辑器中的所有多行可折叠代码块
  2. 编辑器中折叠代码的新样式,允许您使用折叠代码编辑行
  3. 支持折叠任何用花括号括起来的代码块
  4. 支持折叠功能区、结构化选择或
  5. 中的折叠代码块

Menubar ► Editor ► Code Folding ► Fold menu item

看看这个快照:


Xcode 9

根据 beta 发行说明,Xcode 9 beta 1 中的代码折叠被禁用,现在正在运行,在 Xcode 9 Beta5 中:Resolved in Xcode 9 beta 5 – IDE

方法如下:

  1. 按住键盘上的 (命令)按钮并在任何(开始或结束)大括号上按住 move/hover 鼠标光标。会自动高亮,遮挡区域。
  2. 保持(按住)(命令)按钮处于按下状态并单击突出显示的区域。它将使用 Fold 选项启用快速菜单弹出窗口 window。
  3. Select Fold 从菜单列表。它将折叠您的代码并显示 3 个点,folding/covering 整个块。
  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 菜单的代码折叠选项:

Menubar ▶ Editor ▶ Code Folding ▶ "Here is list of code folding options"

这是参考快照:

来自 Xcode 快捷方式列表的相同选项:

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

这不会折叠,但它可能会帮助您在代码中导航:

如果您想找出哪些括号放在一起,您可以在开始或结束括号的后面单击,然后您将获得一秒钟的高亮显示。或者您可以双击或任一括号并永久突出显示括号之间的所有内容。

同意@strangetimes 的评论,我以新的SUGGESTION 格式向Apple Bug Reporter 提交了以下内容。请随意用你自己的苹果堆起来:

35237858:Xcode 9.1 中的代码折叠只做 Entire Functions/Methods

更新,一年后……

这在Xcode10中修复了。代码折叠又回来了。感谢所有提交错误报告或其他内容的人。

Xcode 9 或 9.1 中新的、改进的代码折叠似乎只适用于整个函数或方法。 (我今天在 Objective-C 工作。)这不是很有用。您知道,函数或方法只有一个大括号深。很容易注意到他们。我 需要 代码折叠用于长控制流块——if、else、switch、do、while 或只是松散的块。请把它带回来,这样我就可以像在 Xcode 8.

中那样使用代码折叠了

丝带这玩意儿,我觉得不错,别人不觉得,没有它我也能活。但是代码折叠需要在所有花括号代码块上工作。

Xcode 9

正如已经评论过的,Xcode 9 中的代码折叠仅适用于整个函数。我最接近找出大括号在哪里关闭的方法(特别是对于长 forif 块),是通过 在大括号中双击 .这将突出显示该代码块,直到大括号闭合。

当然,在 Xcode 10 中使用新的代码折叠功能区会更好。