我正在使用uncrustify 0.52.当我针对Objective-C文件运行它时,它想要转换方法调用,如下所示:
[NSApp beginSheet:startTimerDialog modalForWindow:nil modalDelegate:nil didEndSelector:nil contextInfo:nil];
对此:
[NSApp beginSheet:startTimerDialog modalForWindow:nil modalDelegate:nil didEndSelector:nil contextInfo:nil];
我更喜欢第一个版本,冒号对齐.在uncrustify配置文件中是否有一个选项可以支持我想要的内容,或者只是不支持对齐的冒号?
如果unrustify不能对齐冒号,有没有办法防止它排除我自己对齐的冒号?
更新:
mmc注意到此功能在Build 1581版本的Uncrustify svn存储库中可用.它处于unrustify 0.54.align_oc_msg_colon = true
在配置文件中设置以启用它.
进一步更新
对于将来找到此答案的人:.cfg文件中的首选项名称已更改.现在align_oc_msg_colon_span= 1
要获得上述行为.现在还有一个align_oc_decl_colon = true
将为多行声明做名称的事情.
我昨晚玩了一段时间,并且(虽然我不认为这值得赏金)但你的问题的答案是"不,当前版本(.53)的Uncrustify不会这样做."
我甚至研究过写一个补丁来完成这个(因为我真的也想要它)并且在查看Uncrustify源之后,并得出结论,它将花费更多的时间来找出插入补丁的位置以实现"多行消息参数冒号对齐"而不是"多行消息左对齐"似乎在最近的补丁中对Objective-C解析有一些改进.
我很希望有人能回答这个问题.我也很想知道.
注意:对于将来找到此答案的人:.cfg文件中的首选项名称已更改.现在,align_oc_msg_colon_span = 1可以获得上述行为.现在还有一个align_oc_decl_colon,它将为多行声明做名称.