如何使用Eclipse将线条注释从Allman重新格式化为K& R?

时间:2014-06-08 22:24:22

标签: java eclipse code-formatting curly-braces braces

我开始使用Allman风格进行编码,使用对齐的大括号:

void foobar()
{
  if(foo)
  {
    bar();
  }
}

几十年后,我决定要增加屏幕空间;此外,我的客户使用不匹配的大括号,因此很难从工作中来回切换到我的个人代码。所以我想将现有的所有代码转换为K& R:

void foobar() {
  if(foo) {
    bar();
  }
}

Eclipse 4.4有足够的代码格式化程序,如果我选择源代码树,我甚至可以批量格式化文件。问题是,如果我有一个K& R括号的行注释,Eclipse会拒绝将支架移动到一条线上,留下一大堆编码风格:

void foobar() {
  if(foo) //if foo
  {
    bar();
  }
}

我怎样才能告诉Eclipse移动大括号,即使大括号所在的行有注释?

void foobar() {
  if(foo) { //if foo
    bar();
  }
}

1 个答案:

答案 0 :(得分:1)

对文件进行正则表达式替换;取代

\)\s*(//.*)(\r?\n)(\s*)\{
     1     2      3

使用:

) {\2\3    \1\2

更新(Garret Wilson):经过多次实验,解决所有变化并满足我需求的理想正则表达替换是:

^([^/]*(?:\)|\>|do|else|Exception|static|try))\s*(//.*)(\r?\n)(\s*)\{

替换为:

\1 {    \2