【问题标题】:Eclipse Formatter Allow Multi Line ;Eclipse 格式化程序允许多行;
【发布时间】:2014-04-16 13:31:06
【问题描述】:

我已将 Eclipse 格式化程序配置为允许我尽可能多地做一个衬里。但是有时我想在同一行上使用相关命令,例如

temp.add; temp.flush();⇦问题

我还配置了格式化程序以允许我的 if 语句看起来像这样

if(true) return;

但如果我有多个命令,它会将其推送到下一行,但我希望它的格式如下 if(true) {n++; return;}⇦问题

它的格式是这样的

if(true) {
n++;
return;
}

是否有保留这些多行命令但仍格式化间距和所有内容的设置?我故意尽可能多地使用三元运算符,因为我讨厌在多行上执行一个逻辑步骤。如果没有办法配置这个或插件来解决这个问题,我想我将关闭格式化程序。我知道我可以只使用 ctrl+shift+f 但我喜欢每次运行程序时格式化它。

【问题讨论】:

  • 我认为格式化程序无法做到这一点。它如何知道一组语句是“相关的”?例如,n++; return; 在同一行背后的逻辑是什么?
  • @Nivas 我认为 temp.flush() 是一个更好的例子,但很多时候我可以更容易地从左到右阅读代码,当它开始垂直时,对我来说更难读书。当然这只是在某些情况下,但格式化程序妨碍我就足够了。
  • @Nivas 抱歉,我误解了您的评论。逻辑是如果您有多个语句;在一条线上不要将它们向下推。格式化程序已经为某些 if 语句执行此逻辑。例如,我配置它,如果我这样做 if(true) break;它将保持在同一行,因为它知道将简单的 if 语句保持在同一行,但如果我手动放置 break;在单独的行上它不会强制它在同一行上,它对我来说是可选的。多行命令也应该是可选的。基本上格式化程序在每个 ; 之后添加一个新行。只需禁用它。
  • 我认为没有直接的方法可以做到这一点。如果我找到一个,我会把它作为答案发布。

标签: eclipse


【解决方案1】:

您可以使用 off/on 标签来避免在编辑器的某些区域进行格式化。如果您使用的是 eclipse 3.6 以上版本。

这篇文章解释了如何做到这一点How to turn off the Eclipse code formatter for certain sections of Java code?

【讨论】:

    猜你喜欢
    • 2014-09-08
    • 2018-01-11
    • 1970-01-01
    • 1970-01-01
    • 2014-12-11
    • 2020-05-10
    • 2010-10-03
    • 1970-01-01
    • 2013-06-20
    相关资源
    最近更新 更多