Eclipse插件开发:监听器,用于更改打开文档的视图

时间:2013-06-30 00:07:00

标签: java eclipse plugins editor listener

有没有办法监听用户是否更改了打开的文档? (不只是打开/关闭它;它应该在用户在已打开的文档之间切换时起作用)

祝你好运 弗兰克

3 个答案:

答案 0 :(得分:1)

我现在的解决方案:

  1. 创建一个使用扩展点org.eclipse.ui.startup
  2. 的StartupHandler
  3. 通过Display.asyncExec()在StartupHandler中进行异步调用(以确保启动eclipse),其中我将一个实现IPartListener2的类的新实例添加到活动工作台窗口:

    public void earlyStartup() {
        PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
            public void run() {
                Workbench.getInstance().getActiveWorkbenchWindow().getPartService().addPartListener(new SwitchDocumentListener());
            }
        });
    }
    
  4. 创建实现IPartListener2的类:

    public void partActivated(IWorkbenchPartReference partRef){       //做一点事    }

  5. 现在每次查看的文档发生更改时,都会调用partActivated()方法,您可以做出反应。

答案 1 :(得分:0)

查看Platform Plugin Developer指南中的“Editors”部分,然后查看IDocument界面,该界面允许您注册文档更改侦听器。

答案 2 :(得分:0)

我相信。您是否查看了IResourceChangeListenerIResourceDeltaVisitor

这些在org.eclipse.core.resources包中。

实施IResourceChangeListener后,您可以通过调用

将其注册为监听器

ResourcesPlugin.getWorkspace().addResourceChangeListener

并将您的实例传递给此方法。

感谢。