Reputation: 198398
In a html file, there is some code used custom template-language:
<script type="text/javascript">
function ($scope, JsRoutes) {
$scope.rows = [
${"#{list rows, as: 'row', separator: ','}"}
{
#{list fieldConfigs, as: 'f', separator: ','}
${f.name} : ${'$'}{row.${f.name}.toJson()}#{/list}
}
${'#{/list}'}
]
}
</script>
Is it possible to configure intellij-idea not to format it(but format the other part of the document)? Since idea will make it hard to read after formatting:
<script type="text/javascript">
function ($scope, JsRoutes) {
$scope.rows = [
${"#{list rows, as: 'row', separator: ','}"}
{
#{list fieldConfigs, as: 'f', separator: ','}
${f.name} :
${'$'}{
row.${f.name}.toJson()
}#{/list}
}
${'#{/list}'}
]
}
</script>
Upvotes: 46
Views: 20693
Reputation: 402543
This feature has been implemented and you can now disable formatting for the regions of code using the special comments.
After enabling this feature in the settings, add //@formatter:off
at the start of your region, and //@formatter:on
at the end of it.
These are the default markers, and they are configurable.
You can find more details and examples in the documentation:
Original answer from 2012:
It's not possible yet, please vote for this feature request:
Upvotes: 47
Reputation: 583
It's worth noting that the formatter control does not appear to work in javadoc comments. It needs to be either in a regular C or C++-style comment. So // @formatter:off
works /* @formatter:off */
also works, but /** @formatter:off */
does not.
Upvotes: 2
Reputation: 640
In my version EAP 13.1, you must enable the following option in settings,
Preferences
-> Code Style
-> General
-> Formatter Control
-> Enable formatter markers in comments
before you can use these comments,
// @formatter:off
// @formatter:on
or these (depending on language):
<!--@formatter:off-->
<!--@formatter:on-->
Screenshot:
Upvotes: 52
Reputation: 6992
Since EAP 13 you can trigger the formatter with the following comments:
// @formatter:off
...
// @formatter:on
To enable it in "surround with", you can define a Live Template in the section "surround" with:
// @formatter:off
$SELECTION$
// @formatter:off
You can find these settings in Settings
-> Code Style
-> General
and set your own trigger words.
Upvotes: 9