我正在開發一個基本上是創建一個新項目的插件,項目包含多個文件夾,並且該文件夾包含我們自己定製的編輯器。現在我不想讓用戶從任何地方重命名項目。我可以看到文件菜單中的重命名選項,項目瀏覽器的上下文菜單,包資源管理器的上下文菜單,導航器的上下文菜單。是否可以全局禁用/自定義重命名選項。我曾嘗試使用全局動作處理程序進行重命名操作,每當重命名操作發生時,基本上都會執行我自己的作業。但是因爲我想在插件激活器啓動時阻止/禁用重命名選項,所以我可以在激活器類上獲得活動視圖站點,這似乎不能幫助我,因爲活動視圖可能不是有時候上面提到的觀點。因此,我嘗試通過ltk的renameparticipant擴展名使用'重命名參與者',並且編寫了自己的類來擴展RenameParticipant,但即使我在plug-in.xml文件中給出了正確的類名,該類也永遠不會被啓動。如何在eclipse插件中從無處不在(即從文件菜單和上下文菜單)禁用重命名選項?
因爲我們的產品是插電式
任何人都可以請告訴我,我應該如何繼續進行?我希望有人已經走上了這條道路,阻止全球重命名選項。
這一點,你能解釋一下重命名有什麼問題會導致刪除?也許這些問題可以通過其他方式克服。因爲,坦率地說,試圖阻止用戶重命名(物理存在的)文件夾註定會失敗。 –
感謝您的回覆。我的插件項目主要用於將xml文件傳輸到服務器系統(而不是數據庫)。用戶輸入已經構建爲xml,並且在發生特定事件時,我將使用FTP/SFTP協議將xml文件發送到服務器系統。目前的問題是,如果用戶在項目的xml文件發送到服務器之後重命名項目,那麼服務器包含一個帶有舊項目名稱的xml文件,我找不到eclipse意味着我的插件提供讀取也從服務器系統項目相關的xml文件。 – Bharath
...我試圖重新發送使用IResourceChangeListener重命名的xml文件,這導致我的不確定性。如果協議失敗/服務器連接不可用,則重命名事件不能將文件傳輸到服務器。 IResourceChange事件不允許我們在啓動後阻止重命名。因此,如果服務器連接不可用,我無法阻止重命名操作。那麼只有我打算從任何地方禁用項目的復活能力。 – Bharath