org.eclipse.debug.core.launchConfigurationTypes 拡張ポイント その 4

昨日はいいところで時間切れ。ということで、昨日の続きです。

昨日の plugin.xml で実行すると、なぜか Java Application のアイコンが変更されてしまったのでした。

で、ドキュメント (Launch configuration type images) をちゃんと読んでみると、plugin.xml の例の前に

The markup for the Java application image is as follows:

と書いてあるのでした ^^;;

さて、どこが Java Application に結びつけているところなのか

   <extension
         point="org.eclipse.debug.ui.launchConfigurationTypeImages">
      <launchConfigurationTypeImage
            configTypeID="org.eclipse.jdt.launching.localJavaApplication"
            icon="icons/ukulele.gif"
            id="jp.gr.java_conf.skrb.lg3d.wrpe.launchConfigurationTypeImage"/>
   </extension>

怪しいのは、1 つしかありません。そう、configTypeID です。そういえば、configType ってどこかで聞いたことがあります。

そうか拡張ポイントの launchConfigurationTypes ですね。もしかして、launchConfigurationType の ID を launchConfigurationTypeImage の configTypeID に指定するのでしょうか。

考える前に、試してみます。plugin.xml を次のように変更してみました。

   <extension
         point="org.eclipse.debug.ui.launchConfigurationTypeImages">
      <launchConfigurationTypeImage
            configTypeID="jp.gr.java_conf.skrb.lg3d.wrpe.launchConfigutaionType"
            icon="icons/ukulele.gif"
            id="jp.gr.java_conf.skrb.lg3d.wrpe.launchConfigurationTypeImage"/>
   </extension>

これで、実行してみます。

Run

今度はうまく、LG3D Application がウクレレマークになりました。やっぱり configTypeID は launchConfigurationType の ID と一致させる必要があるのですね。

今は launchConfigurationTypeImages の configTypeID を変更しましたが、もう 1 つ launchConfigurationTabGroup の type も変えてみました。

   <extension
         point="org.eclipse.debug.ui.launchConfigurationTabGroups">
      <launchConfigurationTabGroup
            class="org.eclipse.jdt.internal.debug.ui.launcher.LocalJavaApplicationTabGroup"
            id="jp.gr.java_conf.skrb.lg3d.wrpe.launchConfigurationTabGroup"
            type="jp.gr.java_conf.skrb.lg3d.wrpe.launchConfigutaionType">
         <launchMode
               description="Run LG3D Application "
               mode="run"/>
         <launchMode
               description="Debug LG3D Application"
               mode="debug"/>
      </launchConfigurationTabGroup>
   </extension>

実行すると、ちゃんと LG3D Application を選択しても、エラーダイアログは表示されなくなりました。[New] で作成することもできます。

New Configuration

でも、まだ実行はできません。[Run] をクリックしても何も起きません。まぁ、当然ですね。

それにしても launchConfigurationTypeImage では configTypeID で、launchConfigurationTabGroup では type。何でもいいけど、同じものを入れるのであれば用語は統一してほしいなぁ。

明日からは実行の処理の部分を実装していきたいと思います。