IntelliJ IDEA'daki bir sınıfın tüm ebeveynlerini ve alt sınıflarını nasıl gösterebilirim?


151

Eclipse'de bir Java sınıfını düzenlerken, imlecim bir sınıf değişkeninin üzerindeyken , tüm üst ve alt sınıflarını gösteren bir açılır pencereye sahip olmak için Ctrl+ yapabilirim T. IntelliJ'deki eşdeğeri nedir?

Misal:

Use|r user = new User();

Boru benim imlecim.

Yanıtlar:


217

Gezin | Hierarchy Ctrl + Hyazın, Panel'de benzer bilgileri gösterir. Sen olabilir Float ve sabitlemesini Eğer klavye kısayolunu kullanın sadece sabit ekran pozisyonuna görünecek şekilde Paneli.


1
IntelliJ için oldukça yeniyim ve varsayılan olarak <Üst Karakter + Kaçış> . Şimdiye kadar "kayan pencereleri" (tip hiyerarşisi dahil) kapatırken benim için çok daha doğal hissettim.
Eyal Roth

2
Bir şey daha - bu hala Eclipse'nin hızlı tür hiyerarşisiyle aynı şekilde davranmıyor: Eclipse'de, hiyerarşideki bir sınıfın üzerine geldiğinizde <Enter> tuşuna basıldığında kaynak dosya sınıfla açılacak; IntelliJ'de "kaynağa atla" kısayolunu kullanmanız gerekir. Ayrıca, "uygulamaları göster" penceresinin (örneğin) aksine, editöre tekrar tıklanması pencerenin kaybolmasını sağlamaz, bu yüzden bu tamamen kayan bir pencere değildir.
Eyal Roth

78

Davranış açısından IntelliJ IDEA içindeki Eclipse Ctrl+ ' nin eşdeğeri + +TCtrlAltB


7
OptionCmdB
macOS'ta

22

IntelliJ IDEA kullanıcısı değil, ancak bu blog yazısı 8.1.1 ve sonraki sürümlerde Ctrl+ Alt+ ' Unın "Hızlı Sınıf Hiyerarşisi" ni göstereceğini gösteriyor.


Bu oldukça iyi, ama daha hafif olanı var mı? Bu bir UML diyagramı oluşturur? Sadece ebeveynlerini görebildiğim ve onlara gidebileceğim hızlı bir gezinme olup olmadığını merak ediyorum.
Kayma

2
Bu bir eşdeğer değil gibi görünüyor. Örneğin org.slf4j.Logger arabirimi için Logger'dan başka bir şey göstermez, ki bu işe yaramaz. Ctrl-H, uygulama sınıfları ağacını gösterdiği için daha iyi görünüyor (ağaç ne yazık ki genişlemedi). Ancak Eclipse, tüm genişletme arabirimlerini ve uygulama sınıflarını da gösterir. Ayrıca aşağıda belirtilen CTRL-ALT-B, ağaç veya uygulama arabirimleri göstermez. Ben sadece Idea ile başlıyorum ve böyle sık kullanılan fonksiyon Eclipse sürümü yerini alacak, ya da en azından eşit derecede iyi olacağını bekliyordum ...
petrsyn

1
13.1 Ultimate geri geliyor gibi görünüyor ve kısayol çalışıyor.
Jason D

UML sınıfı hiyerarşisi Ctrl + Alt + U yalnızca Ultimate Edition'da çalışır
Srujan Kumar Gulla

Ctrl + Alt + U, tüm ata özelliklerini göstermez. Sadece doğrudan ebeveynler. Acıklı.
mest

16

Herhangi bir şüphe durumunda CTRL+ SHIFT+ A'yı da deneyin . Kısa yol bilgisi için kısa yol.


16

Intellij - Tutulmanın aksine, tür hiyerarşileri ve uygulama sınıfları arasında ayrım yapar . Bunun iyi bir şey olup olmadığına hala kararsızım (Eclipse'den Intellij'e geçtim)

Mac Intellij 14'te

  • Ctrl+ Hsize alt ve süper türleri gösteren tür hiyerarşisini getirir
  • Cmd+ Alt+ B, ilgilendiğiniz arayüz / sınıfın tüm uygulama sınıflarını ve alt sınıflarını gösterecektir

CTRL + ALT + B yalnızca arabirimlerle anlam ifade etmez, aynı zamanda bir sınıfın tüm alt sınıflarını da gösterir, bu nedenle hangi türlerin ilgilendiğiniz sınıftan miras aldığı kolayca görülebilir.
nachteil

@nachteil teşekkürler. bilmiyordum. Cmd + alt + b
Stefan Haberl

Evet - Ctrl + H doğru cevap Ctrl + Alt + B tam olarak
tutulmaz

12

IntelliJ IDEA 12'de, Gezin> Tip Hiyerarşisi ( varsayılan olarak Ctrl+ H).


6

Buraya gelen Mac kullanıcıları için, bu IntelliJ 14.1.4 için kısayoldur:

+ Hvarsayılan olarak.


4

For Mac Kullanıcıları, kısa yoldur

^(kontrol) + h


3

IntelliJ 13'te, Gezin> Uygulamalar veya varsayılan olarak CMD+ ALT+ B. Elbette, bu kısayol Keymap tercihlerinizde geçersiz kılınabilir.


2

Önceki sürümleri bilmiyorum, ancak IntelliJ sürüm 13'te Keymap tercihlerinize gidebilir, "Uygulamalar" için arama yapabilir ve bunu Ctrl+ ' ya bağlayabilirsiniz T. Eclipse eşdeğeri gibi çalışacaktır.


1

Eclipse, tür hiyerarşisini ve sınıf yapısını (yöntemler, alanlar vb.) Tek bir görünüme dahil ederken, IntelliJ bunları böler: CTRL+ H(veya ALT+ 8) "Tür Hiyerarşisi" görünümüne ek olarak, diğer ilgili IntelliJ penceresine "Yapı " ve ALT+ 7(Yapı Aracı Penceresi) veya CTRL+ F12(Yapı açılır penceresi) ile çağrılabilir .

(Yayınlanan soruya doğrudan bir cevap değil, ama Eclipse geçmişinden gelenlerin buraya "intellij type hiyerarşisi" için googled yaparak gelmesini beklerdim.)


1

Ctrl+U - temel sınıfa git

Ctrl+Alt+B- uygulamaya geçildi. Listeyi daraltmak için sınıf adının bölümlerini yazın

Ctrl+H - açık tip hiyerarşi aracı penceresi

Ctrl+Alt+U - peek sınıfı / arayüz kalıtım hiyerarşisi


1

Eclipse ile, vurarak Ctrl+ Tbir türüne alt tiplerini görüntüler ve tekrar vurmak Ctrl+ Tsupertypes olarak görüntülenmesi. Ve böylece ... bu bir geçiş.
Bu gerçekten yararlı ve aynı zamanda çok düz.

Ne yazık ki IntelliJ ile, üst türler ve alt türler arasındaki geçişin herhangi bir varsayılan kısayolu yoktur. Bu yüzden hiyerarşi pencerelerinin simgelerine tıklamanız gerekecek.
Benim gibi klavye kısayollarını "imleci hareket ettir ve fareye tıkla" seçeneğine tercih ederseniz, bu iki işlem için bir bağlayıcı ayarlamanızı öneririm. Örneğin , alt türler için Ctrl+ Downve üst türler için Ctrl+ Up.

Bağlamayı değiştirebileceğiniz yerler ("Bas", "Aşağı" ve "Haut", "Yukarı" anlamına gelir): bekliyorumdur

Bu bağların "Diğer" bağlamına bağlamsal olduğuna dikkat edin (Eclipse yeterince benzer bir konsepte sahiptir). 1) Bu şekilde,CtrlT bir ArrayListtür üzerinde + üretir:

Varsayılan hiyerarşi

2) Girin Ctrl + Downalt türlere odaklanır:

alt tip odak

3) Ve Enter Ctrl + Up, süper tiplere odaklanır:

supertypes odak

Bu şekilde, varsayılan davranıştan daha iyi buluyorum, ancak bu kısayol eklemede bile dürüst olmak gerekirse, IntelliJ özelliği, Ctrl+ Tkısayolunun yöntemlerde de çalıştığı Eclipse kadar iyi değil ...


0

Eclipse'deki gibi bir hiyerarşi görünümü vardır, Görünüm / Araç Pencereleri / Hiyerarşi menüsüne bakın veya Alt-8 veya F4 tuşuna basın.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.