2013-10-16 10 views
10

でoff`タグは、ECLIPSは(たとえばthis questionを参照)を使用すると、ソースコードの特定のセクションのためのコードフォーマッタを無効にすることができます。フォーマット:あなたが知っているかもしれませんが日食

さて、私の問題は、フォーマッタが明らかに//@formatter:offタグが見つかった行の先頭にフォーマッティングコードを停止すること、です。これは、フォーマッタタグ自体が(本質的に単にコメント行である)行の先頭にインデントなしすなわち、奇妙な場所に配置されていることを、結果を有しています。

この例を参照してください。私が入る何

//@formatter:off 
    Some code { 
    with indentation 
     that I dont want to be formatted. 
    } 
    //@formatter:on 

は[Ctrl + F]を押した後、それは次のようになります。

//@formatter:off 
    Some code { 
    with indentation... 
     that I dont want to be formatted. 
    } 
    //@formatter:on 

[OK]を、私はこれは純粋に化粧品の問題であることを認識し、私のOCDがあります私がコード内のどこでもこれを見ると、ナッツを動かす。特にの後に、具体的にはのコードを書式設定タグを使用して見栄えを良くします。

答えて

1

あなたは、Eclipseのバージョンは何を使用していますか?

私はEclipseの4.3.1でこれを試みたが、あなたが望むとおりに動作しているようです。さらに、コードが2番目のコードブロックのように終わった場合、フォーマッタは実際に最初に//@formatter:offが正しいインデントにブロックされてインデントします。

おそらく、あなたは、Eclipseのバージョンをアップグレードする必要がありますか?

+3

問題を再確認しました。奇妙なエッジケースを見つけたようです。私が最初に試みたのは、_object_reference_と_method_call_の間に '// @formatter:off'タグを導入することでした。その特定のケースでは、それはうまく動作せず、むしろ上記のように動作します。あなたは、(ほとんどの)他のケースではうまく動作するのは間違いありません。 – fgysin

+0

好奇心が強い!! https://bugs.eclipse.org/bugs/にバグを投げる価値があるかもしれません。 –

+1

@fgysinありがとう、あなたのコメントはそれを解決しました。もし、式の中にoff/onタグを置くと(配列初期化の 'new Object [] {// @formatter:off ... // @formatter:on};)、インデントを削除しますそれはインデントを保持する表現の外に置く。 –

関連する問題