I need the exact same effect as in this question but in Eclipse.
It should only do the alignment if I explcitly insert a new line before the “:” or if the second operand (the “true” expression) is too long.
Example:
a = cond ? "a veeeeeeeeeeeeeeeery loooooooooooooooooooooooooooong string" : ""; // ^ put the colon here
Advertisement
Answer
This original answer was for Galileo which is well over a decade ago, so I’m updating it to be a little more current. Original answer remains below.
For Eclipse 2021-12 (under Window though I hope it would be the same across platforms):
- Go into
Project
,Properties
on the menu. - Under
Java Code Style
, chooseFormatter
. - For the current project only, enable
project-specific settings
. For workspace settings, simply click on theConfigure workspace settings
. Then click theedit
button. - In the selection pane, under
Line Wrapping
,Wrapping settings
,Other expressions
, there is aConditionals
item that you can edit.
The options you want are:
- wrap before operators;
- wrap where necessary;
- no force split; and
- indent on column.
They give this as an example:
This is the dated answer for Galileo:
- Go into
Project
,Properties
. - Under
Java Code Style
, chooseFormatter
. - For the current project only, enable
project-specific settings
. For workspace settings, simply click on theConfigure workspace settings
. Then click theedit
button. - On the line-wrapping tab, choose
Expressions
,Conditionals
. - Choose the relevant line wrapping policy and indentation policy.
I have “wrap only when necessary” and “indent on column” which appears to be close to what you want.
If you’re not running Galileo, other versions of Eclipse should at least be close to that process. If my settings aren’t quite what you want, you may need to fiddle with them a bit, but that Formatter
section is pretty well the entire exposed interface so, if it can’t be done with that, it can’t be done (short of writing your own plug-in or finding a more configurable third-party one).