有没有办法像 IFolders 那样为 IResources 做一个 PRE_DELETE 事件?

There is a way to do a PRE_DELETE event for IResources like IFolders?

我需要在删除文件夹之前执行清理任务,目前我尝试使用 IResourceChangeEvent.PRE_DELETE 事件添加 IResourceChangeListener,但是这只会在项目被删除时触发。

也绑定了 IResourceDelta 但这只通知 IResourceDelta.CHANGED 并且不会阻止线程在 IFolder 被删除之前执行一些任务,没有提到 CHANGED 事件被触发以创建和删除而没有办法区分它们。

使用 org.eclipse.ltk.core.refactoring.deleteParticipants 扩展点定义 'delete refactoring participant'。这将在删除过程中被调用,并且可以定义在删除过程中要采取的操作。

删除参与者是 class 扩展 org.eclipse.ltk.core.refactoring.participants.DeleteParticipant.

有关详细信息,请参阅 Eclipse 帮助中的平台插件开发人员指南。