我正在为 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 的列表。
谢谢。