I have some Kotlin code, over 100 lines long, within a larger class. The code should look similar to this:
fun generateAllCards(): Array<Card> {
return arrayOf(
Card(FORMAT_1, COLOUR_BLACK, TYPE_RUN, 1, POINTS_1, arrayOf(RunAbility(arrayOf(TRIGGER_RAN_BLUE), EFFECT_CAN_FLY_10_SEC))),
Card(FORMAT_2, COLOUR_YELLOW, TYPE_DRIVE, 3, POINTS_3, arrayOf(DriveAbility(arrayOf(TRIGGER_DROVE_RED, TRIGGER_DROVE_BLUE), arrayOf(GET_ONE_VICTORY_TOKEN)))),
...
)
}
But IntelliJ's automatic reformatting replaces my preferred format with this:
fun generateAllCards(): Array<Card> {
return arrayOf(
Card(
FORMAT_1,
COLOUR_BLACK,
TYPE_RUN,
1,
POINTS_1,
arrayOf(RunAbility(arrayOf(TRIGGER_RAN_BLUE), EFFECT_CAN_FLY_10_SEC))
),
Card(
FORMAT_2,
COLOUR_YELLOW,
TYPE_DRIVE,
3,
POINTS_3,
arrayOf(
DriveAbility(
arrayOf(TRIGGER_DROVE_RED, TRIGGER_DROVE_BLUE),
arrayOf(GET_ONE_VICTORY_TOKEN)
)
)
),
...
)
}
I've created a script to fix it whenever the reformatter breaks it, but this isn't sustainable. I would like to prevent reformatting (automatic or manual) just within this code block, not the whole file or any larger scope. I want IntelliJ to continue reformating code everywhere else, including the rest of the file this code came from.
I thought there might be something like @SuppressFormatting
to put at the top of a block. I tried using //@formatter:off ... //@formatter:on
, but as noted here, it doesn't seem to stop the reformatting. Is there something else that works?
To use //@formatter:off
///@formatter:on
you need to enable them first.
Go to
Settings->Code style->Formatter->Turn formatter on/off with markers in code comments