eclipse 插件:快捷方式中不推荐使用透视图
eclipse plugin: perspective deprecated in shortcut
我想修复我的 plugin.xml 文件中的最后一个警告,这一定是我按照一些旧 post 的教程引起的。警告说:不推荐使用元素透视图,在以下扩展中:
<extension
point="org.eclipse.debug.ui.launchShortcuts">
<shortcut
class="my.launch.MyLaunchShortcut"
icon="icons/my_icon.gif"
id="my.run.shortcut"
label="my Workflow"
modes="run, debug">
<perspective <---here is the warning
id="my.perspective">
</perspective>
<configurationType
id="my.run">
</configurationType>
<contextualLaunch>
<enablement>
<with
variable="selection">
<count
value="1">
</count>
<iterate>
<or>
<instanceof
value="org.eclipse.core.resources.IProject">
</instanceof>
</or>
</iterate>
</with>
</enablement>
</contextualLaunch>
</shortcut>
我尝试删除透视元素并在 <contextualLaunch>
中添加 <test>
,但我的所有尝试都不奏效。那我该如何解决呢?
顺便说一句。它工作正常。我可以在 运行 中看到我自己的上下文子菜单,如 -> 运行 我的项目。但是只要我把<perspective>
元素去掉,不管我在<contextualLaunch>
里加什么,子菜单都不会出现。
您的 <contextualLaunch>
元素只会在您选择了单个项目时显示快捷方式。类似下面的内容将显示任何资源:
<contextualLaunch>
<enablement>
<with
variable="selection">
<count
value="1">
</count>
<iterate>
<or>
<instanceof
value="org.eclipse.core.resources.IResource">
</instanceof>
</or>
</iterate>
</with>
</enablement>
</contextualLaunch>
您可能还需要指定一个 <contextLabel>
- 以下是 Ant 插件使用的条目:
<contextualLaunch>
<enablement>
<with variable="selection">
<count value="1"/>
<iterate>
<or>
<instanceof value="org.eclipse.ant.internal.ui.model.AntElementNode"/>
<test property="org.eclipse.debug.ui.matchesContentType" value="org.eclipse.ant.core.antBuildFile"/>
</or>
</iterate>
</with>
</enablement>
<contextLabel
mode="run"
label="%AntLaunchShortcut.label"/>
<contextLabel
mode="debug"
label="%AntLaunchShortcut.label"/>
</contextualLaunch>
我想修复我的 plugin.xml 文件中的最后一个警告,这一定是我按照一些旧 post 的教程引起的。警告说:不推荐使用元素透视图,在以下扩展中:
<extension
point="org.eclipse.debug.ui.launchShortcuts">
<shortcut
class="my.launch.MyLaunchShortcut"
icon="icons/my_icon.gif"
id="my.run.shortcut"
label="my Workflow"
modes="run, debug">
<perspective <---here is the warning
id="my.perspective">
</perspective>
<configurationType
id="my.run">
</configurationType>
<contextualLaunch>
<enablement>
<with
variable="selection">
<count
value="1">
</count>
<iterate>
<or>
<instanceof
value="org.eclipse.core.resources.IProject">
</instanceof>
</or>
</iterate>
</with>
</enablement>
</contextualLaunch>
</shortcut>
我尝试删除透视元素并在 <contextualLaunch>
中添加 <test>
,但我的所有尝试都不奏效。那我该如何解决呢?
顺便说一句。它工作正常。我可以在 运行 中看到我自己的上下文子菜单,如 -> 运行 我的项目。但是只要我把<perspective>
元素去掉,不管我在<contextualLaunch>
里加什么,子菜单都不会出现。
您的 <contextualLaunch>
元素只会在您选择了单个项目时显示快捷方式。类似下面的内容将显示任何资源:
<contextualLaunch>
<enablement>
<with
variable="selection">
<count
value="1">
</count>
<iterate>
<or>
<instanceof
value="org.eclipse.core.resources.IResource">
</instanceof>
</or>
</iterate>
</with>
</enablement>
</contextualLaunch>
您可能还需要指定一个 <contextLabel>
- 以下是 Ant 插件使用的条目:
<contextualLaunch>
<enablement>
<with variable="selection">
<count value="1"/>
<iterate>
<or>
<instanceof value="org.eclipse.ant.internal.ui.model.AntElementNode"/>
<test property="org.eclipse.debug.ui.matchesContentType" value="org.eclipse.ant.core.antBuildFile"/>
</or>
</iterate>
</with>
</enablement>
<contextLabel
mode="run"
label="%AntLaunchShortcut.label"/>
<contextLabel
mode="debug"
label="%AntLaunchShortcut.label"/>
</contextualLaunch>