删除空格并在c ++代码上添加带有astyle的换行符

时间:2011-03-22 11:05:18

标签: c++ code-formatting pretty-print

我继承了大量代码格式如下:

void <whitespace> Foo::bar <whitespace> ( ) <whitespace> // short documentation
{
  // code
}
void Foo::bar()
{
  // code
}

文件末尾没有空行,有时会丢失函数之间的换行符。我已成功使用以下选项和astyle删除大多数样式错误,但我找不到任何有关如何解决这些问题的参考或文档。

--style=ansi -t3 -N -j -k1 -z2 -n -r -H -U -p -q -w -Y -L -S

我过去使用过一个简单的python脚本来确保最后有一个换行符,我想我可以再次使用类似于regex的东西删除空格并添加换行符,但是因为我现在使用astyle,如果能做的话会很棒,所以...建议?

1 个答案:

答案 0 :(得分:0)

我不知道您使用的是什么平台,但如果您使用的是任何类型的基于NIX的平台,则可以访问许多文本编辑工具,例如sed,这意味着您不必滚动自己的代码就可以了。

我对正则表达式不太满意,但是命令行上sed搜索和替换的一般语法是这样的:

sed -i -e 's/expr1/expr2/g' filename

这将用“expr2”替换“expr1”。它适用于空格和正则表达式,因此您可以将所有多个空格压缩到一个空格中(如果没有为expr2键入任何内容,则不会压缩)。

sed可能有您处理新行所需的内容,但不幸的是,我对它的语言并不熟悉。

祝你好运。