我正在为我的Objective-C项目使用clang格式,但是我很难正确设置它。
这是我想要的结果:
- (NSString *)someMethod
{
return @"My String";
}
这是格式化后的实际结果:
- (NSString *)someMethod {
return @"My String";
}
这是我的.clang-format
文件:
BasedOnStyle: WebKit
AlignTrailingComments: true
ColumnLimit: 120
IndentWidth: 2
KeepEmptyLinesAtTheStartOfBlocks: false
ObjCSpaceAfterProperty: true
ObjCSpaceBeforeProtocolList: true
PointerBindsToType: false
SpacesBeforeTrailingComments: 1
TabWidth: 2
UseTab: Never
BreakBeforeBraces: Custom
BraceWrapping:
AfterClass: true
AfterControlStatement: false
AfterEnum: true
AfterExternBlock: true
AfterFunction: true
AfterNamespace: true
AfterObjCDeclaration: true
AfterStruct: true
AfterUnion: true
BeforeCatch: false
BeforeElse: false
IndentBraces: false
SplitEmptyFunction: true
SplitEmptyRecord: true
SplitEmptyNamespace: true
我需要更改什么设置才能使格式化程序在Objective-C方法的大括号之前放一个换行符?
答案 0 :(得分:1)
对于您的clang-format
的任何微调,您最好不要使用BasedOnStyle
,因为这对我来说只会产生随机且难以调试的结果。
最简单的方法可能是进行设置:BreakBeforeBraces: Custom
,然后按照the documentation中的说明设置所需的所有内容:
BraceWrapping:
AfterClass: false
AfterControlStatement: false
AfterEnum: false
AfterFunction: true
AfterNamespace: false
AfterObjCDeclaration: false
AfterStruct: false
AfterUnion: false
BeforeCatch: false
BeforeElse: false
IndentBraces: false