2013-02-22 19 views
1

我正在開發一個Eclipse插件(多頁面編輯器)。多頁面編輯器包含兩個頁面:XML編輯器+「首選項」編輯器。首選項編輯器只是讓用戶能夠在不知道XML的情況下定義XML文件的一種方式。爲此,插件將顯示一些文本輸入,組合框等。爲了設置組合框值(例如),插件「掃描」項目src類(JavaProject),所以第一個組合框具有類名稱,下面有屬性和方法,從選定的類。 問題在於掃描XML文件所在的同一項目,而不是之前選擇過項目(而不是在開發彈出式菜單中選擇項目的方式)。 舉例:Eclipse插件:從其文件之一檢索IProject

img 在此測試項目中,用戶將使用多頁編輯器打開testFile.xml。那麼,我如何在我的首選項編輯器頁面中使用src層次結構?換句話說,我如何擁有這個特定項目的IProject實例?

更新:遵循Bananeweizen提出的路徑,問題是獲取編輯器工作的XML的IFile對象。

回答

2

如果您有該文件作爲IFileIResource,只需致電getProject

+0

顯然,我沒有IFile。我有XML編輯器+加載前必須執行掃描的「首選項」頁面。遵循此路徑,問題將出現在編輯器工作的XML的IFile對象中。 – AegLos 2013-02-23 12:42:14

+2

你的編輯器實例有一個IEditorInput,在你的情況下它應該是一個FileEditorInput,你可以請求相關的文件。 – Bananeweizen 2013-02-23 13:52:09

+1

@AegLos很顯然,您需要查看編輯器的** init(IEditorSite站點,IEditorInput輸入)**方法,該方法應該在編輯器啓動時調用。 IEditorInput應該引用IFile,儘管是間接的。有可能輸入不是一個IFile,在這種情況下,您的IProject查找功能將沒有意義或適用。 – 2013-02-23 13:52:35