Invoking call hierarchy from eclipse plug in

2019-04-02 09:37发布

问题:

I want to write an eclipse plugin which can take a list of class names and return me a table of classes where they are being referenced in a given project. I was thinking if i can use eclipse cal hierarchy. But not sure how to invoke this command. could someone help me with this, Thanks in advance

回答1:

Have a look at the OpenCallHierarchyAction class of the org.eclipse.jdt.ui.internal.callhierarchy Package. This is internal Eclipse source code, but the code in the run(ITextSelection selection) method should be interesting to you.



回答2:

It sounds like you want something like References->Workspace (Control+Shift+G) rather than the call hierarchy?

Have you used this option before? It uses FindReferencesAction, take a look at this class and you can see it building up a search query based on the currently selected IJavaElement.

Could you use this as a basic for a search query on multiple IJavaElements? Or do you want your own specific view?



回答3:

Before you write anything like this, make sure you take a look at JDepend4Eclipse, it may do much of what you need. I have used it in the past to do package-level refactoring as well as understanding (and removing) circular dependencies.

If it doesn't do what you need, you may want to peek at their source code.