IntelliJ:foreach实时模板代码格式

jir*_*ira 26 java intellij-idea

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

  for ( :
    ) {

    }
Run Code Online (Sandbox Code Playgroud)

我希望在一行上有for语句,如下所示:

  for ( : ) {

  }
Run Code Online (Sandbox Code Playgroud)

我试图更改我的代码格式首选项,但无法弄清楚这个特定情况的设置.

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

Jus*_*ves 32

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

更新:

截至至少2018.1.1(不确定何时添加),您现在可以键入<name of your collection>.for then选项卡,它将扩展为foreach循环.

它也带来了相同的周边/扩展,像那样的东西<array>.stream tab,可能还有一些我不知道的东西.

  • 为什么他们称它为“iter”?我的意思是,是的,它会迭代,但是如果我想要一个 foreach 循环,我将开始输入 for... (3认同)
  • @Xerus `foreach` 和 `fori` 已被其他模板占用。考虑到 Java 中的功能被称为“增强的 for 循环”,难怪它会令人困惑。您可以重命名/替换模板,所以也许是“fore”。 (2认同)

And*_*ich 11

  • 转到File -> Settings -> Editor -> Code Style -> Live Template
  • 在右侧打开Android列表并停留在foreach
  • 在选项区域取消选中根据样式重新格式化

你可以在 IntelliJ IDEA settings foreach style 中看到怎么做


rge*_*man 6

您可以for通过更改实时模板中的设置来更改IntelliJ中增强循环的模板.

转到文件 - >设置 - >编辑器 - >实时模板.在右侧,选择迭代 - >"iter(Iterate Iterable | J2SDK 5.0语法中的数组)".在底部,您可以看到模板文本,您可以通过在您想要的位置引入换行符来更改它.更改

for ($ELEMENT_TYPE$ $VAR$ : $ITERABLE_TYPE$) {
    $END$
}
Run Code Online (Sandbox Code Playgroud)

for ($ELEMENT_TYPE$ $VAR$ :
     $ITERABLE_TYPE$) {
  $END$
}
Run Code Online (Sandbox Code Playgroud)

并应用您的更改.

在源代码编辑器中,选择代码 - >插入实时模板... - > iter,然后IntelliJ将插入您指定的代码模板,并在变量名称周围添加用于更改它们的框.

for (String arg :
        args)
{

}
Run Code Online (Sandbox Code Playgroud)

  • 我认为你混淆了默认和OP想要的东西. (3认同)