186

是否有生成 foreach 和 for 循环的键盘快捷键?

4

8 回答 8

340

您可以使用“实时模板”生成多种类型的代码片段,循环迭代通过以下方式完成 -

iter    Iterate (for each..in) 
itin    Iterate (for..in) 
itli    Iterate over a List
itar    Iterate elements of array 
ritar   Iterate elements of array in reverse order 

可能还有更多,只需在帮助文档中查找“实时模板”即可。

于 2011-04-03T00:18:34.247 回答
140

Ctrl+J打开代码上下文中的实时模板列表。然后输入'itin'。

于 2011-04-22T14:05:43.017 回答
37

除了其他答案,您甚至不必使用 Ctrl + J (但很适合检查您的可能性。)只需开始输入并按 Enter 键:

Foreach:输入“ iter ”,然后按 Enter。

For 循环:输入“ fori ”,然后按 Enter。

Idea 将识别上下文并建议最有可能的 var 进行迭代,如果您喜欢给定的选项,只需按 Enter!

于 2016-10-10T17:30:52.667 回答
19

当然,请查看默认键盘映射参考的帮助。键入以下内容之一并点击“tab”:

iter Iteration according to Java SDK 1.5 style
inst Check object type with instanceof and downcast it
itco Iterate elements of java.util.Collection
itit Iterate elements of java.util.Iterator
itli Iterate elements of java.util.List
于 2011-04-03T00:14:56.687 回答
16

从现有列表语句创建 for 循环:

  1. 突出显示列表
  2. Cmd+ Alt+JCtrl+ Alt+J
  3. 从下拉列表中选择 Iterate Iterable ( i)

https://www.jetbrains.com/phpstorm/help/creating-code-constructs-using-surround-templates.html

于 2015-09-24T07:18:20.730 回答
9

您也可以使用环绕声!
Mac:Command+ Option+ T
Windows:Ctrl+ Alt+ T
https://www.jetbrains.com/phpstorm/webhelp/surrounding-blocks-of-code-with-language-constructs.html

互联网上也有很多实时模板!你可以谷歌它。

于 2014-03-12T07:54:03.853 回答
3

您也可以使用 Postfix Completion。按Ctrl+ Alt+S打开设置。例如:

int[] list = {1, 2, 3};    
list.for -> for(int i : list) {}
于 2018-08-24T14:34:09.630 回答
2

您可以创建自己的实时模板,例如,我创建了这个用于迭代数组:

在此处输入图像描述

于 2021-02-20T04:01:13.303 回答