是否有缩进C ++程序的实用程序

时间:2009-11-28 21:59:11

标签: c++ indentation

我正在尝试使用“缩进”程序来缩进C ++程序。但它似乎没有正常工作。它正在弄乱压痕。

这是一个类文件。你能为它或其他有效的程序建议正确的选择吗?

由于

9 个答案:

答案 0 :(得分:18)

尝试Artistic Style

  

Artistic Style是C,C ++,C#和Java编程语言的源代码压缩器,格式化器和美化器。

答案 1 :(得分:11)

在visual studio中

CTRL + a CTRL + k CTRL + f 将自动缩进您正在使用的整个文件。

答案 2 :(得分:5)

许多像Vim和Emacs这样的编辑都有一个功能,可以根据内置的缩进标准进行编码。

在Vim中,您可以使用任何动作键入 = 。 (比如 =%在任何块分隔符或 Sv 选择一个区域,然后 = 重新格式化。) gq 命令可用于重新格式化注释和其他文本。

在Emacs中,您可以在选择区域后键入 M-x indent-region。 (例如 M-&lt; M-> 。)您还可以使用 Mx fill-paragraph重新格式化注释。< / p>

答案 3 :(得分:5)

另一种自动格式化C ++代码的工具是clang-format

答案 4 :(得分:3)

答案 5 :(得分:3)

这是对OP和其他海报的回复:我在Windows下工作,也在寻找缩进。这就是我所学到的:

我试过 bcpp 。它看起来很旧(或多或少从1996年开始),你需要找到一个Windows exe。我在这里找到了一个:http://www.zeusedit.com/zforum/viewtopic.php?t=1067。我仍然认为这不值得麻烦,因为它只能做空格/制表,缩进级别和大括号转换。

然后是艺术风格,这是更新的和sourceforge。它似乎很有能力,但它不能,例如,重新格式化函数名称和参数周围的空格(比如,将if ( a ( b ) )转换为if (a(b))

我最喜欢 Cygwin缩进http://www.cygwin.com/),但它只适用于换行符分隔文件,所以你必须使用它像“dos2unix&lt; infile | indent ... ”。但缩进不会重新格式化盒装评论... :)

也许艺术风格和Cygwin缩进的组合效果最佳。现在我使用此命令行:astyle --style=kr -s3 --break-closing-brackets < infile.cpp | dos2unix | indent --no-tabs --k-and-r-style --indent-level 3 --dont-cuddle-else | unix2dos。我有点长,我同意,但除此之外,它产生了非常好的结果。 :)

答案 6 :(得分:2)

bcpp,可用于任何Linux发行版(可能是mingw / cygwin,但我还没有检查过它)是一个C ++压头和美化器。您可以参数化它与代码的工作方式。

答案 7 :(得分:1)

Visual Studio 2008中的另一个简短键:

  

Ctrl + A,Alt + F8

答案 8 :(得分:0)

netbeans 中,您只需执行

即可

Alt + Shift + F

请确保已安装相应语言的插件。例如,对于PHP代码缩进,您必须选择netbeans PHP或从存储库安装PHP插件。