Intellij IDEA generate for-each/for keyboard short

2019-01-29 16:55发布

问题:

Is there a keyboard shortcut generating a foreach and also for loop?

回答1:

you can use 'live templates' to generate several types of code snippets, loop iteration is done by following -

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 

There are probably many more, just lookup 'Live Templates' in help documentation.



回答2:

Pressing Ctrl+J opens the list of live templates within your code context. Then type 'itin'.



回答3:

Of course, have a look in the help at the default keymap references. Type one of the following and hit "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


回答4:

Aditionally to other answers, you don't even have to use Ctrl + J (but nice for checking what are your possibilities..) Just start type and press Enter:

Foreach: type "iter" then press Enter.

For loop: type "fori" then press Enter.

Idea will recognize the context and suggest the most likely var to iter through, if you like the given options, just press Enters!



回答5:

Create for loop from an existing list statement:

  1. Highlight the list
  2. Cmd+Alt+J or Ctrl+Alt+J
  3. Choose Iterate Iterable from the dropdown (i)

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



回答6:

You can also use Surround with!
Mac : Command+Option+T
Windows : Ctrl+Alt+T
https://www.jetbrains.com/phpstorm/webhelp/surrounding-blocks-of-code-with-language-constructs.html

There is also plenty of live templates in the internet ! you can just google it.



回答7:

You can use Postfix Completion too. Press Ctrl + Alt + S to open the Settings. For example:

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