0
我想查找某個功能的所有子插件?我知道該功能的名稱,但IWorkspaceRoot.getProject(String)並沒有真正幫助我。我得到一個IProject,我不知道如何轉換爲一個功能對象(IFeature?)。也許我在錯誤的軌道上,有一個更好/更簡單的方法來做到這一點。有任何想法嗎 ?在eclipse工作區中查找兒童插件功能
我想查找某個功能的所有子插件?我知道該功能的名稱,但IWorkspaceRoot.getProject(String)並沒有真正幫助我。我得到一個IProject,我不知道如何轉換爲一個功能對象(IFeature?)。也許我在錯誤的軌道上,有一個更好/更簡單的方法來做到這一點。有任何想法嗎 ?在eclipse工作區中查找兒童插件功能
您可以通過檢查名爲org.eclipse.pde.FeatureNature
的性質來檢查選定的IProject
是否爲特徵項目。
然後您可以嘗試使用IProject.getAdapter(IFeature.class)
來電,將結果轉換爲IFeature
。我沒有嘗試過使用特性項目,但對Java項目非常適用。
正確的答案是使用PDECore靜態類。此類提供FeatureModelManager,它將提供相應的信息:
FeatureModelManager manager = PDECore.getDefault().getFeatureModelManager();
如何獲取此信息?我使用插件spy查找了哪個項目定義了「Deployable Features」導出嚮導(在嚮導被選中時使用Alt + Shift + F3),然後查看向導類的實現,其中addPages()方法包含前面描述的代碼塊。
我知道它適用於java項目。對於功能它沒有。已經試過:) – Tchypp 2011-03-07 09:11:45
對不起,我看了研究代碼更好的答案。 – 2011-03-07 21:14:06