当前位置:  开发笔记 > 后端 > 正文

Uncrustify可以在Objective-C方法调用中对齐冒号吗?

如何解决《Uncrustify可以在Objective-C方法调用中对齐冒号吗?》经验,为你挑选了1个好方法。

我正在使用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将为多行声明做名称的事情.



1> mmc..:

我昨晚玩了一段时间,并且(虽然我不认为这值得赏金)但你的问题的答案是"不,当前版本(.53)的Uncrustify不会这样做."

我甚至研究过写一个补丁来完成这个(因为我真的也想要它)并且在查看Uncrustify源之后,并得出结论,它将花费更多的时间来找出插入补丁的位置以实现"多行消息参数冒号对齐"而不是"多行消息左对齐"似乎在最近的补丁中对Objective-C解析有一些改进.

我很希望有人能回答这个问题.我也很想知道.

注意:对于将来找到此答案的人:.cfg文件中的首选项名称已更改.现在,align_oc_msg_colon_span = 1可以获得上述行为.现在还有一个align_oc_decl_colon,它将为多行声明做名称.


好吧,它似乎工作......主要是.它似乎不希望允许任何消息部分扩展到前一行的左括号的左侧.90%的时间,这很好.另外10%它在对象名称和消息的第一个(段?参数名称?)之间放置空格.我不喜欢这个.我有一种感觉它可以关闭,但我还没有找到正确的选择.
推荐阅读
Life一切安好
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有