代码之家  ›  专栏  ›  技术社区  ›  Kristopher Johnson

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

  •  15
  • Kristopher Johnson  · 技术社区  · 16 年前

    我正在使用 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];
    

    我更喜欢第一个版本,用冒号对齐。uncrestify配置文件中是否有一个选项可以支持我想要的内容,或者uncrestify只是不支持对齐的冒号?

    如果不生锈不能对齐冒号,有没有办法阻止它对我自己对齐的冒号进行去对齐?

    更新:

    mmc 注意到这个特性在1581版本的未生锈的SVN存储库中可用。未生锈0.54。集合 align_oc_msg_colon = true 在配置文件中启用它。

    进一步更新

    对于将来找到这个答案的人: .cfg文件中首选项的名称已更改。现在是 align_oc_msg_colon_span= 1 以获得上述行为。现在还有一个 align_oc_decl_colon = true 这将对多行声明起到名称作用。

    2 回复  |  直到 16 年前
        1
  •  10
  •   mmc    14 年前

    昨天晚上我在这里玩了一段时间,并且(尽管我认为这不值得赏金)你的两个问题的答案是“不,当前版本的(53)未生锈的不这样做”。

    我甚至研究了写一个补丁来实现这一点(因为我也真的想要它),并且在研究了未生锈的源之后,得出结论:要想找到在哪里插入补丁来完成“多行消息参数冒号对齐”而不是“多行消息左对齐”,所需的时间要比我所能得到的要长得多。S似乎在最近的补丁中对Objective-C解析进行了一些改进。

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

    注: 对于将来找到这个答案的人: .cfg文件中首选项的名称已更改。它现在对齐_oc_msg_colon_span=1以获得上面描述的行为。现在还有一个Align_oc_decl_冒号,用于多行声明。

        2
  •  0
  •   Andrew    16 年前

    你试过了吗?

    align_var_def_colon=true