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

时间:2011-01-18 18:01:55

标签: java eclipse eclipse-plugin swt

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

3 个答案:

答案 0 :(得分: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());

答案 1 :(得分:7)

另一种选择是在eclipse中

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

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

注意:根据您工作区中的资源数量,这可能会很长。

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

答案 2 :(得分:1)

另一种选择是使用"外部工具"调用你的工具,检查刷新选项,然后在"刷新"中编译目标项目。和#34; Build"标签。

运行 - >外部工具 - >外部工具配置

External Tools Configuration in Eclipse Kepler