2013-04-10 62 views
0

可以通過使用資源更改偵聽器向Eclipse插件通知資源更改。Eclipse PRE_DELETE資源更改事件

當一個項目被刪除時,資源更改偵聽器會被通知,並且一個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也從文件系統中刪除。

回答

0

這是不可能的原因:Eclipse插件預計只使用和知道工作區資源。從架構的角度來看,工作區之外沒有任何東西。如果一個Eclipse插件正在執行某些文件(除了導出/導入任務),那麼這通常是錯誤的。

因此,對於您的插件,刪除底層文件時是否刪除IResources並不重要。

+0

謝謝。我編輯了這個問題,並添加了更多關於我想要實現的信息。 – nbilal 2013-04-11 13:56:24