我有一个ICompilationUnit并试图找出它属于哪个workSet,或者它是否有一个workSet。我已经看过ICompilationUnit的不同方法,但是我没有找到任何有用的方法。有没有人有想法?
答案 0 :(得分:2)
编译单元可以是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中添加了泛型支持。