【问题标题】:Removing whitespace from an 'if else' block with eclipse formatter使用 Eclipse 格式化程序从“if else”块中删除空格
【发布时间】:2015-09-27 17:50:07
【问题描述】:

我目前设置了 Eclipse 格式化程序来格式化“if-else”语句,如下所示:

if(condition) {
  return foo;
}
else{
  return bar;
}

注意条件的右括号和真块的左括号之间的空格 - 我想删除这个空格。

在格式化程序配置文件中,Whitespace -> Control statements -> 'if else' 下没有“右括号后”选项。在Blocks 部分中,有一个“在打开大括号之前”的选项,但是这似乎只适用于错误块(并且无论如何都被关闭)。

我一定是在某处遗漏了一个选项 - 我怎样才能关闭这个空格?

我正在使用 Eclipse Mars 4.5.0。

【问题讨论】:

  • 在 Luna 中,取消选中块中的 before opening brace 会正确删除空格。很可能是火星中的一个错误。不过不确定。
  • 我知道源代码布局是一个微妙的话题。但是你为什么要这样格式化你的代码呢?
  • 啊,是的,我启动了 Luna,它显示块中的“打开支架之前”选项在那里工作 - 所以这一定是火星中的一个错误。
  • @EricGärtner 我想这样格式化我的代码,因为我喜欢这样?
  • @Numeron 所以你是作为一个单独的开发人员工作,而不是在一个团队中工作?

标签: java eclipse eclipse-mars


【解决方案1】:

您可以在 Windows -> 首选项 -> Java -> 代码样式 -> 格式化程序 -> 编辑配置文件部分中执行此操作


我认为,一旦您在下拉菜单中选择另一个选项,您可以在下面看到

【讨论】:

  • 谢谢,但正如您在屏幕截图中看到的那样,“右括号后”选项不存在
  • 您现在可以查看吗? --- 下拉菜单 -> 按语法元素排序选项
  • 哦,哇,是的,它就在那里并且有效 - 不知道为什么“if else”部分缺少该选项。
【解决方案2】:

转到Windows > Preferences > Java > Code Style > Formatter > White Space 并在Control statements > Blocks 中,取消选择“开括号前”选项:)

【讨论】:

  • 这对 Luna 是正确的(我刚刚测试过) - 看来它对我不起作用的原因一定是因为火星中的一个错误
  • 哦,好的。您是否可以更新 Eclipse 版本? :)
【解决方案3】:

这是由于 Eclipse Bug # 471145(特定于 Mars / 4.5.0)于 2015 年 6 月 26 日、fixed 于 2015 年 8 月 1 日报告的,并将包含在 Eclipse 4.5.1 中 - 其中作为Mars coordinated service release 的一部分,应在 2015 年 9 月之前完成并准备好下载。

【讨论】:

    猜你喜欢
    • 2019-10-07
    • 2020-05-10
    • 1970-01-01
    • 2021-06-26
    • 1970-01-01
    • 1970-01-01
    • 2012-07-16
    • 2017-11-05
    • 1970-01-01
    相关资源
    最近更新 更多