我有一个ICompilationUnit,尝试找出它属于哪个workingSet,或者什至有一个workingSet。我已经看过ICompilationUnit拥有的不同方法,但是我没有找到任何有帮助的方法。有人有主意吗?
最佳答案
编译单元可以是0、1或许多工作集的成员。您将必须在工作集列表中进行搜索,以查看其中包含哪些工作集。
使用以下方法获取工作集:
IWorkingSetManager manager = PlatformUI.getWorkbench().getWorkingSetManager();
IWorkingSet [] sets = manager.getAllWorkingSets();
对于每个工作集,使成员具有:
IAdaptable [] members = set.getElements();
成员可以是很多事情,
instanceof ICompilationUnit
可能对某些成员有用,或者您可能需要调整:ICompilationUnit unit = (ICompilationUnit)member.getAdapter(ICompilationUnit.class);
注意:
getAdapter
调用的确切语法因Eclipse版本而异,因为在4.5中添加了泛型支持。