我正在使用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
将为多行声明做名称。
答案 0 :(得分:10)
我昨晚玩了一段时间,并且(虽然我不认为这值得赏金)但你的问题的答案是“不,当前版本(.53)的Uncrustify不这样做。“
我甚至研究过写一个补丁来完成这个(因为我真的也想要它)并且在查看Uncrustify源之后,并得出结论,它将花费比我可用的更多时间来确定插入补丁的位置完成“多行消息参数冒号对齐”而不是“多行消息左对齐”似乎在最近的补丁中对Objective-C解析有一些改进。
我很希望有人能回答这个问题。我也很想知道。
注意:对于将来会找到此答案的人: .cfg文件中首选项的名称已更改。现在,align_oc_msg_colon_span = 1可以获得上述行为。现在还有一个align_oc_decl_colon,它将为多行声明做名称。
答案 1 :(得分:0)
你有没有尝试过:
align_var_def_colon=true