【问题标题】:C++ Formatter to Un-split linesC++ Formatter 到 Un-split 行
【发布时间】:2015-02-01 09:11:01
【问题描述】:

有没有可以UN-split行的程序(比如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;

【问题讨论】:

  • 你看过 clang-format, uncrustify 吗?
  • 体面的 IDE 也可以这样做,例如 Eclipse 有格式选项。
  • @Jarod42 只是看了一下 clang-format 文档,没有看到任何东西。 Uncrustify 看起来很难弄清楚......
  • 我使用集成了 AStyle/clang-format 的 Codelite,它可以满足您的需求(使用 clang-format)。懒得去搜索命令行对应的选项了。
  • @Jarod42 如果你这样做了,你可以写一个答案让我接受;)

标签: c++ formatting code-formatting


【解决方案1】:

使用具有正则表达式搜索替换功能的任何体面的 IDE,您可以匹配:,\s*\r\n\s*(.*)
并替换为:, $1

这假定 \r\n 是您的换行符匹配,$1 是您打印第一个捕获的方式。

编辑:

如果您想添加一些其他符号,可以轻松更改匹配代码:[,+*-]\s*\r\n\s*(.*)

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

// blah,
// blah*
// blah

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

【讨论】:

  • 谢谢!不太公平,但我稍微更改了示例以显示我遇到的其他事情。
  • @chewsocks 没问题。这是一个简单的正则表达式更改。我编辑了答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-06
  • 2021-08-10
  • 1970-01-01
  • 2015-12-15
  • 2014-03-31
  • 2021-12-23
相关资源
最近更新 更多