ChatGPT解决这个技术问题 Extra ChatGPT

Intellij IDEA 生成 for-each/for 键盘快捷键

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


d
d-live

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

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 

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


还要检查后缀完成,例如 stackoverflow.com/a/40020608/109795
d
dcharles

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


我在 Mac 上使用 IdeaVim 插件。我必须按 Ctrl+Alt+Shift+J 来触发实时模板。
B
BlondCode

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

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

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

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


d
duffymo

当然,请查看默认键盘映射参考的帮助。键入以下内容之一并点击“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

d
d4kris

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

突出显示列表 Cmd+Alt+J 或 Ctrl+Alt+J 从下拉列表中选择 Iterate Iterable (i)

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


M
Meabed

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

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


Z
Zizou

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

int[] list = {1, 2, 3};    
list.for -> for(int i : list) {}

A
Arefe

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

https://i.stack.imgur.com/r5Kli.png