2016-05-03 20 views
1

我在寫一個eclipse插件。對於許多組件,有必要指定一個ID以便動態引用它們。在使用組件的全限定類名作爲它的id時是否有任何疑問?在Eclipse插件中指定的ID

換句話說,有沒有指定任何缺點/錯誤:

private static final String ID = MyComponent.class.getName(); 

public static String id() { 
    return ID; 
} 

我的插件組件?

回答

1

從技術上說,使用完全限定的類名稱作爲擴展點ID沒有任何問題。爲了簡單起見,我通常堅持這種命名慣例,並且在實踐中也沒有看到任何缺點。

但是,擴展和擴展點ID的Eclipse命名約定是使用插件的ID作爲限定符,後跟一個CamcelCase的名稱。該名稱有時以大寫字母開頭。

大多數視圖,例如,以大寫字母開頭,如包資源管理器視圖:org.eclipse.jdt.ui.PackageExplorer。另一方面,調試環境org.eclipse.debug.ui.debugging一致。

如果您的插件提供了供其他人使用的API,那麼這些擴展也被視爲API。如果要排除擴展名,請在ID的插件部分之後放置一個internal段,例如: com.example.myplugin.internal.myView

1

大多數id用在plugin.xml文件的擴展點以及Java代碼中,所以使用類似這樣的類名可能不是一個好主意。您仍然必須在plugin.xml中提供字符串值,並且在Java文件中使用不同的公式會使搜索所有文件中發生的id更加困難。

通常ID由插件ID +一個額外的單詞組成。

+0

謝謝你的迴應。但是,假設IDE可以替換Java和非Java文件中的完全限定名,那麼在重構(重新打包/重命名)過程中搜索和替換實際上並不容易嗎? – Neel