【问题标题】:IntelliJ: foreach Live Template code formattingIntelliJ:foreach 实时模板代码格式化
【发布时间】:2016-04-19 17:27:17
【问题描述】:

在 IntelliJ 的想法中,当我插入 foreach 实时模板时,它会在 ':' 之后放置换行符,所以它看起来像这样:

  for ( :
    ) {

    }

我希望将 for 语句放在这样的一行中:

  for ( : ) {

  }

我尝试更改我的代码格式首选项,但无法弄清楚什么设置会影响这种特殊情况。

所以我的问题是如何设置代码样式选项以实现所需的行为?

【问题讨论】:

    标签: java intellij-idea


    【解决方案1】:

    使用iter 实时模板而不是foreachforeach 在 Android 块下,默认样式是添加换行符。

    更新:

    至少从 2018.1.1 开始(不确定何时添加),您现在可以键入 <name of your collection>.for然后是选项卡,它将展开为一个 foreach 循环。

    它还为<array>.stream 然后标签之类的东西带来了相同的环境/扩展,可能还有一些我不知道的东西。

    【讨论】:

    • 他们为什么叫它iter?我的意思是,是的,它会迭代,但如果我想要一个 foreach 循环,我将从输入 for... 开始。
    • @Xerus foreachfori 已被其他模板占用。鉴于 Java 中的特性被称为“增强的 for 循环”,难怪它令人困惑。你可以重命名/替换模板,所以也许fore
    • 我没有找到foreach 的任何其他模板吗?所以是的,我将其重命名为 foreach
    • @Xerus 你可能没有安装 Android 插件,这就是 foreach 的来源。我注意到 Intellij 至少从 2018.1.1 开始,您现在可以输入 <name of your collection>.for 然后输入 tab ,它将扩展到一个 foreach 循环。它还为 <array>.stream 之类的东西带来了相同的环境/扩展,可能还有一些我不知道的东西。
    【解决方案2】:
    • 转到文件 -> 设置 -> 编辑器 -> 代码样式 -> 实时模板
    • 在右侧打开 Android 列表并停留在 foreach 上。
    • 在选项区域取消选中根据样式重新格式化

    您可以在 IntelliJ IDEA 设置foreach style 中查看如何操作

    【讨论】:

    • 为我工作,很好的答案!
    【解决方案3】:

    您可以通过更改 Live Templates 中的设置来更改 IntelliJ 中增强的 for 循环的模板。

    转到文件 -> 设置 -> 编辑器 -> 实时模板。在右侧,选择迭代 -> “iter (Iterate Iterable | Array in J2SDK 5.0 syntax)”。在底部你可以看到模板文本,你可以通过在你想要的地方引入换行来改变它。改变

    for ($ELEMENT_TYPE$ $VAR$ : $ITERABLE_TYPE$) {
        $END$
    }
    

    for ($ELEMENT_TYPE$ $VAR$ :
         $ITERABLE_TYPE$) {
      $END$
    }
    

    并应用您的更改。

    在源代码编辑器中,选择 Code -> Insert Live Template... -> iter,然后 IntelliJ 将按照您指定的方式插入代码模板,并在变量名称周围使用框来更改它们。

    for (String arg :
            args)
    {
    
    }
    

    【讨论】:

    • 我认为您混淆了默认值和 OP 想要的内容。
    猜你喜欢
    • 2012-10-30
    • 2021-06-26
    • 2015-10-20
    • 2020-10-25
    • 2019-02-02
    • 2013-08-05
    • 2012-07-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多