42

在 html 文件中,有一些使用自定义模板语言的代码:

<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>

是否可以将 intellij-idea 配置为不格式化(但格式化文档的其他部分)?由于想法会使格式化后难以阅读:

<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>
4

4 回答 4

46

在我的 EAP 13.1 版本中,您必须在设置中启用以下选项,

Preferences-> Code Style-> General-> Formatter Control->Enable formatter markers in comments

在您使用这些评论之前,

// @formatter:off

// @formatter:on 

或这些(取决于语言):

<!--@formatter:off-->

<!--@formatter:on-->

截屏:

突出显示“首选项”下的注释中启用格式化程序标记复选框的屏幕截图

于 2014-05-06T04:09:59.560 回答
44

此功能已实现,您现在可以使用特殊注释禁用代码区域的格式设置。

标记

在设置中启用此功能后,//@formatter:off在您所在区域的开头和//@formatter:on结尾添加。

这些是默认标记,它们是可配置的。

您可以在文档中找到更多详细信息和示例


2012年的原始答案:

尚不可能,请投票支持此功能请求:

  • IDEA-56995使用注释禁用每个区域的代码格式
于 2012-12-24T10:59:31.450 回答
9

EAP 13 开始,您可以使用以下注释触发格式化程序:

// @formatter:off
...
// @formatter:on 

要在“环绕”中启用它,您可以在“环绕”部分定义一个实时模板:

// @formatter:off
$SELECTION$
// @formatter:off

Settings您可以在-> Code Style->中找到这些设置General并设置您自己的触发词。

于 2014-01-24T08:33:28.730 回答
1

值得注意的是,格式化程序控件似乎在 javadoc 注释中不起作用。它必须是常规的 C 或 C++ 风格的注释。所以// @formatter:off作品/* @formatter:off */也有效,但/** @formatter:off */没有。

于 2017-03-09T13:00:22.970 回答