我知道这在程序员中是一个相当有争议的问题,但在开发时我喜欢我的IDE来定位方法/接口/控制声明下面的开头大括号,为了说明目的: -
这就是Xcode如何使用{最后: -
自动生成骨架方法-(void) isTrue:(BOOL)input {
if(input) {
return YES;
}
else {
return NO;
}
}
这就是我喜欢布置代码的方式(我相信它被称为Allman style): -
-(void) isTrue:(BOOL)input
{
if(input)
{
return YES;
}
else
{
return NO;
}
}
我只是想知道Xcode中是否有任何配置开关来启用这种开发方式?键入if
/ else
语句时非常烦人,因为它倾向于自动完成else
子句,行尾的{
看起来很愚蠢你喜欢和他们一起开发。
或者我是不合理的? Objective-C是否应该遵守Apple定义的标准?
答案 0 :(得分:9)
看看:
XCode: Adjusting indentation of auto-generated braces?
XCCodeSenseFormattingOptions = {
BlockSeparator = "\\n";
PreMethodDeclSpacing = "";
};
这至少应该在if,for或while语句之后解决你的问题。
答案 1 :(得分:2)
从上面的WhirlWind中消化了有用的信息后(谢谢),得到的片段(只是剪切并粘贴到终端)是:
默认写com.apple.Xcode XCCodeSenseFormattingOptions -dict BlockSeparator“\\ n” PreMethodDeclSpacing“”
愚蠢的反斜杠引用。在终端输入时,块分隔符中应该有两个正好两个反斜杠。
答案 2 :(得分:0)
即使使用这些设置,它似乎也不适用于模板。如果你设置了这个,然后在.m文件中输入“init”,你会得到:
- (id)init
{
self = [super init];
if (self) {
<#initializations#>
}
return self;
}
请注意“if(self){”行。
答案 3 :(得分:0)
我相信“默认编写com.apple.Xcode”不适用于最新版本的Xcode(7.x)
以下是我所知道的解决方案:
Snippet Edit - 这个小程序将允许编辑默认的Xcode代码片段。因此,您可以在if
,for
,while
等新行中打开大括号。但是,这不允许更改块缩进。
Uncrustify - 这也可以解决您的问题,但看起来并不容易设置。它只会在>> 之后编写代码格式,而不是格式化'在运行中。