我有一个带有Xtext文件的eclipse项目。我需要找到eclipse项目中的所有文件XtextResource
,以便找到有关它们的指标。到目前为止,我尝试了以下几点:
1.迭代项目中的所有文件列表,并将其作为IFile
。但我无法将IFile
转换为XtextResource
。
2.我成功XtextResource
来自IWorkBenchPage
中的仅活动页面,因此,如果我能找到项目中的所有页面,而不仅仅是活动页面{in { {1}})或者可能将项目中的所有页面设置为活动状态,我认为它可以正常工作。
如果我有IworkBenchPage
我不是日食中所有这些关系的专家,希望有人可以救我这里。 谢谢!
答案 0 :(得分:0)
以下内容应该有效(假设您通过guice感知扩展工厂创建了使用它的地方......
@Inject
IResourceSetProvider resourceSetProvider;
...
IProject project = file.getProject();
URI uri = URI.createPlatformResourceURI(file.getFullPath().toString(), true);
ResourceSet rs = resourceSetProvider.get(project);
Resource r = rs.getResource(uri, true);
r.load(null)
如果你没有在你的地方使用
ResourceSet rs = IResourceServiceProvider.Registry.INSTANCE.getResourceServiceProvider(uri).get(IResourceSetProvider.class).get(project);