CodeZine(コードジン)

特集ページ一覧

PHPEclipseを拡張してEclipseプラグインを作成しよう

setter/getterコード生成プラグインの作成

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2007/03/27 07:00
目次

プラグインの依存関係の設定

 プロジェクトの作成が終わったら、次のようなマニフェストエディタが表示されます。これは、「META-INF/MANIFEST.MF」の入力を簡単に行えるエディタですが、「plugin.xml」の設定もこの画面から行うことができるので、ここで必要な値を入力をしていきます。

マニフェストエディタ
マニフェストエディタ

 まず、マニフェストエディタ上でプラグインの依存関係を入力します。タブの[依存関係]を選択し、作成するプラグインで必要とするプラグインの依存関係を設定します。

プラグインの依存関係
プラグインの依存関係

 今回作成するプラグインは以下の依存関係を持つようにしました。

  • org.eclipse.ui
  • org.eclipse.core.runtime
  • org.eclipse.jface.text
  • org.eclipse.ui.editors
  • org.eclipse.ui.workbench.texteditor
  • org.eclipse.core.resources
  • net.sourceforge.phpeclipse

プラグインの拡張ポイントの設定

 次に[拡張]タブを選択し、拡張ポイントの入力を行います。

拡張タブ
拡張タブ

1.viewerContributionの設定

 [追加]をクリックし、「org.eclipse.ui.popupMenus」を選択します。「org.eclipse.ui.popupMenus」の追加が完了したら「org.eclipse.ui.popupMenus」を右クリックし、[新規]→[viewerContribution]を選択します。

viewerContributionの選択
viewerContributionの選択

 作成した「viewerContribution」の[targetID]には「#PHPEditorContext」と入力します。こうすることで、PHPEditorを開いている状態にのみ動作するポップアップメニューを作成できます。

viewerContributionの入力
viewerContributionの入力
viewerContribution定義
項目 設定値 説明
id jp.codezine.viewer.viewerContribution1 viewerContributionに設定する一意のID
targetID #PHPEditorContext 表示を行うビューのIDを指定します。

2.メニューの作成

 次に、作成した「viewerContribution」を右クリックし、[新規]→[menu]からメニューの作成を行います。

menuの入力
menuの入力

 メニューの情報は次のように設定しました。

メニュー定義
項目 設定値 説明
id jp.codezine.popup.menu ポップアップにつけるID(これは後ほど作成するActionで参照されます)
label CodeZineメニュー ポップアップ時に表示されるラベル名
path additions 設置するmenuのpath

3.アクションの設定

 今度は、先ほど作成した「viewerContribution」を右クリックし、[新規]→[action]から選択時に動作するアクションを作成します。

actionの入力
actionの入力

 アクションの情報は次のように設定しました。

アクション定義
項目 設定値 説明
id CodeZineSetterGetterAction アクションに設定するID
label setter/getterの生成 表示されるメニューバーのラベル名
class jp.codezine.popup.actions.SetterGetterAction 選択された際に起動するActionクラス
menubarPath jp.codezine.popup.menu/settergetter 表示するメニューのパス

4.アクションクラスの定義

 「menubarPath」には、先ほど作成した「メニューのID/settergetter」としています。こうすることで、表示したメニューのサブメニューとして、アクションのラベルが表示されます。アクションクラスの作成は[class*:]となっている部分をクリックすることで、簡単に行えます。

アクションクラス作成
アクションクラス作成

 アクションクラスのフォルダーやパッケージは任意の値で設定します。ここでは次のように設定し、アクションクラスの作成を行いました。なお、インターフェイスには必ず「org.eclipse.ui.IEditorActionDelegate」を追加してください。

アクションクラス定義
設定箇所 設定値
ソースフォルダー CodeZine PHPEclipseProject/src
パッケージ jp.codezine.popup.actions
名前 SetterGetterAction
インターフェイス org.eclipse.ui.IEditorActionDelegate

プラグインの起動(起動の確認)

 アクションクラスの作成が終わったら、プラグインを起動してみます。[概要]タブに戻り、[Eclipse アプリケーションの起動]から作成したばかりのプラグインを起動することができます。

メニューの表示
メニューの表示

 PHPファイルを作成し、右クリックをすることで、[CodeZineメニュー]→[setter/getterの生成]が表示されることが確認できると思います。また、PHPEclipseのメニューも表示されています。これでPHPEclipseのメニューの一部に組み込めたことが確認できました。

 しかし、このままではクリックしても動作しません。次はアクションの作成を行います。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • ハタ(ハタ)

    PHPの魅力に取り付かれた一人。 現在はSeasar.PHPとしてSeasar(Java)をPHP5に移植する活動をしている。 http://blog.xole.net/(ブログ)

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5