Java 让Eclipse包装for循环的括号

Java 让Eclipse包装for循环的括号,java,eclipse,formatting,Java,Eclipse,Formatting,我理解简洁、清晰代码的重要性,如果可能的话,应该避免代码行换行。然而,这个项目的要求是任何一行都不能超过第80列,我被要求使用详细的变量命名。因此,像for循环插入一样简单的东西需要包装,这就是我发现Eclipse的不足之处 Eclipse似乎无法包装for循环的括号或保留包装集。例如,我的初始化语句、表达式和update/counter位于单独的行中,如下所示: for (initialization; expression; update/counter;) { //code..

我理解简洁、清晰代码的重要性,如果可能的话,应该避免代码行换行。然而,这个项目的要求是任何一行都不能超过第80列,我被要求使用详细的变量命名。因此,像for循环插入一样简单的东西需要包装,这就是我发现Eclipse的不足之处

Eclipse似乎无法包装for循环的括号或保留包装集。例如,我的初始化语句、表达式和update/counter位于单独的行中,如下所示:

for (initialization;
  expression;
  update/counter;)
{
  //code...
}
按Ctrl+Shift+f时,Eclipse会:

for (initialization; expression; update/counter;)
{
  //code...
}

有没有办法让Eclipse保留这种格式。我已经创建了一个定制的Eclipse格式化程序,但是找不到任何将for循环包装为括号的设置。我确实看到一篇帖子建议使用
/
,但在for循环的括号内这行不通。

我不记得在for的每个“初始化”、“表达式”、“更新”之后都有保留换行符的选项。其余部分可以完成,但不能在for循环的括号内进行包装

如果您确实需要保留这样的包装,您可能希望在这些行上完全禁用格式化程序?如果您转到格式化程序设置(窗口>首选项>java>代码样式>格式化程序,然后单击“编辑…”),然后在“关闭/打开标记”选项卡(出现在Eclipse 3.6 IIRC中),您可以启用标记以禁用代码特定部分的格式化程序

使用默认标记时,会给出如下内容:

// @formatter:off
for (initialization;
  expression;
  update/counter)
// @formatter:on
{
  //code...
}

您也可以这样使用:

for (/**/initialization;
/**/expression;
/**/update/counter;)
/**/{
  //code...
}
这也适用于:

for (initialization; //
expression; //
update/counter) {
  // code...
}

我认为贵公司最终需要在那些宽屏上试用它们。:-)将使用
//而不是
玩这个把戏?哎哟。我的眼睛痛。。。如果我要试试这个,我的手指也会痛的@科斯从来没有说过这是一个对眼睛友好的解决方案:p。尽管这些关闭/打开标签在试图尊重客户最奇怪的代码格式要求时确实很有用。谢谢。虽然我知道这并不完美,但它已经足够好了,允许我自由地使用ctrl+shift+f,而不必担心for的初始化。通常情况下,我不会担心这一点,但由于需要使用详细的变量命名,再加上第80列的限制,这个解决方案会很好地工作。谢谢,Velthune。很高兴看到满足这一要求的替代方案。