java - Eclipse 插件开发找出 CompilationUnit 属于哪个工作集

标签 java eclipse-plugin

我有一个 ICompilationUnit 并尝试找出它属于哪个工作集,或者它是否有一个工作集。我查看了 ICompilationUnit 具有的不同方法,但是我没有找到任何有帮助的方法。有人有想法吗?

最佳答案

一个编译单元可以是 0 个、1 个或多个工作集的成员。您必须搜索工作集列表,看看哪些工作集包含它。

获取工作集:

IWorkingSetManager manager = PlatformUI.getWorkbench().getWorkingSetManager();

IWorkingSet [] sets = manager.getAllWorkingSets();

对于每个工作集,获取成员:

IAdaptable [] members = set.getElements();

成员可以有多种,ICompilationUnit 实例可能适用于某些成员,或者您可能需要适应:

ICompilationUnit unit = (ICompilationUnit)member.getAdapter(ICompilationUnit.class);

注意:getAdapter 调用的确切语法因 Eclipse 版本而异,因为在 4.5 中添加了泛型支持。

关于java - Eclipse 插件开发找出 CompilationUnit 属于哪个工作集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34417197/

相关文章:

java - Spring addFormatters 未调用 WebMvcConfigurerAdapter

java - 在 Java 中导出 XML 提取中的特定字段

java - Eclipse 包名称而不是导入

java - Eclipse PDE : How to load a new project in Package Explorer programmatically?

eclipse-plugin - 以非 root 身份使用 pydev

java - 排序 JFace Treeviewer 多列

java - 如何在j2me midlet中读取rms中删除后的记录?

java - 关于终结器Guardian

java - 我们可以在java中使用数组或List创建自己的堆栈数据结构实现吗?

java - Eclipse RCP - ILazyTreeContentProvider 实现出乎意料地急切