问题
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>
回答1:
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:
- Skipping a region when reformatting source code
- Example of using formatting markers
Original answer from 2012:
It's not possible yet, please vote for this feature request:
- IDEA-56995 Disable code formatting per region using comments
回答2:
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:

回答3:
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.
回答4:
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.
来源:https://stackoverflow.com/questions/14020200/how-to-config-intellij-idea-not-format-some-part-of-the-code