我正在开发一个eclipse插件,它提供了Xtext-project的指标。
我应该分为两个级别:Xtext文件和所有项目。
为了获取有关该文件的详细信息,我使用以下代码来提取Xtext文件:
IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
IEditorPart activeEditor = page.getActiveEditor();
if (activeEditor instanceof XtextEditor) {
XtextEditor xtextEditor = (XtextEditor) activeEditor;
xtextEditor.getDocument().readOnly((XtextResource resource) -> {
ResourceHandler.resource = resource;
});
并且它在当前打开的Xtext文件上运行良好。
现在我想在当前的eclipse项目中获取所有Xtext文件。
我尝试了以下代码,但它似乎无法正常工作:
IWorkbench workbench = PlatformUI.getWorkbench();
IWorkbenchWindow[] windows = workbench.getWorkbenchWindows();
for (IWorkbenchWindow window : windows) {
IWorkbenchPage[] pages = window.getPages();
for (IWorkbenchPage page : pages) {
IEditorPart activeEditor = page.getActiveEditor();
if (activeEditor instanceof XtextEditor) {
XtextEditor xtextEditor = (XtextEditor) activeEditor;
xtextEditor.getDocument().readOnly((XtextResource resource) -> {
resourceList.add(resource);
对我来说最好的解决方案是获取XtextResource列表。
感谢。