Eclipse插件中指定的java ID
我正在写一个eclipse插件。对于许多组件,有必要指定一个ID以便动态引用它们。使用组件的完全限定类名作为其id是否有问题
换句话说,在指定以下内容时是否存在任何缺点/错误:
private static final String ID = MyComponent.class.getName();
public static String id() {
return ID;
}
我的插件组件
你可以在下面搜索框中键入要查询的问题!
我正在写一个eclipse插件。对于许多组件,有必要指定一个ID以便动态引用它们。使用组件的完全限定类名作为其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
# 2 楼答案
大多数ID在插件的扩展点中使用。xml文件以及Java代码,因此使用这样的类名可能不是一个好主意。您仍然需要在插件中提供字符串值。xml和在Java文件中使用不同的公式将使搜索所有文件中出现的id变得更加困难
通常id由插件id+一个额外的单词组成