Eclipse插件中指定的ID

时间:2016-05-03 21:07:15

标签: java eclipse reflection eclipse-plugin eclipse-rcp

我正在编写一个eclipse插件。对于许多组件,必须指定ID以便动态引用它们。使用组件的完全限定类名作为其id是否有任何问题?

换句话说,指定是否有任何缺点/错误:

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

public static String id() {
    return ID;
}

我的插件组件?

2 个答案:

答案 0 :(得分:1)

大多数id在plugin.xml文件和Java代码中的扩展点中使用,因此使用这样的类名可能不是一个好主意。您仍然必须在plugin.xml中提供字符串值,并且在Java文件中使用不同的公式将使搜索所有文件更难以出现id。

通常,id由插件ID +一个额外的单词组成。

答案 1 :(得分:1)

从技术上讲,使用完全限定的类名作为扩展点ID没有任何问题。为简单起见,我通常坚持这个命名惯例,并且在实践中也没有看到任何缺点。

但是,扩展点和扩展点ID的Eclipse命名约定是使用插件的ID作为限定符,后跟CamcelCase的名称。该名称有时以大写字母开头。

例如,大多数视图都以大写字母开头,例如 Package Explorer 视图:org.eclipse.jdt.ui.PackageExplorer。另一方面,调试上下文标识为org.eclipse.debug.ui.debugging

如果您的插件为其他人提供了API,那么这些扩展也被视为API。如果要排除扩展名,请在ID的插件部分后面添加internal段,例如: com.example.myplugin.internal.myView