How to config intellij-idea not format some part of the code?

天涯浪子 提交于 2019-12-03 10:35:20

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!