Intellij IDEA génère un raccourci clavier pour chaque / pour


172

Existe-t-il un raccourci clavier générant une boucle foreach et for?

Réponses:


316

vous pouvez utiliser des `` modèles en direct '' pour générer plusieurs types d'extraits de code, l'itération de la boucle se fait en suivant -

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 

Il y en a probablement beaucoup d'autres, il suffit de rechercher des «modèles dynamiques» dans la documentation d'aide.


1
Vérifiez également l'achèvement de postfix, par exemple stackoverflow.com/a/40020608/109795
Tom

133

Appuyez sur Ctrl+ pour Jouvrir la liste des modèles dynamiques dans votre contexte de code. Puis tapez 'itin'.


J'utilise le plugin IdeaVim sur Mac. J'ai dû faire Ctrl + Alt + Shift + J pour déclencher des modèles en direct.
user674669

29

En plus des autres réponses, vous n'avez même pas besoin d'utiliser Ctrl + J (mais c'est bien pour vérifier quelles sont vos possibilités ..) Commencez simplement par taper et appuyez sur Entrée:

Foreach: tapez " iter " puis appuyez sur Entrée.

Pour la boucle: tapez " fori " puis appuyez sur Entrée.

L'idée reconnaîtra le contexte et suggérera la variable la plus probable à parcourir, si vous aimez les options données, appuyez simplement sur Entrée!


19

Bien sûr, regardez dans l'aide les références de keymap par défaut. Tapez l'un des éléments suivants et cliquez sur "onglet":

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



2

Vous pouvez également utiliser Postfix Completion. Appuyez sur Ctrl+ Alt+ Spour ouvrir les paramètres. Par exemple:

int[] list = {1, 2, 3};    
list.for -> for(int i : list) {}
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.