SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

特集記事

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

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


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

 プロジェクトの作成が終わったら、次のようなマニフェストエディタが表示されます。これは、「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のメニューの一部に組み込めたことが確認できました。

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

次のページ
アクションの作成

この記事は参考になりましたか?

特集記事連載記事一覧

もっと読む

この記事の著者

ハタ(ハタ)

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

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/1104 2008/09/03 13:43

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー