Xcode:调整自动生成的大括号的缩进?

时间:2008-12-25 11:21:29

标签: xcode indentation

默认情况下,Xcode自动生成的代码似乎在同一行上有左括号:

@interface Controller : NSObject {

}

我想在自己的一行上打开括号,如下:

@interface Controller : NSObject 
{

}

这通常适用于Xcode自动生成的任何方法/类。在Xcode首选项中,我将“Indent solo {by”设置为0: alt text

我该如何解决这个问题?

6 个答案:

答案 0 :(得分:22)

对于Xcode 3.x,您可以使用以下内容: 如果您打开终端会话并输入
defaults write com.apple.Xcode XCCodeSenseFormattingOptions '{ "BlockSeparator" = "\n" ; }' ,它将在新线路上启动新的代码块。请注意,如果打开XCode,则必须重新启动XCode才能读取和使用新的默认值。

对于Xcode 4.x到6.x(当前)我建议您使用Snippet Edit作为编辑定义Xcode自动完成的片段的便捷工具。目前它是免费的,效果很好。

答案 1 :(得分:8)

新项目新文件命令实际上并未生成任何代码;他们填写模板

您需要根据需要创建自己的模板(可能基于Apple的模板)。

Xcode 3.1 中,库存模板位于/Developer/Library/Xcode。您可以将修改过的副本放在~/Library/Application Support/Developer/Shared/Xcode中。请注意这些文件夹的子文件夹。

答案 2 :(得分:7)

阅读本文:XCCodeSenseFormattingOptions

本文档描述了自动完成将用于大括号和参数样式的所有格式选项。这是我的:

    XCCodeSenseFormattingOptions =     {
    BlockSeparator = "\\n";
    PreMethodDeclSpacing = "";
};

答案 3 :(得分:7)

这也是我想看到的,我不喜欢与函数或循环控制在同一行上的“新学校”花括号方式。

编辑和改组代码行时,更容易将所有内容保持在一行中。大括号应该只定义范围,它们不是函数定义或程序执行的一部分(如if,for etc.等)。

修改所有模板并不是一个很好的解决方案,但无论如何都要感谢信息。

答案 4 :(得分:3)

如果你想在所有情况下都有自己喜欢的风格,你需要结合Laughing_Jack的答案和Peter Hosey的答案。除了Peter Hosey所说的,您可能还想知道Cocoa Touch文件模板位于以下位置。您也可以将该目录复制到自定义模板中:

/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/File Templates/Cocoa Touch Classes/

Xcode User Defaults为您提供手工输入代码时的风格,文件模板在自动生成新类时提供它等。

答案 5 :(得分:0)

我相信“默认编写com.apple.Xcode”不适用于最新版本的Xcode(7.x)

解决方法是编辑默认的代码段。

但是,Xcode不允许修改默认的代码片段。

要修改它们,您可以从here下载“代码段编辑”程序