C++ C++;用于取消拆分行的格式化程序

C++ C++;用于取消拆分行的格式化程序,c++,formatting,code-formatting,C++,Formatting,Code Formatting,是否有一个程序(如Astyle)可以取消拆分行 例如: // These void foo( int one, int two, double three); double a = b * c; // Becomes this void foo(int one, int two, double three); double a = b * c; 使用任何具有正则表达式搜索替换功能的像样IDE,您可以匹配以下内容:,\

是否有一个程序(如Astyle)可以取消拆分行

例如:

// These
void foo(
         int one,
         int two,
         double three);
double a = b *
           c;

// Becomes this
void foo(int one, int two, double three);
double a = b * c;

使用任何具有正则表达式搜索替换功能的像样IDE,您可以匹配以下内容:
,\s*\r\n\s*(*)

并替换为:
,$1

这假定
\r\n
是您的换行符,而
$1
是您打印第一次捕获的方式

编辑:

如果要添加一些其他符号,这是对匹配代码的简单更改:
[,+*-]\s*\r\n\s*(*)

您必须注意的一件事是这样的注释行:

// blah,
// blah*
// blah

因为正则表达式也会提取它们。

你看过clang格式吗,uncrustify?体面的IDE也可以这样做,例如Eclipse有格式选项。@Jarod42只是查看了clang格式的文档,没有看到任何内容。Uncrustify看起来很难理解……我使用的是集成了AStyle/clang格式的Codelite,它可以实现您想要的功能(使用clang格式)。懒得在命令行中搜索相应的选项。@Jarod42如果您这样做了,您可以写一个答案让我接受;)谢谢这不太公平,但我稍微改变了示例,以显示我遇到的其他问题。这是一个简单的正则表达式更改。我编辑了答案。