簡體   English   中英

蝕重構API刪除文件夾

[英]eclipse refactoring API delete folders

我目前正在為自定義的Eclipse IDE編寫一個刪除重構( DeleteParticipant )。

我嘗試歸檔的內容如下:

當用戶刪除文件時,我的DeleteParticipant會注冊該文件並刪除其他幾個文件。 如果這導致某些文件夾變空,則我的DeleteParticipant也會將該文件夾刪除。 如果這導致某些父文件夾變空,則參與者將再次刪除它們。

為此,我為每個文件創建一個DeleteResourceChange並將它們存儲在CompositeChange對象中,該對象從我的DeleteParticipant返回。

例:

在此處輸入圖片說明

問題:

刪除工作正常。 但是,當我嘗試撤消更改時,eclipse向我顯示以下錯誤消息:

'Delete' cannot be undone. Reason: There is not enough information to restore 'gen'.

據我了解的問題,這是由於以下事實:撤消邏輯首先檢查是否可以還原每個文件,並抱怨它無法還原當前不存在的services文件夾中的gen文件夾。

有什么方法可以使日食暗示撤消仍然是一致的嗎?

題:

我發現可以還原包含多個文件的單個刪除,而不能還原包含嵌套文件的多個刪除。 因此,為了解決該問題,我編寫了一個執行以下操作的小型方法:

  1. 為每個刪除創建一個IDeleteResourceChange,並記住每個父文件夾中的新文件數。
  2. 檢查其中一個父文件夾是否為空:如果是這樣,請刪除單個文件的刪除更改,然后為父文件夾添加一個更改。 另外,如果需要,請輸入遞歸。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM