說明:這個延伸點用來新增動作到其他外掛程式所登錄的檢視畫面的功能表和工具列中。 每個檢視畫面都有一個本端下拉功能表,通常按一下檢視畫面的右上角區域可以啟動它。 其他外掛程式可以提供子功能表和動作到這個功能表中。 外掛程式也提供動作到檢視畫面工具列中。 檢視擁有者最先有機會移入這些區域。 其他外掛程式的選用新增內容會附加在後面。
配置標記:
<!ELEMENT viewContribution (menu | action)*>
<!ATTLIST viewContribution
id
CDATA #REQUIRED
targetID CDATA #REQUIRED
>
<!ELEMENT menu (separator)+>id - 可用來參照這項構成要素的唯一識別碼 targetID - 取得所構成要素之檢視畫面(如登錄所指定)的唯一識別碼
<!ELEMENT action (selection)*>name - 之後可作為動作路徑中最後一個記號來參照的分隔字元名稱。因此,分隔字元可作為動作可新增其中的具名群組。
動作和功能表標籤可含有利用下列規則來編碼助記鍵和加速器的特殊字元:
以下是檢視畫面動作延伸點的範例(請注意子元素和屬性的使用方式):
<extension point="org.eclipse.ui.viewActions">
<viewContribution
id="com.xyz.xyzViewC1"
targetID="org.eclipse.ui.views.navigator.ResourceNavigator">
<menu id="com.xyz.xyzMenu"
label="XYZ Menu"
path="additions">
<separator name="group1"/>
</menu>
<action id="com.xyz.runXYZ"
label="&Run XYZ Tool"
menubarPath="com.xyz.xyzMenu/group1"
toolbarPath="Normal/XYZ"
icon="icons/runXYZ.gif"
tooltip="Run XYZ Tool"
helpContextId="com.xyz.run_action_context"
class="com.xyz.actions.RunXYZ"
enablesFor="1"/>
<selection class="org.eclipse.core.resources.IFile" name="*.java">
</action>
</viewContribution>
</extension>
在上述範例中,只有單一選項能夠啟用指定的動作(enablesFor 屬性)。 另外,這個選項中的每個物件都必須實作指定的介面 (IFile),且必須是 Java 檔。 您可以指定多個 selection 元素,表示 'one of'。
API 資訊:class 屬性值必須是實作 org.eclipse.ui.IViewActionDelegate 之 Java 類別的完整名稱。 這個介面的載入要儘可能晚,以避免在真正需要它之前載入整個外掛程式。 它延伸 org.eclipse.ui.IActionDelegate 並新增一個額外方法容許提供所至的檢視畫面實例來起始設定委派。
提供的實作:每個檢視畫面通常都會檢附下拉功能表和本端工具列中的標準項目數。 其他外掛程式所提供的新增內容會附加到標準補充之中。在公開介面內公佈檢視畫面的動作識別碼非常有用。 例如,工作台視窗的動作和主要群組都定義在 org.eclipse.ui.IWorkbenchActionConstants 中。