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

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

@interface Controller : NSObject { } 

我希望它自己的一行上的左括号,如下所示:

 @interface Controller : NSObject { } 

这通常适用于由XCode自动生成的任何方法/类。 在XCode首选项中,我有“Indent solo {by”设置为0: 替代文字http://i42.tinypic.com/syaw60.png

我怎样才能解决这个问题?

对于Xcode 3.x,您可以使用以下方法:如果打开terminal会话并input
defaults write com.apple.Xcode XCCodeSenseFormattingOptions '{ "BlockSeparator" = "\n" ; }'
它会在新的一行开始新的代码块。 请注意,如果您打开XCode以便读取和使用新的默认值,您将不得不重新启动XCode。

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

新build项目新build文件命令并不真正生成任何代码 ; 他们填写模板

你需要创build自己的模板(可能基于苹果的)与你想要的变化。

Xcode 3.1中 ,库存模板在/Developer/Library/Xcode 。 你会把你的修改副本放入~/Library/Application Support/Developer/Shared/Xcode 。 请注意这些文件夹的子文件夹。

这也是我想看到的,我不喜欢与function或循环控制相同的“新花样”花括号。

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

修改所有的模板不是一个很好的解决scheme,但感谢信息。

阅读: XCCodeSenseFormattingOptions

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

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

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

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

Xcode用户默认值为您提供手动input代码的样式,文件模板在自动生成新类时提供。

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

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

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

为了修改它们,你可以从这里下载一个“Snippet Edit”程序