プロジェクトの説明文をつける
これでできたとよろこんでいたのですが、ちょっとしたことに気がついてしまいました。
普通のプロジェクトを作るダイアログはこうなります。
ところが、LG3D のプロジェクトはこうなります。
なにが違うかわかりますか?
そうです。ダイアログのタイトルの下に説明文が入るのですが、LG3D のプロジェクトは真っ白 ^^;;
でも、Wizard クラスの Javadoc を見ても、それに相当するようなメソッドは見あたりません。どこでこの文字列を設定するんだろう?
Tomcat Plug-in の場合、ここには「WAR 構造を持った Java プロジェクトを作成する」と表示されます。そこで、この文字列を grep してみました。しかし、何も引っかかりません。いちおう、文字コードをいろいろ変えてやってみたのですが、それでも引っかかりません。
それじゃ、この文字列はどこで???
そうか、プロパティだ! 日本語はプロパティでは \u で表記されるので、そのままみても分けわからん状態なのです。\u 形式なので grep でも引っかからなかったわけですね。ということで、リソースバンドルで読みこまれるプロパティファイルを調べて、そこからキーを探して (wizard.newJavaProject.description でした)、それがソースのどこに使われているかを調べてみました。
そうしたら、なんと plugin.xml に記述されていました。
つまり、Tomcat Plug-in の MANIFEST エディタの [Extensions] タブで Wizard の下によく分からない description というのがくっついているのです。これはプロパティを記述できるでもなく、何のためにあるのかよく分からなかったのです。
で、plugin.xml の wizard の部分を見てみると、
<extension point="org.eclipse.ui.newWizards"> <wizard name="%wizard.newTomcatProject.label" icon="icons/newwar_wiz.gif" category="org.eclipse.jdt.ui.java" class="com.sysdeo.eclipse.tomcat.TomcatProjectCreationWizard" project="true" finalPerspective="org.eclipse.jdt.ui.JavaPerspective" id="com.sysdeo.eclipse.tomcat.TomcatProjectCreationWizard"> <description> %wizard.newJavaProject.description </description> </wizard> </extension>
ここにおめあての wizard.newJavaProject.description があるのでした。
LG3D には description はまだつけていません。なので、plugin.xml も
<extension point="org.eclipse.ui.newWizards"> <wizard category="org.eclipse.jdt.ui.java" class="jp.gr.java_conf.skrb.lg3d.wrpe.wizard.LG3DProjectWizard" finalPerspective="org.eclipse.jdt.ui.JavaPerspective" id="jp.gr.java_conf.skrb.lg3d.wrpe.ProjectWizard" name="Project Looking Glass Project" project="true"> </wizard> </extension>
となっており、
とりあえず、wizard を選択して右クリックで表示されるポップアップメニューから description を選択しました。すると、plugin.xml は次のようになりました。
<extension point="org.eclipse.ui.newWizards"> <wizard category="org.eclipse.jdt.ui.java" class="jp.gr.java_conf.skrb.lg3d.wrpe.wizard.LG3DProjectWizard" finalPerspective="org.eclipse.jdt.ui.JavaPerspective" id="jp.gr.java_conf.skrb.lg3d.wrpe.ProjectWizard" name="Project Looking Glass Project" project="true"> <description/> </wizard> </extension>
<extension point="org.eclipse.ui.newWizards"> <wizard category="org.eclipse.jdt.ui.java" class="jp.gr.java_conf.skrb.lg3d.wrpe.wizard.LG3DProjectWizard" finalPerspective="org.eclipse.jdt.ui.JavaPerspective" id="jp.gr.java_conf.skrb.lg3d.wrpe.ProjectWizard" name="Project Looking Glass Project" project="true"> <description>Create LG3D Project</description> </wizard> </extension>
これで実行すると、ちゃんと説明が表示されるようになりました ;-)
しかし、これだけのことに何時間もかけてしまった私はなに?