Apache Camel 和 Intellij Idea 代码格式
Posted
技术标签:
【中文标题】Apache Camel 和 Intellij Idea 代码格式【英文标题】:Apache Camel and Intellij Idea code format 【发布时间】: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();
?
【问题讨论】:
见jetbrains.com/help/idea/configuring-code-style.html。 close voter - 为什么这离题了?这是一个关于 DSL 和编程工具的明确问题。如果您不理解问题,请询问原因。 @well - 我从来没有找到这样做的方法,所以不要格式化代码。很高兴在 DSL 代码中有缩进......只是永远不要使用自动格式功能。 【参考方案1】:我认为目前还没有一个很好的插件可以根据需要格式化 Java DSL 代码。
我们最多只能禁用格式化 Java 代码中特定的 DSL 部分。我建议在 IntelliJ IDEA 中为 Camel DSL 路由使用格式化程序开/关功能:
// @formatter:off
...
// @formatter:on
您可以在 Preferences...
-> Editor
-> Code Style
中找到 Formatter Control
设置(截至 2017.2.3)。
有关 IntelliJ 功能的更多详细信息,请参阅其他 *** 问题,例如: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 来表示它想要的东西。
我个人也很想拥有这样的功能,但由于我忙于日常工作,并且还在完成我的骆驼书,所以没有太多空闲时间来做这件事。
【讨论】:
以上是关于Apache Camel 和 Intellij Idea 代码格式的主要内容,如果未能解决你的问题,请参考以下文章
[每日一学]apache camel|BDD方式开发apache camel|Groovy|Spock
ServiceMix 中 Apache-Camel 路由的管理和监控