0

所以目前我正在开发一个适用于工作集的 Eclipse 插件。这些自定义工作集是使用向导创建的,该向导还会创建一个包含所有必需设置的 .properties 文件。这些工作集可以通过Select Working Sets...> Remove在 Eclipse 项目资源管理器中删除,但该按钮只删除工作集本身,而不是文件。

我已经实现了一个可以删除文件的处理程序,但我想问是否有任何方法可以将该函数绑定到Select Working Set...对话框的“删除”按钮。我已经发现,它WorkingSetSelectionDialog实现了删除功能,但我有点卡在那里。

是否有扩展点或类似的东西可以添加该功能?

4

1 回答 1

1

该对话框上的“删除”按钮仅标记要删除的工作集,直到按下“确定”按钮才实际删除(以便“取消”可以工作)。

删除是通过调用工作集管理器来完成的。您可以使用监听器来监听管理器所做的工作集更改IWorkingSetManager.addPropertyChangeListener

IWorkingSetManager manager = PlatformUI.getWorkbench().getWorkingSetManager();

manager.addPropertyChangeListener(listener);

侦听器实现IPropertyChangeListener. event 参数告诉您更改了哪些属性。对于删除属性是IWorkingSetManager.CHANGE_WORKING_SET_REMOVE

所以像:

public void propertyChange(PropertyChangeEvent event)
{
  if (event.getProperty().equals(IWorkingSetManager.CHANGE_WORKING_SET_REMOVE)) {
    IWorkingSet removed = (IWorkingSet)event.getOldValue();

    ...
  }
}
于 2020-03-04T16:08:38.090 回答