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.


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.


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);

11

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

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.