[英]Convert IFile to XtextResource
我有一個帶有Xtext文件的eclipse項目。我需要找到eclipse項目中的所有文件作為XtextResource
,以便找到有關它們的指標。 到目前為止,我嘗試了以下操作:
1.遍歷項目中所有文件列表,並將它們作為IFile
XtextResource
。但是我無法將IFile
轉換為XtextResource
。
2.I成功獲得XtextResource
只從活動頁面中IWorkBenchPage
,所以如果我能找到的所有項目中的頁面,而不僅僅是(在活動IworkBenchPage
)或可能設置在項目中活躍,我認為它可以工作的所有頁面。
這是我擁有private static void setResource() { 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; return null; }); } }private static void setResource() { 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; return null; }); } }private static void setResource() { 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; return null; }); } }
我不是所有與日食有關的專家,希望有人能在這里救我。 謝謝!
以下應該可以工作(假設您通過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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.