产品扩展点

根据 Eclipse 平台定义产品的首选机制将添加至 org.eclipse.core.runtime.products 扩展点。为此,插件只需要声明其产品的名称和标识以及应在调用产品时运行的应用程序扩展的标识。这是 Eclipse 平台本身在定义 Eclipse 产品时使用的技巧。以下是 org.eclipse.platform 中的扩展定义:

<extension id="ide" point="org.eclipse.core.runtime.products"> 
	<product name="%productName" application="org.eclipse.ui.ide.workbench" description="%productBlurb"> 
		<property name="windowImages" value="eclipse.png,eclipse32.png"/> 
		<property name="aboutImage" value="eclipse_lg.png"/> 
		<property name="aboutText" value="%productBlurb"/> 
		<property name="appName" value="Eclipse"/> 
		<property name="preferenceCustomization" value="plugin_customization.ini"/> 
	</product> 
</extension> 
已经定义了产品扩展,其应用程序标识为“org.eclipse.ui.ide.workbench”。以下是插件 org.eclipse.ui.ideorg.eclipse.core.runtime.applications 扩展点的添加项中定义的应用程序标识。
<extension
	id="workbench"
	point="org.eclipse.core.runtime.applications">
	<application>
		<run
			class="org.eclipse.ui.internal.ide.IDEApplication">
		</run>
	</application>
</extension> 

此扩展是使用在产品扩展的应用程序属性中引用的标识定义的。(在其它插件中引用该应用程序标识时,应使用带有插件前缀的标准名称。)使用此机制,单独的插件可定义所有特定于产品的品牌,然后将现有插件的应用程序用作在启动产品时实际运行的应用程序。

除应用程序之外,org.eclipse.core.runtime.products 扩展还描述了用于配置产品的品牌信息的产品定制属性。此信息是作为命名属性描述的。我们再看一下平台插件的标记的该部分。

	<property name="windowImages" value="eclipse.png,eclipse32.png"/> 
	<property name="aboutImage" value="eclipse_lg.png"/> 
	<property name="aboutText" value="%productBlurb"/> 
	<property name="appName" value="Eclipse"/> 
	<property name="preferenceCustomization" value="plugin_customization.ini"/> 
平台在进行产品定制时采用的可能属性名是在 IProductConstants 中定义的。有关这些属性及其值的完整描述,请参阅 Javadoc。我们将在定制产品中对它们作一步的了解。