我想重新格式化现有的Objective-C代码(几百个文件)。对于纯Apple风格的格式, uncrustify 似乎做我想要的。但是对于一些项目,我需要一种不同的风格,我还没有找到如何配置 uncrustify 。在这种风格中,长方法调用看起来像这样(请不要讨论你是否喜欢这种风格;不建议使用不同的风格):
[self
longMethod:arg1
withLots:arg2
ofArguments:arg3
aBlock:^{
[self doSomething];
}
andAnotherBlock:^{
[self doSomethingElse];
}
];
当方法调用超过80或100个字符的行长度时,将完成此换行。每行缩进一级,并且只包含一个参数,选择器部分直到相应的:
。因此,这些行不冒号对齐。
如果行长度低于80或100个字符,则不进行换行:
[self shortMethod:withAnArgument];
是否有可以调整以支持此样式的代码格式化程序?如果是这样,更重要的是,如何?
答案 0 :(得分:2)
Clang format可用于格式化任意数量的代码。您甚至可以指定所需的确切选项,或使用多种“标准”样式中的一种。
还有一个XCode plugin。
答案 1 :(得分:2)
不,我认为这种风格没有代码格式化程序。您可以使用clang的Lib Tooling来完成这项工作。是的,您必须使用它构建自己的工具。但是,开发自己的工具是常用的方法,如果你想做一些非常不寻常的事情。