Cara sederhana untuk menyusun ulang metode kelas Java di IntelliJ?

Apakah ada cara yang lebih sederhana untuk menyusun ulang metode dalam file sumber kelas di IntelliJ daripada memotong dan menempelkan kode secara manual? Saat ini saya sering memerlukan ini saat melakukan refactoring kode lama, mis. untuk memindahkan metode terkait berdekatan satu sama lain dalam kode sumber.

Di Eclipse AFAIK ada tampilan yang mirip dengan tampilan Struktur IntelliJ, di mana saya dapat menarik dan melepas metode. Namun, ini tidak berfungsi di IntelliJ dan saya juga tidak dapat menemukan petunjuk apa pun dari bantuannya.

Saya menggunakan IntelliJ 9.0.2 untuk lebih spesifik.


person Péter Török    schedule 13.05.2010    source sumber
comment
Saya pikir solusi terbaik adalah alat pemformatan yang mengurutkan metode Anda secara otomatis. Prosa: Metodenya harus sesuai dengan cara pemanggilannya. Sama seperti Anda membaca artikel di koran.   -  person Chris311    schedule 28.11.2016


Jawaban (6)


Anda dapat memilih nama metode dan menekan: Ctrl+Shift+Up atau Ctrl+Shift< /kbd>+Bawah untuk memindahkannya ke atas dan ke bawah.

Pada OS X: Cmd+Shift+Up atau Cmd+Shift+< kbd>Bawah

Selain itu, Rearranger Plugin memungkinkan Anda memindahkan metode dengan cepat, dan bahkan menentukan pengurutan standar berdasarkan kebutuhan Anda. konvensi pengkodean.

person retronym    schedule 13.05.2010
comment
bukankah ada sesuatu yang perlu disusun ulang berdasarkan abjad misalnya? - person Jaime Hablutzel; 19.06.2011
comment
Tautannya mati, sepertinya ini yang benar: java.net/projects/rearranger - person stian; 06.12.2012
comment
@stian - Saya telah mengedit postingan untuk menunjuk ke halaman plugin di situs web JetBrains, karena tautan yang Anda posting sepertinya tidak menyediakan unduhan apa pun - person adrian; 29.10.2013
comment
Untuk Mac OS X: Cmd+Shift+Atas / Cmd+Shift+Bawah - person Christian García; 06.08.2014
comment
plugin rearranger tidak berfungsi dengan baik dengan versi IntelliJ 2016 dan bug yang disebutkan di saurabheights' jawabannya belum tetap. Jadi sepertinya saat ini tidak ada cara untuk mengatur ulang metode secara otomatis dalam urutan pertama. - person Suzana; 28.11.2016
comment
Sejak IDEA 16 tersedia melalui menu: Code > Move Statement Up/Down - person Lu55; 02.02.2017

IntelliJ memiliki sistem bawaan yang memungkinkan Anda menentukan cara mengurutkan metode Anda. Anda harus pergi ke Pengaturan (Ctrl + Alt +S) -> Editor -> Gaya Kode -> Java -> Pengaturan (tab) dan gulir ke bawah hingga Anda menemukan ikon dengan methods. Di sana Anda dapat memanipulasi opsi untuk mengurutkannya berdasarkan visibilitas, atau berdasarkan abjad, atau untuk mengelompokkan opsi terkait. Berikut adalah tangkapan layar pengaturan saya yang akan mengurutkan metode secara otomatis berdasarkan visibilitas (publik, dilindungi, pribadi) dan berdasarkan abjad (a-z). Sorotan biru menunjukkan aturan yang dipilih saat ini.

masukkan deskripsi gambar di sini

person georger    schedule 30.01.2017
comment
Bagaimana cara menerapkan pilihan pesanan ke satu atau beberapa aturan sekaligus? - person Derek Mahar; 08.05.2018
comment
Ini tidak berhasil sama sekali. Menggunakan konfigurasi ini dan melakukan Pengaturan Ulang tidak menghasilkan apa-apa. - person Mulgard; 29.09.2020
comment
Solusi ini berfungsi dengan pemesanan default. Terima kasih! - person Mr. Polywhirl; 06.11.2020
comment
Menekan Kode -› Menyusun Ulang Kode dapat menerapkan konfigurasi ke file saat ini sekaligus! - person Jameson; 28.02.2021

Belum jawaban yang sempurna, karena ada bug di IntelliJ.

Meskipun IntelliJ menawarkan fitur ini secara implisit, namun fitur ini perlu diaktifkan dan diperbaiki. Cara yang disarankan OP adalah secara teknis menyusun metode secara mendalam terlebih dahulu. Namun, jika Anda menggunakan pengurutan Breadth-first (yang berfungsi dengan baik), ini akan mengurangi banyak pekerjaan manual dalam memindahkan fungsi, dengan mengatur semua metode pemanggil dan metode yang dipanggil secara bersamaan.

Tautan Masalah: https://youtrack.jetbrains.com/issue/IDEA-149524. Silakan pilih resolusinya.

IntellijRearrangeMethodsInDFO

Tindakan yang tepat untuk ini adalah Menyusun Ulang Kode. Ini tidak memiliki kunci yang ditetapkan padanya, tetapi Anda dapat menentukannya sendiri menggunakan Preferensi->Keymap.

Atur UlangActionMenuButton

masukkan deskripsi gambar di sini

person saurabheights    schedule 27.11.2016

Dengan kursor Anda pada baris definisi metode (Anda tidak perlu melakukannya dan tekan ctrl+shift+up atau ctrl+shift+bawah, untuk bergerak ke atas atau ke bawah.

Anda juga dapat ctrl+shift+numberpad - untuk menutup semuanya dengan cepat sehingga Anda dapat fokus bergerak (biasa - juga berfungsi di laptop saya, tidak yakin kenapa) dan ctrl+shift+numberpad + untuk kembali melihat semuanya (ctrl- shift-equals juga berfungsi di laptop saya).

person Yishai    schedule 13.05.2010

Pilih satu blok teks (tekan Ctrl-W beberapa kali) lalu gunakan Ctrl-Shift-Up dan Ctrl-Shift-Down untuk memindahkannya.

person Jacob Mattison    schedule 13.05.2010

Ada cara otomatis, yang nantinya bisa Anda sesuaikan

Kode -> tampilkan dialog format ulang file

dan centang kotak "atur ulang kode".

person Alon    schedule 12.03.2018