如何使用Eclipse将Java从Allman重新格式化为K&R,并带有行注释?



我开始使用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();
  }
}

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

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

:

) {23    12

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

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

替换为:

1 {    2

相关内容

  • 没有找到相关文章

最新更新