0

我想在 Eclipse 应用程序中刷新导航视图。Eclipse 应用程序中的项目资源管理器不显示项目,直到它被刷新或右键单击它。如何以编程方式刷新它?以及将这段代码放在哪里?

4

2 回答 2

1

如果可能的话,您应该使用 和 的方法create来创建文件和文件夹。org.eclipse.core.resources.IFileIFolder

如果这不可能,请使用或的refreshLocal方法来更新工作区。IProjectIFolder

所有这些调用将生成一个或多个IResourceChangeEvent事件,这些事件将被视图和其他任何需要了解资源更改的事物看到。视图会在看到这些事件时自动更新。

要减少生成的资源更改事件的数量,请将您的修改包含在 aWorkspaceJobWorkspaceModifyOperationIWorkspaceRunnable中。

于 2013-10-01T08:33:06.680 回答
0

感谢@greg-449 的回复。refreshLocal 很有用,但我缺少一小段代码并且不需要刷新。最终我想出了答案。正如我在我的一个评论中提到的那样,我必须覆盖一个函数。我试图以错误的方式使用 getDefaultPageInput,因此我遇到了错误。最终,我删除了项目中的错误代码,并将以下内容添加到 WorkbenchAdvisor.java

@Override 
public IWorkspaceRoot getDefaultPageInput()
{ 
    return ResourcesPlugin.getWorkspace().getRoot(); 
}
于 2013-10-01T10:12:30.650 回答