如何让eclipse不自动缩进代码块

时间:2011-01-04 18:06:27

标签: eclipse indentation auto-indent

我喜欢Eclipse的自动缩进功能,但有时我会有一些缩进,我不想让它更正,比如

audioBuffer1[j] = (short) (VOLUME_REDUCER * ( inputBuffer[i] 
                  + ALPHA *   inputBuffer[i - echo1a] 
                  + ALPHA *   inputBuffer[i + echo1a]
                  - ALPHA *   inputBuffer[i - echo1b] 
                  - ALPHA *   inputBuffer[i + echo1b] 
                           ));

被纠正为可怕的东西。有没有办法让自动缩进功能跳过某些代码,使用@annotation或其他东西?

3 个答案:

答案 0 :(得分:2)

你可以把//放在你不希望它包裹的行的末尾。

audioBuffer1[j] = (short) (VOLUME_REDUCER * ( inputBuffer[i] // 
                  + ALPHA *   inputBuffer[i - echo1a] //
                  + ALPHA *   inputBuffer[i + echo1a] //
                  - ALPHA *   inputBuffer[i - echo1b] //
                  - ALPHA *   inputBuffer[i + echo1b] //
                           ));

答案 1 :(得分:1)

要禁用自动缩进,请参阅bug 193688bug 319532(不是在3.7M2之前)。
您可以将首选项设置为“键入”页面以在“新行”上启用/禁用智能缩进。如果禁用,它仍会缩进到上一行。


注意:对于一般格式(自Eclipse3.6 JDT起)

 class X {
   // disable-formatter
   void foo1() {}
   void foo2() {}
   // enable-formatter
   void bar1() {}
   // enable-formatter
   void bar2() {}
 }

bug 27079(“禁用/启用代码格式化程序的代码”)及其attached patch正在解决该特定功能(这不完全符合您的要求)。

答案 2 :(得分:0)

没有注释来控制格式化行为,但我发现关闭编辑 - >会很有帮助。在插入您不想搞砸的代码块之前的智能插入模式。