22

RCP アプリケーションの既存の部分を再利用するために、Eclipse 4.2 と互換性レイヤーを使用しています。

RCP アプリケーションで[ファイル] メニューと[実行] メニューの [新規]を再利用したいので、そのために Eclipse 用の EMF エディターを開くと、次のようになります。

ここに画像の説明を入力

ただし、新しいメニューの場合、次のようなものが表示されます。org.eclipse.e4.model.application....

私のアプリケーションは次のようになります (これは、いくつかの追加機能を備えた単なる Java Script デバッガーです)。

ここに画像の説明を入力

では、RCP アプリケーションでこれらのメニューを再利用するにはどうすればよいでしょうか?

4

1 に答える 1

3

私はあなたが言っていることを理解していると思います。Eclipse Juno で E4 ライブ エディターを開いて、独自のコードで再利用できるように、[新規] および [実行] メニュー項目のコマンドを取得しましたか?

私が正しければ、E4 では Eclipse が提供するデフォルトのコマンドを使用できなくなります。独自のコマンドを定義する必要があります。詳しくはこちらをご覧ください。

Eclipse 3.x を知っている場合は、おそらく再利用できる定義済みコマンドを探しているでしょう。Eclipse 4 プラットフォームは、可能な限り軽量化を図っています。

Eclipse 4 には標準コマンドが含まれなくなりました。すべてのコマンドを定義する必要があります。

したがって、.e4xmi ファイルを介してこれらのコマンドを追加しようとする場合は、独自のコマンドを独自のハンドラで定義する必要があります。

Eclipse が提供するコマンドを引き続き使用したい場合は、解決策があり、それは plugin.xml ファイルを介して実行する必要があります。互換性レイヤーを使用していると言ったので、おそらくまだ多くのレガシー コードがあり、これらのメニュー項目を plugin.xml 経由で追加しても問題ないかもしれません。ただし、ハード マイグレーションを行うと、Eclipse は plugin.xml での拡張機能の使用を減らそうとしていると思います。その場合、独自のコマンドを定義する必要があります。

したがって、これらのコマンドを追加する場合は、plugin.xml の拡張機能を介して行う必要があります。

New メニュー項目を追加するには、 に移動し、plugin.xml[Extensions] タブで を追加しorg.eclipse.ui.menusます。の locationURI で menucontribution を作成しますmenu:org.eclipse.ui.main.menu。次に、メニューを追加してラベルを付ける必要がありますFile

Fileこれにより、メニューが RCP に追加されます。次に、これにコマンドを追加する必要がありますNew。これを行うには、作成したばかりの [ファイル] メニューにコマンドを追加します。コマンドを追加したら、commandID で [参照] を選択して を探しますorg.eclipse.ui.file.newQuickMenu

したがって、plugin.xml には次のコードが含まれます。

<extension
         point="org.eclipse.ui.menus">
      <menuContribution
            allPopups="false"
            locationURI="menu:org.eclipse.ui.main.menu">
         <menu
               id="fileMenu"
               label="File">
            <command
                  commandId="org.eclipse.ui.file.newQuickMenu"
                  style="push">
            </command>....
于 2013-01-17T01:37:18.537 に答える