eclipse的资源变更插件

时间:2013-01-04 21:24:21

标签: eclipse eclipse-plugin eclipse-rcp

我创建了一个RCP应用程序,它通过扩展 CommonNavigator 来检测自己视图中的资源更改。

public abstract class NavigatorView extends CommonNavigator  implements
    IResourceChangeListener {
public void createPartControl(Composite parent) {
 super.createPartControl(parent);
 hookResourceChangeCommand(); // my resource tracking function.
 }
}

但是现在我需要为此创建一个插件,它可以在eclipse中检测项目资源管理器中的资源更改。我现在无法创建视图,我需要检测已存在的视图。我该怎么办?

1 个答案:

答案 0 :(得分:1)

请完全删除您创建的视图。如果要跟踪资源更改,则不应在UI中执行任何操作,因为资源是工作空间概念的一部分,并且工作空间通常是无头的(即没有UI)。

而是使用下面的代码(取自resource change listener tutorial):

IWorkspace workspace = ResourcesPlugin.getWorkspace();
   IResourceChangeListener listener = new IResourceChangeListener() {
      public void resourceChanged(IResourceChangeEvent event) {
         System.out.println("Something changed!");
      }
   };
   workspace.addResourceChangeListener(listener);

   //... some time later one ...
   workspace.removeResourceChangeListener(listener);