Apa pintasan IntelliJ untuk membuat variabel lokal?

121

Di Eclipse jika Anda memiliki metode:

String MyObject.getValue();

Saat menggunakan ini, Anda dapat pergi:

MyObject.getValue(); 

Jika kursor Anda pada baris dan Anda menekan CTRL+ 1Anda mendapatkan menu konteks untuk 'menetapkan variabel lokal baru', menghasilkan yang berikut:

String value = MyObject.getValue(); 

Bisakah Anda melakukan ini dengan mudah di IntelliJ? Saya telah mencari di internet tetapi tidak berhasil.

JARC
sumber
10
ProTip jika Anda tidak ingat pintasan keyboard: Di mana pun Anda berada dalam kode, jika Anda menekan [Ctrl] + [Shift] + [A] ([cmd] + [Shift] + [A] di Mac) ini akan ditampilkan daftar tindakan berdasarkan nama, Anda dapat mengetik tindakan yang ingin Anda lakukan (mis. Variabel) dan menjalankannya
Christian García
Di Eclipse, lebih cepat melakukan "Ctrl-2 l" (L huruf kecil).
Duncan Jones

Jawaban:

192

Ya! Ini adalah pemfaktoran ulang Introduce Variable . Secara default, pilih beberapa teks, lalu tekan Ctrl+ Alt+ V(untuk Mac: + + V). Jika ekspresi tidak lengkap atau tidak valid, IntelliJ akan tetap menebak dengan baik apa yang Anda maksud dan mencoba memperbaikinya untuk Anda.

John Feminella
sumber
2
Terima kasih. Saya menggunakan CTRL + ALT + F tetapi ini tidak menawarkan opsi 'lokal'.
JARC
29
Cmd + Alt + v untuk Mac
Zach Lysobey
Dan, Anda dapat menekan Shift + Tab untuk memilih jenis variabel, IDEA akan mengingat pilihan Anda di masa mendatang.
pengguna674158
1
Apakah ada kemungkinan untuk mendeklarasikan variabel final melalui keyboard, tanpa mengklik popup?
Mathias Bader
1
Saya pikir setelah Anda menentukan bahwa variabel harus final untuk pertama kalinya, pilihan Anda akan diingat di masa mendatang (setidaknya dalam IntelliJ 14).
Jon Onstott
50

IntelliJ 13.1 memperkenalkan penyelesaian Postfix .

Dengan Postfix Completion Anda dapat memperkenalkan variabel lokal dengan mengetik:

MyObject.getValue().var

dan menekan ctrl + spaceatau enter.

Ia bahkan bekerja di dalam pernyataan lain. Sebagai contoh:

foo.someMethod(myObject.getValue().var);
micha
sumber
11

untuk pengguna mac: alt + enterpada posisi di mana Anda ingin membuat variabel Anda

Olivier Royo
sumber