2017-10-04 107 views
5

的IntelliJ IDEA格式代碼般地擊潰這樣的:Apache的駱駝和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(); 

+0

見https://www.jetbrains.com/help/idea/configuring-code-style.html。 – Namphibian

+1

關閉選民 - 爲什麼這是題外話?這是一個關於DSL和編程工具的明確問題。如果你不明白這個問題,請問爲什麼。 – vikingsteve

+0

@well - 我從來沒有找到辦法做到這一點,所以只是不要格式化代碼。在DSL代碼中進行縮進是很好的...只是從不使用自動格式功能。 – vikingsteve

回答

6

我不認爲這是又一個很好的插件,根據需要,可以格式的Java代碼的DSL。

充其量我們只能禁用格式在Java代碼中特定的DSL部分。我會建議使用開/關功能的格式化的IntelliJ IDEA的駱駝DSL線路:

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

可以在Preferences...找到Formatter Control設置 - >Editor - >Code Style(截至2017年2月3日)。

參見上的IntelliJ功能的其他StackOverflow的問題,像這樣的更多細節:
How to disable code formatting for some part of the code using comments?

+0

是的,我以前找到過這個解決方案,但我認爲應該有更好的方法來做到這一點。謝謝你的回答。 – well