【问题标题】:Eclipse PRE_DELETE resource change eventEclipse PRE_DELETE 资源更改事件
【发布时间】:2013-04-11 21:55:24
【问题描述】:

可以使用资源更改监听器通知 Eclipse 插件有关资源的更改。

删除项目时,会通知资源更改侦听器并将 IResourceChangeEvent 传递给它。使用下面的代码,可以得到事件的类型。

    @Override
public void resourceChanged(IResourceChangeEvent event) {
    switch (event.getType()) {
    case IResourceChangeEvent.PRE_DELETE:
        // do something
        break;
    }
}

但是当在 Eclipse 中删除项目时,用户可以选择从文件系统中删除项目或仅从工作区中删除项目。

有没有办法在资源更改监听器中区分这两种情况?

编辑: 我要做的是:我有两个项目 A 和 B,其中 B 依赖于 A。当 A 被删除时,我希望 B 也被删除。如果 A 从文件系统中删除,我希望 B 也从文件系统中删除。

【问题讨论】:

    标签: eclipse eclipse-plugin eclipse-rcp


    【解决方案1】:

    这是不可能的,原因是:Eclipse 插件应该只使用和知道工作区资源。从架构的角度来看,工作空间之外没有任何东西。如果 Eclipse 插件正在处理文件(除了导出/导入任务),那么这通常是错误的。

    因此,对于您的插件而言,如果 IResources 被删除,则底层文件是否被删除都无关紧要。

    【讨论】:

    • 谢谢。我编辑了问题并添加了有关我想要实现的目标的更多信息。
    猜你喜欢
    • 1970-01-01
    • 2020-11-30
    • 1970-01-01
    • 2014-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多