6

我一直是一个“对齐花括号”的人。对于宽显示器,我在代码后放了很长的注释。所以在Eclipse中我想做这样的格式化:

if(foo)
{
  something();
}
else
{
  somethingElse();
}

美好的; 这很容易。但后来我添加了一条评论:

if(foo)  //if foo is true
{
  something();
}
else  //if no foo
{
  somethingElse();
}

Dratted Eclipse 将其格式化如下:

if(foo)  //if foo is true
{
  something();
}
else
//if no foo
{
  somethingElse();
}

伟大的。整个浪费的线路。而且看起来很丑。它甚至不准确,因为我想评论这else条线。

如何让 Eclipse 用对齐的大括号格式化我的if/ else,但允许我的评论与else?

这是在 Eclipse 4.2.2 上测试的,我刚刚确认它在 Eclipse 4.3M7 中也不起作用。

我已经就这个问题提交了一个错误;让我们看看 Eclipse 开发人员怎么说。

4

4 回答 4

3
  1. Go to preferences
  2. Type "format" in the searchbox
  3. Select "Java->Code style->Formatter" in the tree
  4. Click the "Edit..." button
  5. Go to the "Comments" tab
  6. Select "preserve whitespace between code and line comments"

That did it for me in Galileo.

于 2013-05-07T15:36:00.587 回答
1

我正在使用 Eclipse Indigo (3.7),我所要做的就是转到控制语句 -> 选中“在 'if' 语句中的 'else' 之前插入换行符”。(在属性/Java 代码样式/格式化程序/编辑内...)

我正在使用默认 Eclipse 内置模板的副本。如果您确定您没有篡改内置模板,请告诉我们您使用的版本。

于 2013-05-09T03:17:32.783 回答
0

在 Eclipse 配置文件中,注释选项卡上有一个选项“保留代码和行注释之间的空白”,您可以尝试一下,看看它是否有效

编辑:

我想我明白了:在格式编辑中,转到Braces选项卡并将Blocksas Same line. 由于我在这里改变了很多,我不确定这是唯一需要的。但这是需要的。上也有标记Insert new line before else in an ifControl Statements

于 2013-03-24T02:36:40.873 回答
0

我正在使用 Eclipse Juno (3.8.1) 和默认的 Eclipse 内置模板作为 java 代码格式化程序。我的代码看起来就像你想要的那样。

我什至不必更改他在回答中提到的选项 cleberz。

您使用的是哪个 Eclipse 版本和代码格式化程序模板?

于 2013-05-10T10:11:40.250 回答