Markieren Sie Ausnahmeverursacher in IntelliJ IDEA


80

Ich bin kürzlich von Eclipse zu IntelliJ IDEA gewechselt, und es gibt eine Funktion, die mir fehlt. Wenn Sie in Eclipse das Caret auf eine aktivierte Ausnahme, eine Throws-Deklaration oder einen Catch-Block setzen, wird hervorgehoben, welche Methoden- / Konstruktoraufrufe diese Ausnahme auslösen.

Gibt es eine Möglichkeit, dies in IntelliJ IDEA (Community Edition) zu tun?


10
... 6 Jahre in Eclipse gearbeitet und ich wusste nie, dass es das tat.
CorsiKa

Antworten:


88

Platzieren Sie das Caret auf dem catchSchlüsselwort und drücken Sie Ctrl+ Shift+ F7.

( Find| Highlight Usages in File). Wenn Sie eine andere Tastaturbelegung verwenden und die obige Verknüpfung nicht funktioniert, verwenden Sie Help| Find ActionSo suchen Sie nach dieser Aktion und sehen die Tastenkombination:

Aktion finden

Wenn es automatisch funktionieren soll, aktivieren Sie Settings| Editor| Highlight usages of element at caret.

Das Gleiche gilt für tryund throwsSchlüsselwörter mit einer Auswahl von Ausnahmen, die hervorgehoben werden sollen.

Hier ist ein Screenshot von IntelliJ IDEA Tipp des Tages:

Ausnahmen hervorgehoben

Beachten Sie, dass es keine Möglichkeit gibt, es nach einer bestimmten Ausnahmeklasse hervorzuheben, bis Sie diese Klasse aus der Liste der Vorschläge auswählen:

Ausnahmen hervorzuheben


1
Es ist heute noch nicht möglich, eine bestimmte Ausnahme hervorzuheben?
Wooff

@Wooff erst, nachdem Sie es aus der Liste ausgewählt haben
CrazyCoder

Was ist, wenn es keinen Fang gibt und nur wirft? @ CrazyCoder
Aditya Vikas Devarapalli

3
Für IntelliJ v2016 und möglicherweise frühere Versionen wurde die automatische Hervorhebung standardmäßig aktiviert. Klicken Sie auf die throwsin der Methodensignatur oder catchauf, um zu sehen, was diese Ausnahmen auslöst.
Chro

1
In der aufrufenden Methode, die einen Haken hat, kann ich nicht sehen, welche Methode eine bestimmte Ausnahme auslöst, egal wie oft ich die vorgeschlagene Taste drücke. Dies ist weit hinter dem Eclipse-Verhalten.
Davidfrancis
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.