问题
We have an interface that has a child interface. Ie:
public interface GenCalculator extends Serializable {}
public interface SpecialCalculator extends GenCalculator {}
In Eclipse, how can you find all interface-s that extend in this case GenCalculator
?
If I right click, select "Open Type Hierarchy" in the GenCalculator
interface, I only see classes that implement that GenCalculator
interface. I want to see everything - those that implement and those that extend.
We're on Eclipse v.3.2.2.
回答1:
Ctrl+T to view all descendants
Press it the combination a second time (see fine print in initial popup) if you want to display super interfaces/classes.
回答2:
You CAN do this, but it doesn't involve the Type Hierarchy.
In the Eclipse editor pane, highlight the name of the class of which you want to find extending classes.
Then go to Search > Java Search and the name of that class should be prepoplated in the search field.
Check the 'Limit To > Implementors' radio button.
Click the Search button.
回答3:
Click on GenCalculator
in the editor and press CTRL+T
. You will see the quick complete hierarchy.
It is possible to have that aswell in the "Open Type Hierarchy" view, but you will have to switch the different options (button in the upper right corner).
回答4:
Ctrl+H brings up the search, go to Java search, and click "All Occurrences".
回答5:
You can do it with nWire for Java. However, nWire requires Eclipse 3.3 and above. I highly recommend upgrading.
回答6:
Move your mouse on the class name and press CTRL+T
回答7:
You can't do it in only one search.
May be you could use the "Text Search" option and wildcards, something like searching for "*s YourInterfaceName" (trying to catch "extends YourInterfaceName" and "implements YourInterfaceName") but is too tricky.
来源:https://stackoverflow.com/questions/1573491/eclipse-find-all-classes-that-extend-interface