繁体   English   中英

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

[英]Eclipse Plugin Development: Listener for change of view of opened document

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

最好的问候弗兰克

我现在的解决方案:

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

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

    公共无效partActivated(IWorkbenchPartReference partRef){//做某事}

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

查看Platform Plugin Developer指南中的“编辑器”部分,然后查看IDocument接口,该接口可让您注册文档更改侦听器。

我相信是这样。 您是否看过IResourceChangeListenerIResourceDeltaVisitor

这些位于org.eclipse.core.resources包中。

实现IResourceChangeListener您可以通过调用以下方法将其注册为侦听器:

ResourcesPlugin.getWorkspace().addResourceChangeListener

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

谢谢。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM