Xcode是否支持区域?

ian*_*ano 35 xcode objective-c code-folding

Xcode是否支持任何类似于Visual Studio样式#region指令的任意代码折叠?

Jas*_*oco 54

不,您只能在Xcode中的各种定义的范围级别上折叠代码.

但是,您可以使用小技巧更轻松地通过功能菜单进行导航.

#pragma mark
Run Code Online (Sandbox Code Playgroud)

允许您创建一个分组,其中标记后面的标记将显示在功能菜单中.如果标签是连字符,则会在功能菜单中插入分隔符.

此外,注释中的以下标签将显示在功能菜单中:

// MARK:
// TODO:
// FIXME:
// !!!:
// ???:
Run Code Online (Sandbox Code Playgroud)

显然,因为#pragma mark不是真正可移植的,如果你正在构建一个可移植的应用程序并且需要它与编译器一起工作,而编译器不仅忽略它不理解的#pragma指令,那么注释式标记是一个像样的替代.

  • C标准说符合实现*必须*忽略它不理解的`#pragma`指令.当然,每个不以`STDC`开头的`#pragma`指令都是实现定义的,所以仍然不那么便携. (2认同)

wil*_*lc2 14

我会为此而下地狱,但这里是:

在给定文件的顶部,放

#define FOLD 1
Run Code Online (Sandbox Code Playgroud)

无论你想要折叠什么东西,都将它包装在if块中,如下所示:

if(FOLD) {
 // your code to hide
 // more code
}
Run Code Online (Sandbox Code Playgroud)

那会让你把它折叠在视线之外.

  • 这是一个好主意,但你只能在函数范围内放置一个if语句.您不能在if中包装struct,enum和函数定义. (9认同)