Pintasan keyboard JetBrains / IntelliJ untuk menutup semua metode

226

Saya sedang mengerjakan beberapa kode lawas yang memiliki kelas 10.000+ baris kode dan memiliki 100-an metode. Apakah ada pintasan untuk JetBrains IDE (karena pintasan kemungkinan akan dibagikan di semuanya) untuk menutup semua metode / fungsi sehingga hanya tanda tangan metode yang ditampilkan?

Sesuatu seperti ini:

public String myMethod(String arg1, int arg2){...}

public String mySecondMethod(String arg1, int arg2){...}
Brad
sumber
12
Anda dapat melihat pintasan kode lipat intellij . Saya kira Ctrl + Shift + Minus adalah yang Anda butuhkan.
Lifus
YEAHHHH. Saya tidak tahu itu disebut kode lipat sehingga saya tidak dapat menemukannya. Terima kasih!
Brad
3
Saya akan tergoda untuk downvote kecuali saya hampir menangis ketika Anda mengatakan "kelas yang 10.000 + baris kode dan memiliki sekitar 100-an metode" jadi +1 untuk mencoba.
Peter Lawrey
Ha. Aku juga akan tetapi itu bukan salahku. Saya mewarisi ini
Brad
4
Saya menyadari ini tidak menjawab pertanyaan sebagaimana ditanyakan, tetapi Ctrl-F12akan membuka navigator untuk melompat di antara metode, dll. (Anda dapat mempersempit daftar metode dengan mengetik di Struktur ini juga.) Panel Struktur ( Alt-7) menambahkan lebih banyak pilihan. Ini mungkin cara yang lebih efektif untuk menjelajahi file dengan sejumlah besar metode, jadi saya meninggalkan saran di sini untuk googler masa depan.
kghastie

Jawaban:

432

Anda dapat melihat pintasan kode lipat intellij .

Untuk Windows / Linux, lakukan: Ctrl+ Shift+-

Untuk penggunaan mac Command+ Shift+-

Untuk membuka kembali lakukan Ctrl+ Shift+ +atau Command+ Shift+ +hormat.

Lifus
sumber
10
Perintah yang tidak secara rekursif menghancurkan semua yang ada di dalam metode juga akan lebih baik.
trinity420
1
Ctrl + -: runtuh metode saat ini
Ali_dev
Jawaban di bawah ini jauh lebih baik, karena ia memiliki semua rincian yang saya cari!
Angelos Pikoulas
@ Ali_dev apakah ada cara untuk melakukan hal yang sama untuk semua metode?
shashwat
@shashwat tidak tepat. Anda dapat menggunakan Ctrl + Shift + Minus untuk menciutkan semuanya dan kemudian menggunakan Ctrl + Alt + Plus untuk membuka salah satunya secara rekursif.
Ali_dev
86

Saran Ctrl+ Shift+ -kode di atas melipat semua blok kode secara rekursif. Saya hanya ingin melipat metode untuk kelas saya.

Code> Folding> Expand all to level>1

Saya berhasil mencapai ini dengan menggunakan opsi menu Code > Folding > Expand all to level > 1.

Saya menugaskan kembali ke Ctrl+ NumPad-1yang memberi saya cara cepat untuk menutup kelas saya ke metode mereka.

Ini berfungsi di 'blok level' file dan mengasumsikan bahwa Anda memiliki kelas yang ditentukan di tingkat atas file Anda, yang berfungsi untuk kode seperti PHP tetapi tidak untuk JavaScript (penutupan bersarang dll.)

Precastic
sumber
4
Ini harus menjadi jawaban yang diterima IMO. Ini memecahkan masalah dalam 1 langkah dan menyelesaikannya persis seperti yang diminta. Jika bukan Anda yang melakukan jawaban yang diterima, Anda akan melipat semua yang bisa dilipat dan kemudian membuka untuk melihat metode Anda. Aku sudah melakukan yang terakhir dan itu tidak yang memakan waktu, tapi itu bagus untuk tahu aku dapat melewatkan beberapa langkah dengan mantan dari posting ini. Terima kasih!
John Pancoast
1
Bagus, ini berhasil. Satu-satunya masalah yang saya hadapi sekarang adalah saya tidak bisa melakukannya dengan menekan tombol keyboard karena saya punya MacbookPro tanpa numpad. Harus ke Google tentang cara menetapkan kunci kustom saya kira. Mendesah.
CodeGodie
IntelliJ memiliki keymap default untuk ini: Ctrl+ NumPad-*diikuti oleh tingkat lipat yang Anda inginkan, dimasukkan pada NumPad.
Matt C
Itu meruntuhkan blok di dalam metode! Apakah tidak ada level 0 lipat ?
Amir Fo
22

pergi ke menu opsi Kode> Lipat untuk mengakses semua opsi terkait kode lipat dan pintasannya.

Rahul Tiwari
sumber
1
Ini sangat berguna jika Anda menggunakan keymap lain (seperti eclipse keymap).
Magnilex
Sayangnya, pintasan "stroke kedua" tidak menampilkan pintasan di menu dengan benar. Lihat jawaban overthink.
Antimony
7

@ Jawaban precastic di atas adalah, imo, ide yang tepat.

Perlu dicatat bahwa dalam IDEA 2018.2 (dan tentunya versi lain yang terdekat) ada pintasan keyboard default untuk ini: (menunjukkan Mac, lihat Kode> Lipat> Perluas Semua ke Level untuk sistem Anda):

Cmd+ Option+ Keypad *, 1- perluas semua ke level 1
Cmd+ Option+ Keypad *, 2- perluas semua ke level 2
...
Cmd+ Option+ Keypad *, 5- perluas semua ke level 5

Catatan: ini adalah pintasan "stroke kedua". Pertama tekan Cmd+ Option+ *, kemudian lepaskan, lalu tekan nomor yang Anda inginkan.

terlalu banyak berpikir
sumber
1
Untuk semua orang non mac Cmdadalah Ctrldan OptionadalahShift
desertSniper87
Baik untuk mengetahui tentang pintasan stroke kedua.
Varun Sharma
2

Anda Dapat Pergi ke pengaturan> editor> umum> pelipatan kode dan centang "tampilkan garis besar kode lipat".

Meysam Jafari
sumber
1

Di Rider, ini akan menjadi Ctrl+ Shift+ Keypad *,2

Tapi !, Anda tidak dapat menggunakan angka 2 pada keypad , hanya nomor 2 di baris atas keyboard yang berfungsi.

Rosdi Kasim
sumber
2
Nomor pada numpad berfungsi, tetapi Anda harus melepaskan Ctrl + Shift + * terlebih dahulu sebelum menekan numpad 2.
Northnroro