Objective-C的代码格式化程序

Dar*_*ust 10 code-formatting objective-c

之前已经提出过类似的问题,但它们并没有帮助我做我想做的事情:

我想重新格式化现有的Objective-C代码(几百个文件).对于纯苹果风格的格式化,uncrustify似乎做我想要的.但是对于一些项目,我需要一种不同的风格,我还没有找到如何配置unrustify.在这种风格中,长方法调用看起来像这样(请不要讨论你是否喜欢这种风格;不建议使用不同的风格):

[self
    longMethod:arg1
    withLots:arg2
    ofArguments:arg3
    aBlock:^{
       [self doSomething];
    }
    andAnotherBlock:^{
       [self doSomethingElse];
    }
];
Run Code Online (Sandbox Code Playgroud)

当方法调用超过80或100个字符的行长度时,将完成此包装.每行缩进一级,并且只包含一个参数,选择器部分直到相应的:.因此,线不是结肠对齐的.

如果行长度低于80或100个字符,则不进行换行:

[self shortMethod:withAnArgument];
Run Code Online (Sandbox Code Playgroud)

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

Jod*_*ins 2

Clang 格式可用于以任意数量的样式格式化代码。您甚至可以指定您想要的确切选项,或使用几种“标准”样式之一。

还有一个Xcode 插件

  • 好吧,这种格式在我看来很难看,所以我从未尝试过这种确切的格式:-)。但是,我确实知道它有用于指定换行样式和行长度的选项。我还认为它可以选择根据冒号对齐或不对齐。据我所知,它具有最多的 Obj-C 格式选项,并且看起来很匹配。然而,我担心我不会花时间尝试调整选项以匹配确切的格式。 (3认同)
  • @JodyHagins 为了提高代码可读性,你可以做的最好的事情之一就是停止使用内联块:)我花了很多年才明白,为某些东西创建一个变量可以使代码更具可读性,仅仅是因为你将添加一个“名称” ”。 (2认同)