Engineer as a Lifestyle @tenkoma

What We Find Changes Who We Become -- Peter Morville著『アンビエント・ファインダビリティ 』

CakePHP+NetBeansでモデルやコンポーネントのコードを補完してくれるようにする

code template for CakePHP

NetBeans6.9ではCakePHPに対応してくれなさそうなので涙目な感じです。

さて、CakePHPでモデルやコンポーネントのメソッド名などを補完するための方法がhttp://www.tiplite.com/cakephp-support-in-netbeans/に載っていました。でも、いちいち書くのはめんどくさいですよね。
コードテンプレートで省力化できないかな、と思いました。→できました!

このコードテンプレートを使うことの効能(追記)

以下のような補完を実現するためのコードを楽に書けます。


次のようなコードテンプレートを追加します

varm

/** @var ${Model} */
    var $$${Model};

これをNetBeansの環境設定→エディタ→コードテンプレートで、PHPを選び、新規→省略名は「varm」で保存しましょう。
同じウインドウに「テンプレートを展開」するためのショートカットキーが載っていますので、Shift+tabであればコントローラで

varm[Shift+Tab]

とタイプすれば次のようにコードが生成されます。

    /** @var Model */
    var $Model;

次にモデル名の部分にフォーカスがあたっているので、これを実際のモデル名に書き換えます。

    /** @var User */
    var $User;

一つ目を書き換えたらEnterを押します。
実際のスクリーンショットなら

ここで[Shift+Tab]

モデル名を書き換えて

Enterで確定です。

同様にしてコンポーネントのためのコードテンプレートも作れます。

varcomp

/** @var ${ComponentName}Component */
var $$${ComponentName};

varh

ヘルパーは変数名をlowerCamelにする必要があるので…

/* @var $$${$helperName} ${HelperName}Helper */

これはあまりショートカットできてませんね。htmlと入力したら次のところはHtmlと補完されるとうれしいのですが。

まとめ

問題は今回生成したコードは、CakePHPアプリケーションの実行にはまったく不要だってことです。