基於 Eclipse 平台來定義產品的偏好機制是提供 org.eclipse.core.runtime.products 延伸點。如果要這樣做,外掛程式只要宣告其產品的名稱和 ID,以及呼叫產品時要執行的應用程式延伸的 ID。這是 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>定義的產品延伸,其 application id 為 "org.eclipse.ui.ide.workbench"。這是外掛程式 org.eclipse.ui.ide 在它的 org.eclipse.core.runtime.applications 延伸點構成要素中所定義的應用程式 ID。
<extension id="workbench" point="org.eclipse.core.runtime.applications"> <application> <run class="org.eclipse.ui.internal.ide.IDEApplication"> </run> </application> </extension>
這個延伸以產品延伸的 application 內容中參照的相同 ID 來定義的。(從其他的外掛程式參照應用程式 ID 時會使用含外掛程式字首的完整名稱。)利用這個機制,可以有另外的外掛程式來定義所有產品相關的品牌行銷,然後參照現有外掛程式的應用程式來作為產品啟動時實際執行的應用程式。
除了應用程式之外,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 以取得這些內容與其值的完整說明。在自訂產品中,我們將會進一步瞭解這些項目。