我正在编写一个eclipse插件。对于许多组件,必须指定ID以便动态引用它们。使用组件的完全限定类名作为其id是否有任何问题?
换句话说,指定是否有任何缺点/错误:
private static final String ID = MyComponent.class.getName();
public static String id() {
return ID;
}
我的插件组件?
答案 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
。