我刚开始使用clang格式,并且在格式化包含args的宏块时遇到麻烦;例如,React Native有一个RCT_EXPORT_METHOD
,它生成带有args的方法。但是,这弄乱了大多数格式设置选项,并且输出如下所示:
RCT_EXPORT_METHOD(preferencesSetBool
: (NSString *)key boolValue
: (BOOL)boolValue resolver
: (RCTPromiseResolveBlock)resolve rejecter
: (RCTPromiseRejectBlock)reject) {
[[RNFBPreferences shared] setBooleanValue:key boolValue:boolValue];
resolve([NSNull null]);
}
您可以在上面看到arg名称不匹配,并且位于不同的行上。
这是我理想地尝试实现的格式:
RCT_EXPORT_METHOD(
preferencesSetBool : (NSString *) key
boolValue : (BOOL) boolValue
resolver : (RCTPromiseResolveBlock) resolve
rejecter : (RCTPromiseRejectBlock) reject
) {
[[RNFBPreferences shared] setBooleanValue:key boolValue:boolValue];
resolve([NSNull null]);
}
使用clang格式甚至可以做到吗?我在格式文件中查看了MacroBlockBegin
,并尝试摆弄该选项和其他选项,但似乎工作量不大。
如果有人可以帮助我或向正确的方向指点我,那就太好了!