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 パースペクティブのパッケージ エクスプローラー ビューが、他のパースペクティブに表示されるプロジェクト エクスプローラー ビューとは別物であるためです。右クリック オプションを両方のビューに表示する場合は、<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 に答える