插件开发:监听插件中的资源更改

时间:2017-03-02 18:27:39

标签: java eclipse plugins

我正在开发图形插件,它使用当前文件中打开的对象。如果我更改打开的文件,我希望图表会更新。 现在,我在我的类中使用setFocus()方法扩展ViewPart,并在每次调用此函数时更新图形。 这不是我想要的,我只想在资源发生变化时更新图表。 我找到了这个链接:

link to similar question

This is like my question, but there is no answer

我需要将以下代码放在我的插件的activator.java文件中?:

   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);

如果我需要添加此代码,请将其放在何处?在哪个方法将它放在activator.java文件中? 如果没有,我需要做什么?

1 个答案:

答案 0 :(得分:1)

在视图部分createPartControl中设置侦听器。

激活器不适合设置侦听器,因为只有在插件中的其他代码运行时才会运行。