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.