代码之家  ›  专栏  ›  技术社区  ›  Macha

如何更改代码的缩进等?[复制品]

  •  1
  • Macha  · 技术社区  · 14 年前

    可能重复:
    Code polisher / reformater for C, C++ or Fortran
    Best C++ Code Formatter/Beautifier

    我作为一个团队的一部分工作在C++项目上。部分代码是大型ISH外部库的高度修改版本,这不符合我们的编码约定。

    库使用此样式:

    void main ()
    {
      if (somecondition)
        {
        doStuff (some, parameters);
        }
      moreStuff (parameter);
    }
    

    我们的风格是这样的:

    int main() {
        if(somecondition) {
            doStuff(some, parameters);
        }
        moreStuff(parameter);
    }
    

    (同样,堆栈溢出上的编辑器不允许显示,但它们的代码使用两个空格作为缩进,我们的代码使用制表符)。

    考虑到这几乎都只是编辑空白,我想有一些程序可以自动完成大部分工作。

    7 回复  |  直到 14 年前
        1
  •  2
  •   aviraldg Ortiga    14 年前

    有很多程序可以为你做这些。像:

    一些编辑器还可以在运行时修复这些内容,而不需要修改实际的源文件。(我相信Eclipse/Emacs可以做到这一点)

    不过,我还是忍不住问你为什么要改变 图书馆 .

        2
  •  2
  •   Dan Moulding    14 年前

    如果由我决定的话,我会让它一个人呆着。相反,我将更改编码样式,以明确地允许在来自外部源的代码中使用已经建立的编码样式。如果您发现想要或需要从上游更新外部库,那么更改代码以匹配您的编码风格将导致不必要的合并噩梦。

    实际上禁止您的项目更新库,仅仅是为了使它与您的(任意和主观的)编码风格相匹配,这真的值得吗?

        3
  •  1
  •   Starkey    14 年前

    大多数现代的编辑都是按你的要求做的。

    最简单的可能是使用Eclipse。获取C++插件,并修改您希望代码在配置中看起来的方式。

        4
  •  1
  •   user122302    14 年前

    这有一些工具,见问题841075。公认的答案是阿斯泰尔。

        5
  •  1
  •   Community George Mulligan    7 年前

    看看我的 answer 类似 question

    基本上你想要 AStyle

        6
  •  0
  •   Rushyo    14 年前

    您可能会对它进行精确的调整,以满足您对regex的需求——尽管这取决于您想要进行的更改有多复杂。

        7
  •  0
  •   greyfade    14 年前

    正如其他人指出的,Astyle是一个很好的工具,但是任何好的IDE都可以重新格式化源代码。

    例如,在Vim中,可以设置 cinoptions 以符合您的风格准则,然后 = 命令将根据这些规则重新格式化源。