2012-08-29 43 views
1

Eclipse工作臺的標準行爲是在調用之間保留一組打開的文件,並嘗試在重新啓動時重新打開這些文件。如果缺少任何文件,則會出現一個佔位符編輯器,顯示關於缺少文件的錯誤消息。我們希望將Eclipse RCP應用程序的行爲更改爲只是默默跳過所有丟失的文件。啓動工作臺時跳過缺少編輯器文件

我們已經編寫了我們自己的IApplication,WorkbenchAdvisor等;這些類可以將各種行爲注入到平臺中,但我還沒有找到通過這些類來完成這些行爲的方法。我們如何實現理想的行爲?

回答

2

我處理這個的方式實際上是在創建的編輯器中:覆蓋setInput,通過調用editorInput.exists()來檢查傳入的IEditorInput的有效性(在FileEditorInput的情況下,檢查文件是否存在),或者如果您使用自定義編輯器輸入,則需要其他任何驗證。

如果editorInput驗證失敗,然後關閉編輯器異步(當編輯器關閉它完成之前打開Eclipse不喜歡它):

public void close() { 
    Display.getDefault().asyncExec(new Runnable() { 
     public void run() { 
      getSite().getPage().closeEditor(YourEditorClass.this, false); 
     } 
    }); 
} 

處理這個問題的另一種方法是隻禁用在啓動時重新啓用編輯器 - 請參閱In Eclipse, how to close the open files(editors) when exiting without auto-load in next startup

+0

非常好,謝謝! –