Eclipse 插件中指定的 ID
IDs specified in Eclipse plugin
我正在写一个eclipse 插件。对于许多组件,需要指定一个 ID 以便动态引用它们。使用组件的完全限定 class 名称作为其 ID 是否有任何问题?
换句话说,指定是否有任何缺点/错误:
private static final String ID = MyComponent.class.getName();
public static String id() {
return ID;
}
我的插件组件?
大多数 id 用于 plugin.xml 文件和 Java 代码中的扩展点,因此使用这样的 class 名称可能不是一个好主意。您仍然需要在 plugin.xml 中提供字符串值,并且在 Java 文件中使用不同的公式将使在所有文件中搜索 id 的出现变得更加困难。
通常 id 由插件 id + 一个额外的词组成。
从技术上讲,使用完全限定的 class 名称作为扩展点 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
.
我正在写一个eclipse 插件。对于许多组件,需要指定一个 ID 以便动态引用它们。使用组件的完全限定 class 名称作为其 ID 是否有任何问题?
换句话说,指定是否有任何缺点/错误:
private static final String ID = MyComponent.class.getName();
public static String id() {
return ID;
}
我的插件组件?
大多数 id 用于 plugin.xml 文件和 Java 代码中的扩展点,因此使用这样的 class 名称可能不是一个好主意。您仍然需要在 plugin.xml 中提供字符串值,并且在 Java 文件中使用不同的公式将使在所有文件中搜索 id 的出现变得更加困难。
通常 id 由插件 id + 一个额外的词组成。
从技术上讲,使用完全限定的 class 名称作为扩展点 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
.