如何在Project Explorer视图上强制刷新?

leo*_*rto 2 java eclipse swt eclipse-plugin

我创建了一个向导,完成后,在Project Explorer中添加两个文件.其中一个应该被隐藏,但是当我按下向导的Finish按钮时,Eclipse不会自动刷新视图并且它会一直显示文件.当我按F5时它只是隐藏它.在我完成向导后,有一种方法可以强制它刷新Project Explorer吗?

Rah*_*rma 8

另一个选择是eclipse

转到Windows - >首选项 - >常规 - >工作区 - >并选中自动刷新框(" 使用本机挂钩或轮询刷新 ")

如果启用此选项,则工作空间资源将自动与文件系统中的相应资源同步.

注意:这可能是一个漫长的操作,具体取决于工作区中的资源数量.

http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.platform.doc.user/reference/ref-9.htm


Kon*_*hik 7

听起来您没有使用Eclipse资源API来进行文件系统更改.您有两种选择:

  1. 最好的选择是在处理Eclipse项目的内容时使用Eclipse资源API而不是java.io.请参阅org.eclipse.resources插件.从ResourcesPlugin.getWorkspace().getRoot().getProject("name")开始.使用IProject,IFile和IFolder API.

  2. 或者,特别是如果您的向导正在调用不支持eclipse的代码,则需要在确定所有基于java.io的文件系统操作都已完成后调用refresh.使用refreshLocal()方法,该方法可用于IProject,IFile和IFolder类.例如,以下代码段刷新给定项目的所有内容.这通常是一种过度杀伤,因此您需要在调用刷新之前尽可能缩小范围.

    ResourcesPlugin.getWorkspace().getRoot().getProject("proj").refreshLocal(IResource.DEPTH_INFINITE,new NullProgressMonitor());