【问题标题】:Apache Camel and Intellij Idea code formatApache Camel 和 Intellij Idea 代码格式
【发布时间】:2018-03-16 06:30:53
【问题描述】:

Intellij Idea 像这样格式化骆驼溃败中的代码:

from("direct:loop")
     .log("Loop: ${header[loopCount]}")
     .choice()
     .when(simple("header[loopCount] < 10"))
     .process(exchange -> {
         Message in = exchange.getIn();
         in.setHeader("loopCount", in.getHeader("loopCount", Integer.class) + 1);
     })
     .to("direct:loop")
     .otherwise()
     .log("Exiting loop")
     .end();

是否有任何插件或其他方法可以这样做:

from("direct:loop")
 .log("Loop: ${header[loopCount]}")
 .choice()
     .when(simple("header[loopCount] < 10"))
         .process(exchange -> {
             Message in = exchange.getIn();
             in.setHeader("loopCount", in.getHeader("loopCount", Integer.class) + 1);
         })
         .to("direct:loop")
     .otherwise()
         .log("Exiting loop")
 .end();

?

【问题讨论】:

  • close voter - 为什么这离题了?这是一个关于 DSL 和编程工具的明确问题。如果您不理解问题,请询问原因。
  • @well - 我从来没有找到这样做的方法,所以不要格式化代码。很高兴在 DSL 代码中有缩进......只是永远不要使用自动格式功能。

标签: java intellij-idea apache-camel


【解决方案1】:

我认为目前还没有一个很好的插件可以根据需要格式化 Java DSL 代码。

我们最多只能禁用格式化 Java 代码中特定的 DSL 部分。我建议在 IntelliJ IDEA 中为 Camel DSL 路由使用格式化程序开/关功能:

// @formatter:off
...
// @formatter:on

您可以在 Preferences... -> Editor -> Code Style 中找到 Formatter Control 设置(截至 2017.2.3)。

有关 IntelliJ 功能的更多详细信息,请参阅其他 StackOverflow 问题,例如:
How to disable code formatting for some part of the code using comments?

【讨论】:

  • 是的,我之前已经找到了这个解决方案,但我认为应该有更好的方法来做到这一点。感谢您的回答。
【解决方案2】:

Camel IDEA 插件有一张关于此的票:https://github.com/camel-idea-plugin/camel-idea-plugin/issues/309

您可以使用 +1 来表示它想要的东西。

我个人也很想拥有这样的功能,但由于我忙于日常工作,并且还在完成我的骆驼书,所以没有太多空闲时间来做这件事。

【讨论】:

    猜你喜欢
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 2022-11-30
    • 2015-12-14
    • 2018-06-22
    • 2014-04-20
    • 1970-01-01
    • 2016-07-25
    相关资源
    最近更新 更多