Objective-C的代码格式化程序

时间:2014-05-14 12:51:57

标签: objective-c code-formatting

之前已经问过{p> Similar个问题,但他们并没有帮助我做我想做的事情:

我想重新格式化现有的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];

是否有可以调整以支持此样式的代码格式化程序?如果是这样,更重要的是,如何

2 个答案:

答案 0 :(得分:2)

Clang format可用于格式化任意数量的代码。您甚至可以指定所需的确切选项,或使用多种“标准”样式中的一种。

还有一个XCode plugin

答案 1 :(得分:2)

不,我认为这种风格没有代码格式化程序。您可以使用clang的Lib Tooling来完成这项工作。是的,您必须使用它构建自己的工具。但是,开发自己的工具是常用的方法,如果你想做一些非常不寻常的事情。