2011-03-07 52 views
0

我想查找某個功能的所有子插件?我知道該功能的名稱,但IWorkspaceRoot.getProject(String)並沒有真正幫助我。我得到一個IProject,我不知道如何轉換爲一個功能對象(IFeature?)。也許我在錯誤的軌道上,有一個更好/更簡單的方法來做到這一點。有任何想法嗎 ?在eclipse工作區中查找兒童插件功能

回答

0

您可以通過檢查名爲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()方法包含前面描述的代碼塊。

+0

我知道它適用於java項目。對於功能它沒有。已經試過:) – Tchypp 2011-03-07 09:11:45

+0

對不起,我看了研究代碼更好的答案。 – 2011-03-07 21:14:06