39

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

@interface Controller : NSObject {

}

我想要单独一行的左大括号,如下所示:

@interface Controller : NSObject 
{

}

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

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

4

6 回答 6

22

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

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

于 2010-05-07T11:32:53.303 回答
8

New ProjectNew File命令不会真正生成任何代码;他们填写模板

您需要使用所需的更改创建自己的模板(可能基于 Apple 的)。

Xcode 3.1中,库存模板位于/Developer/Library/Xcode. 您会将修改后的副本放入~/Library/Application Support/Developer/Shared/Xcode. 注意这些文件夹的子文件夹。

于 2008-12-25T18:51:13.060 回答
7

阅读:XCCodeSenseFormattingOptions

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

    XCCodeSenseFormattingOptions =     {
    BlockSeparator = "\\n";
    PreMethodDeclSpacing = "";
};
于 2008-12-25T18:08:36.750 回答
7

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

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

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

于 2009-11-04T14:56:16.193 回答
3

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

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

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

于 2011-02-09T15:11:48.040 回答
0

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

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

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

为了修改它们,您可以从这里下载“片段编辑”程序

于 2015-12-10T23:09:07.090 回答