fgysin fgysin - 2 months ago 6
Java Question

Formatting of the `//@formatter:off` tag in eclipse

As you may know, Eclips lets you disable the code formatter for certain sections of source code (see for example this question).

Now, my problem is, that the formatter apparently stops formatting code at the very beginning of the line where the

//@formatter:off
tag is found. This has the result, that the formatter tag itself (which is just a comment line essentially) is placed in a queer location, namely without indentation at the very beginning of the line.

See this example.

What I enter:

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


After hitting [Ctrl + F] it looks like this:

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


Ok, I realize that this is purely a cosmetic issue, but my OCD is driving me nuts when I see this everywhere in the code. Especially after specifically using the formatting tag to make the code look nicer.

Answer

What version of Eclipse are you using?

I just tried this in Eclipse 4.3.1, and it seems to work exactly as you want. Even better, if your code does end up like in your second code block, the formatter actually indents that first //@formatter:off block to the correct indentation.

Perhaps you need to upgrade your version of Eclipse?