【问题标题】:What does "Force" do in Uncrustify?Uncrustify 中的“Force”有什么作用?
【发布时间】:2012-02-01 20:52:23
【问题描述】:

许多选项包括Force 值选项:

在嵌套括号之间添加或删除空格

sp_paren_paren { Ignore, Add, Remove, Force }

这是什么意思?和Add有什么区别?

【问题讨论】:

    标签: code-formatting uncrustify


    【解决方案1】:

    添加的意思是“如果不存在则添加”,这意味着如果某些东西已经存在,则保留它(以及单独的格式)。强制意味着如果不存在则添加,如果存在则重新格式化:

    // Original
    if (cond)         {
        func();
    }
    
    // Add curly braces (already present, leaves formatting alone)
    if (cond)         {
        func();
    }
    
    // Force curly braces
    if (cond) {
        func();
    }
    

    或者另一个例子:

    // Original
    if (cond)
        func();
    
    // Add curly braces
    if (cond) {
        func();
    }
    
    // Force curly braces (behaves just like add in this case)
    if (cond) {
        func();
    }
    

    【讨论】:

      【解决方案2】:

      Add 如果不存在则添加。

      Remove 如果存在则删除。

      Force 执行 remove 然后是 add

      【讨论】:

        【解决方案3】:

        作为“在 A 和 B 之间添加或删除 X”

        Add:只有在没有X出现的时候才加aX

        AB -> AXB
        AXB -> AXB
        AXXB -> AXXB
        

        Remove: 删除所有出现的X

        AB -> AB
        AXB -> AB
        AXXB -> AB
        

        Force: 正如 edwinc 所说的 Remove 然后 Add -> 首先删除所有(任何)X 并 最后添加 a X

        AB -> AXB
        AXB -> AB -> AXB
        AXXB -> AB -> AXB
        

        但有时“添加 X”可能被定义为在别处添加一些数字 X,因此 Force 会喜欢 Chris 所说的“重新格式化”。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-06-20
          • 2012-10-09
          • 2012-09-04
          • 2015-05-19
          • 2018-02-28
          • 2015-03-04
          • 1970-01-01
          相关资源
          最近更新 更多