当前位置: 代码迷 >> Eclipse >> Eclipse plugin开发 project explorer 或许navigator 视图中 对于文件移动事件的监听
  详细解决方案

Eclipse plugin开发 project explorer 或许navigator 视图中 对于文件移动事件的监听

热度:574   发布时间:2016-04-23 00:26:37.0
Eclipse plugin开发 project explorer 或者navigator 视图中 对于文件移动事件的监听
现在有这么个需求, 开发的插件需要对既存的 project explorer 或者navigator 视图中的文件移动进行相关操作

比如, 我要将A工程下w/m.xml 移动到p/m.xml, 从w移动到p文件夹下时,需要做一个必要的check
即如果m.xml文件是打开状态,我需要弹出个自定义的对话框, 还有其他的逻辑操作。

问题是,  
我怎么写代码去监听捕捉这个移动文件的事件,并且能够得到所移动的目标文件(可能是多个文件)

求提示~~~  我的想法是扩展 project explorer 或者navigator 视图但是没有找到方法
------解决方案--------------------
这两个扩展点能满足你的要求: 拖 org.eclipse.ui.navigator.viewer/dragAssistant ; 放 org.eclipse.ui.navigator.navigatorContent/navigatorContent/dropAssistant。
怎么用可以看org.eclipse.ui.navigator.resources的源码
------解决方案--------------------
在你插件的Activator类的start(BundleContext context)方法中为Workspace注册资源变更监听【ResourcesPlugin.getWorkspace().addResourceChangeListener(IResourceChangeListener listener)】,监听程序内部通过【event.getDelta().accept(IResourceDeltaVisitor  visitor)】处理,记得在Activator类的stop(BundleContext context)方法中移除监听


------解决方案--------------------
资源监听估计没办法实现你的需求, 这个只是发送事件让你处理,但并没有提供中断操作的机制。
  相关解决方案