Bagaimana cara menunjukkan kepada semua orang tua dan subclass suatu kelas di IntelliJ IDEA?

151

Ketika saya mengedit kelas Java di Eclipse, ketika kursor saya lebih dari variabel kelas, saya bisa melakukan Ctrl+ Tuntuk memiliki popup yang menunjukkan semua orang tua dan subkelasnya. Apa yang setara di IntelliJ?

Contoh:

Use|r user = new User();

Pipa adalah kursor saya.

Meluncur
sumber

Jawaban:

217

Navigasi | Ketik Hirarki Ctrl + Hakan menampilkan informasi serupa, namun di Panel. Anda dapat Mengambang dan Melepas Sematan Panel sehingga muncul di posisi tampilan tetap hanya ketika Anda menggunakan pintasan keyboard.

CrazyCoder
sumber
1
Saya cukup baru di IntelliJ, dan saya menemukan bahwa lebih baik untuk memetakan pintasan "Sembunyikan Alat Aktif" dipetakan ke <Escape> (bukan pintasan "Escape"), yang secara default dipetakan ke <Shift + Escape> . Sejauh ini terasa jauh lebih alami bagi saya ketika menutup "jendela mengambang" (termasuk tipe hierarki).
Eyal Roth
2
Satu hal lagi - ini masih tidak berperilaku sama dengan hierarki tipe cepat Eclipse: Di Eclipse, ketika Anda mengarahkan kursor ke suatu kelas dalam hierarki, menekan <Enter> akan membuka file sumber dengan kelas; di IntelliJ, Anda harus menggunakan pintasan "lompat ke sumber". Juga, mengklik kembali editor tidak akan membuat jendela menghilang, tidak seperti jendela "tampilkan implementasi" (misalnya), jadi ini bukan jendela mengambang murni.
Eyal Roth
78

Dalam hal perilaku, ekuivalen Eclipse Ctrl+ Tdi IntelliJ IDEA adalah Ctrl+ Alt+B

dimitrisli
sumber
7
di macOS ini Option+ Cmd+B
Brad Cupit
22

Bukan pengguna IntelliJ IDEA, tetapi posting blog ini tampaknya menunjukkan bahwa dalam versi 8.1.1 dan di luar Ctrl+ Alt+ Uakan menampilkan "Hirarki Kelas Cepat".

Daniel DiPaolo
sumber
Itu cukup bagus, tetapi adakah yang lebih ringan? Yang ini membangun diagram UML? Hanya ingin tahu apakah ada hover cepat yang dapat saya lihat orang tuanya dan pergi ke mereka.
Glide
2
Sepertinya ini tidak setara. Sebagai contoh untuk antarmuka org.slf4j.Logger itu menunjukkan tidak lebih dari Logger, yang tidak berguna. Ctrl-H tampaknya lebih baik karena menunjukkan pohon kelas pelaksana (pohon sayangnya tidak diperluas). Namun Eclipse juga menunjukkan semua antarmuka yang diperluas dan kelas implementasinya. Juga disebutkan di bawah ini CTRL-ALT-B tidak menunjukkan pohon atau mengimplementasikan antarmuka. Saya baru saja memulai dengan Idea dan mengharapkan bahwa fungsi yang sering digunakan akan menggantikan versi Eclipse, atau setidaknya akan sama baiknya ...
petrsyn
1
13.1 Ultimate tampaknya mengembalikannya dan pintasan berfungsi.
Jason D
Hirarki kelas UML Ctrl + Alt + U hanya berfungsi dalam Ultimate Edition
Srujan Kumar Gulla
Ctrl + Alt + U bahkan tidak menunjukkan semua sifat leluhur. Hanya orang tua langsung. Menyedihkan.
rapt
16

Coba juga CTRL+ SHIFT+ Ajika ada keraguan. Jalan pintas untuk informasi jalan pintas.

sorencito
sumber
16

Intellij tidak - berbeda dengan Eclipse - membedakan antara hierarki tipe dan kelas implementasi . Saya masih ragu-ragu apakah ini hal yang baik atau tidak (baru saja beralih dari Eclipse ke Intellij sendiri)

Di Mac Intellij 14

  • Ctrl+ Hakan memunculkan hierarki tipe yang menunjukkan kepada Anda sub dan supertipe
  • Cmd+ Alt+ Bakan menampilkan semua kelas dan subclass implementasi dari antarmuka / kelas yang Anda minati
Stefan Haberl
sumber
CTRL + ALT + B tidak hanya masuk akal dengan antarmuka - tetapi juga menunjukkan semua subclass dari suatu kelas, sehingga mudah terlihat jenis yang diwarisi dari kelas yang Anda minati.
nachteil
@nachteil terima kasih. tidak tahu itu. Saya mengubah deskripsi cmd + alt + b
Stefan Haberl
Ya - Ctrl + H adalah jawaban yang benar Ctrl + Alt + B tidak persis Ctrl + T dari eclipse
prash
12

Di IntelliJ IDEA 12, itu Navigasi> Ketik Hirarki ( Ctrl+ Hsecara default).

thSoft
sumber
6

Untuk pengguna Mac yang datang ke sini, ini adalah jalan pintas untuk IntelliJ 14.1.4:

+ Hsecara default.

mkobit
sumber
4

Untuk Pengguna Mac , pintasannya adalah

^(kontrol) + h

Zia
sumber
3

Di IntelliJ 13, itu Navigasi> Implementasi atau CMD+ ALT+ Bsecara default. Tentu saja, pintasan ini dapat ditimpa dalam preferensi Keymap Anda.

Cody A. Ray
sumber
2

Saya tidak tahu tentang versi sebelumnya, tetapi di IntelliJ versi 13 Anda dapat masuk ke preferensi Keymap Anda, mencari "Implementasi", dan mengikatnya ke Ctrl+ T. Ini akan bekerja sangat mirip dengan Eclipse.

celak
sumber
1

Sementara Eclipse menyertakan hierarki tipe dan struktur kelas (metode, bidang, dll.) Dalam satu tampilan, IntelliJ membagi ini: Selain tampilan CTRL+ H(atau ALT+ 8) "Tipe Hierarki" , jendela IntelliJ lain yang relevan disebut "Struktur " dan dapat dipanggil melalui ALT+ 7(Jendela Alat Struktur) atau CTRL+F12 (Struktur popup).

(Bukan jawaban langsung untuk pertanyaan persis yang diposting tetapi akan mengharapkan orang lain dari latar belakang Eclipse dapat tiba di sini setelah mencari Google untuk "hierarki tipe intellij", seperti yang saya lakukan.)

Steve Chambers
sumber
1

Ctrl+U - pergi ke kelas dasar

Ctrl+Alt+B- harus implementasi. Ketik bagian nama kelas untuk mempersempit daftar

Ctrl+H - Jenis jendela alat hierarki terbuka

Ctrl+Alt+U - mengintip hierarki warisan kelas / antarmuka

Konstantin Spirin
sumber
1

Dengan Eclipse, menekan Ctrl+ Tpada tipe akan menampilkan subtipe dan tekan lagi Ctrl+ Tdisplay jadi supertipe. Jadi untuk ... ini adalah toggle.
Itu sangat membantu dan juga sangat lurus.

Sayangnya dengan IntelliJ, peralihan antara supertipe dan subtipe tidak memiliki pintasan default apa pun. Jadi, Anda harus mengklik ikon jendela hierarki.
Jika seperti saya Anda menyukai pintasan keyboard untuk opsi "pindahkan kursor dan klik pada mouse", saya mendorong Anda untuk mengatur ikatan untuk kedua operasi ini. Misalnya Ctrl+ Down untuk subtipe dan Ctrl+Up untuk supertipe.

Di mana Anda dapat mengubah penjilidan ("Bas" berarti "Bawah" dan "Haut" berarti "Atas"): menanti

Perhatikan bahwa binding ini kontekstual dengan konteks "Lainnya" (Eclipse memang memiliki konsep yang cukup mirip). 1) Dengan cara ini, masukkan Ctrl+ Tpada ArrayListtipe menghasilkan:

Hirarki default

2) Masukkan Ctrl+ Downfokus pada subtipe:

subtipe fokus

3) Dan Enter Ctrl+ Upberfokus pada supertipe:

fokus supertypes

Dengan cara ini, saya merasa lebih baik daripada perilaku default tetapi harus jujur ​​bahkan dengan menambahkan pintasan itu, fitur IntelliJ tidak sebagus Eclipse yang Ctrl+ Tpintas juga bekerja pada metode ...

davidxxx
sumber
0

Ada tampilan hierarki seperti di Eclipse, lihat menu View / Tool Windows / Hierarchy atau tekan Alt-8 atau F4.

herberlin
sumber