[英]Eclipse RCP: how to create a popup menu for the selection in a text editor?
使用Eclipse模板,我生成了此示例,當我在項目瀏覽器中選擇文件時,該示例可以正常工作。 但是,當我右鍵單擊“文本編輯器”或什至選擇了某些文本時,我也想使其可用。
在objectContribution中使用正確的objectClass是什么?
<extension point="org.eclipse.ui.popupMenus">
<objectContribution
id="com.example.popup-cli.contribution1"
objectClass="org.eclipse.core.resources.IFile">
<menu
id="com.example.popup.menu1"
label="New Submenu"
path="additions">
<separator
name="group1">
</separator>
</menu>
<action
class="com.example.popup.actions.NewAction"
enablesFor="1"
id="com.example.popup.newAction"
label="New Action"
menubarPath="com.example.popup.menu1/group1">
</action>
</objectContribution>
</extension>
使用org.eclipse.ui.menus
擴展點,可以使用activeEditorInput
變量來測試當前編輯器輸入(正在編輯的文件)。
例如:
<extension point="org.eclipse.ui.menus">
<menuContribution
locationURI="popup:#AbstractTextEditorRulerContext?after=QuickDiff.Toggle">
<command
commandId="org.eclipse.team.cvs.ui.showAnnotation"
label="%ShowAnnotationAction.label"
style="push">
<visibleWhen
checkEnabled="false">
<with variable="activeEditorInput">
<test
property="org.eclipse.team.internal.ccvs.ui.isManaged"
value="true">
</test>
</with>
</visibleWhen>
</command>
</menuContribution>
</extension>
以上是來自CVS插件
我不確定這是否是理想的解決方案,但是它是否有效,當我在Project Explorer中右鍵單擊某個資源時,如果它與Project Explorer中的資源相關聯,則在編輯器中右鍵單擊時,彈出菜單將可見。
這並不完美,因為它仍在非文本編輯器的編輯器/視圖中顯示,但是我可以忽略針對這些情況的操作。 如果有人有任何建議可以改善這一點,請發表評論。
<extension point="org.eclipse.core.expressions.definitions"> <definition id="com.example.definitions.resourceDefinition"> <adapt type="org.eclipse.core.resources.IResource"/> </definition> </extension> <extension point="org.eclipse.ui.menus"> <menuContribution locationURI="popup:org.eclipse.ui.popup.any?after=additions"> <command commandId="com.example.commands.myCommand"> <visibleWhen checkEnabled="false"> <or> <with variable="activeEditorInput"> <reference definitionId="com.example.definitions.resourceDefinition"/> </with> <iterate> <reference definitionId="com.example.definitions.resourceDefinition"/> </iterate> </or> </visibleWhen> </command> <menuContribution> </extension>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.