Xcode 4方法大括号“;{“公约”

Xcode 4方法大括号“;{“公约”,xcode,methods,coding-style,conventions,brackets,Xcode,Methods,Coding Style,Conventions,Brackets,我在测试版的时候切换到了Xcode 4,我大部分时间都在编辑现有的代码,所以直到现在才真正考虑到这一点 苹果的文件模板似乎已经改变了编码方法的惯例。例如,一个预Xcode 4dealoc方法如下所示: - (void)dealloc { [super dealloc]; } 在Xcode 4中,他们现在使用以下样式: - (void)dealloc { [super dealloc]; } 作为一个狂热的完美主义者和易怒的人,这让我非常恼火!我是在Xcode本身的前一种风格上长大的,

我在测试版的时候切换到了Xcode 4,我大部分时间都在编辑现有的代码,所以直到现在才真正考虑到这一点

苹果的文件模板似乎已经改变了编码方法的惯例。例如,一个预Xcode 4
dealoc
方法如下所示:

- (void)dealloc {
[super dealloc];
}
在Xcode 4中,他们现在使用以下样式:

- (void)dealloc
{
    [super dealloc];
}
作为一个狂热的完美主义者和易怒的人,这让我非常恼火!我是在Xcode本身的前一种风格上长大的,现在我发现自己每次创建一个模板时都会检查每个模板,以将括号放回正确的位置


请告诉我这是一个默认选项,我可以更改…或者我必须更改自己的编码风格以匹配(或者更糟糕的是,“学会适应它”[颤抖]!)。

我一直无法掌握Xcode缩进。相反,我最终得到了一个单独的脚本,该脚本调用(对于ObjC)或(对于普通C)在每次提交之前清理代码。这样,我的编码风格(自然是唯一合理的)在任何时候都是一致的(狂热的?)强制执行的


这还捕获了其他典型的Xcode烦恼,比如拖尾空白,合理的代码编辑器可以在节省时间的情况下去除这些空白。

据我所知,没有可以更改的默认选项;但是:

如果要创建文件,可以将
/Developer/Library/Xcode/Templates
中的文件编辑为所需的编码样式

至于编辑器中的代码段,当您单独键入
dealoc
等时插入;这些代码段似乎来自
/Developer/Library/Xcode/PrivatePlugins/idecodesnippetbrary.plugin

我不一定建议编辑其中的文件,但这是一种选择


编辑:为了防止Xcode更新破坏您的perfectionized模板,您可以
chmod-w
它们,这样可以防止更新触及它们;但这可能会导致更新完全失败。

我设置了这个,以共享修复问题的固定模板文件。

完成代码n在一个while循环中,你会看到在开始大括号之前没有换行符。所以它混合了,这实际上是K&R风格:@Gustav:啊,这是真的。我一直很高兴地使用了很多分支语句和循环与常用大括号-我只是在我的问题中错误地使用了样式名称。我将相应地编辑我的帖子。方法是不过,直到我遇到麻烦为止!如果没有其他问题的话,我会广泛使用代码折叠,这种方式会使其效率大大降低。这很容易知道,谢谢。我不太担心代码片段-当我键入一个很长的方法名时,例如
-(BOOL)gestureRecognitizer:(uigestureRecognitizer*)手势识别器肩部识别器与手势识别器同时识别:(UIGestureRecognitor*)otherGestureRecognizer
,我让它完成方法的名称,但我总是自己做括号。这几乎就是困扰我的模板,所以我可能会按照你的建议手动更改它们,希望将来的Xcode更新不会破坏我的更改。谢谢你,尽管我可能只是在下面的一段时间内备份编辑过的模板我会担心自己陷入无法恢复的境地-我不是终端高手!听起来很有趣,我会研究一下。你需要主动运行脚本,还是它能在你键入时自动为你执行?就我个人而言,我有点担心与你同时批量更改数百个文件I don’我看不到更改的发生。您有没有遇到过任何问题?没有,很遗憾,这只是脚本。您创建了一个相当广泛的配置文件,指定了格式设置的各个方面,然后运行它。我从来没有遇到过任何问题。可能最好对所有文件运行一次,以解决问题并通信建议将其作为单独的“仅重新格式化”提交,然后在每次提交之前运行,以保持一致。根据您的VCS,您可能可以将其作为提交操作的一部分运行。您还可以将其定义为Xcode中的宏,以便您可以重新格式化文件(或选择)有一个热键。手头没有关于这个的确切细节,但我相信谷歌有。:)谢谢你的提示。我可能会在某个时候把它作为一个解决方案。