Intellij IDEA menghasilkan untuk-masing-masing / untuk pintasan keyboard

172

Apakah ada pintasan keyboard yang menghasilkan foreach dan juga untuk loop?

Meluncur
sumber

Jawaban:

316

Anda dapat menggunakan 'template hidup' untuk menghasilkan beberapa jenis snipet kode, iterasi loop dilakukan dengan mengikuti -

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 

Mungkin ada lebih banyak lagi, cukup cari 'Live Templates' di dokumentasi bantuan.

d-live
sumber
1
Juga checkout penyelesaian postfix, misalnya stackoverflow.com/a/40020608/109795
Tom
133

Menekan Ctrl+ Jmembuka daftar templat langsung dalam konteks kode Anda. Kemudian ketik 'itin'.

TroyJ
sumber
Saya menggunakan plugin IdeaVim di Mac. Saya harus melakukan Ctrl + Alt + Shift + J untuk memicu template langsung.
user674669
29

Khusus untuk jawaban lain, Anda bahkan tidak perlu menggunakan Ctrl + J (tapi bagus untuk memeriksa apa kemungkinan Anda ..) Cukup mulai ketik dan tekan Enter:

Foreach: ketik " iter " lalu tekan Enter.

Untuk loop: ketik " fori " lalu tekan Enter.

Ide akan mengenali konteks dan menyarankan var yang paling mungkin untuk diulangi, jika Anda menyukai opsi yang diberikan, cukup tekan Masuk!

BlondCode
sumber
19

Tentu saja, lihat bantuan di referensi keymap default. Ketik salah satu dari yang berikut ini dan tekan "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
Duffymo
sumber
2

Anda dapat menggunakan Penyelesaian Postfix juga. Tekan Ctrl+ Alt+ Suntuk membuka Pengaturan. Sebagai contoh:

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