2

我在 eclipse 中开发了一个插件,当用户右键单击文件时添加一个选项。但它只显示在 java 的角度,而不是任何其他的。谁能告诉我原因?

这是我的plugin.xml:

<?xml version="1.0"?>
<plugin>
    <extension point="org.eclipse.ui.menus">
        <menuContribution locationURI="popup:org.eclipse.jdt.ui.PackageExplorer">
            <command commandId="plugin.showDifferences" label="Show Differences" style="push">
                <activeWhen>
                    <iterate>
                        <adapt type="org.eclipse.core.resources.IResource">
                            <test property="org.eclipse.core.resources.name" value="*.java"/>
                        </adapt>
                    </iterate>
                </activeWhen>
            </command>
        </menuContribution>
    </extension>
    <extension point="org.eclipse.ui.commands">
        <command defaultHandler="plugin_demo.Differences" id="plugin.showDifferences" name="Differences" />
    </extension>
</plugin>
4

1 回答 1

3

这是因为 Java 透视图的 Package Explorer 视图与出现在其他透视图中的 Project Explorer 视图不同。如果您希望右键单击选项出现在两个视图中,则必须添加另一个<menuContribution>将其贡献给org.eclipse.ui.navigator.ProjectExplorer视图的选项。像这样的东西:

<menuContribution locationURI="popup:org.eclipse.ui.navigator.ProjectExplorer#PopupMenu?after=additions">
    <command commandId="plugin.showDifferences" label="Show Differences" style="push">
        <activeWhen>
            <iterate>
                <adapt type="org.eclipse.core.resources.IResource">
                    <test property="org.eclipse.core.resources.name" value="*.java"/>
                </adapt>
            </iterate>
        </activeWhen>
    </command>
</menuContribution>
于 2012-10-05T19:11:30.000 回答