現在.cake fileのサポートを追加中です。通常のディレクトリ構造と違う設定で使用されている場合(例えば App::build()でModelにAPP. MyModel/を追加しているなど)に補完やファイルの移動ができるようになると思います。テスト用のnbmをgithubに置いていますので興味のある方は使ってみてください。
.cakeとは
簡単にいうとエディタやIDEの拡張のためのCakePHP用の設定ファイルです。CakePHPをデフォルト以外のディレクトリ構造で使用すると、エディタやIDEのプラグインは、ControllerやViewファイルなどがどこにあるのか認識するのが困難なため、便利な機能が実装されていても利用することができません。イレギュラーなディレクトリ構造でもそれらを動作させるために@k1LoW さんと@yuhei_kagaya さんによってつくられたのが.cakeです。
サポートしているEditor と IDEの拡張
- Emacs (emacs-cake2)
- Vim (cake.vim)
- NetBeans (cakephp-netbeans 途中)
- PhpStorm (未)
- SublimeText (未)
.cakeファイルの作成方法
@k1LoWさんによって Dotcake プラグインが作成されているので、それを使用して作成することができます。
$cake Dotcake.dotcake generate
で.cakeが作成されます。フォーマットして出力したい場合は、
$cake Dotcake.dotcake generate –format tab
$cake Dotcake.dotcake generate –format ws
を実行してください。–formatのオプションはタブもしくは空白(4 spaces)でインデントするか選択できます。wsはwhitespaceでも可です。PHP5.4から使えるJSON_PRETTY_PRINTオプションと同様の出力結果になると思います。
サンプル(デフォルト)
NetBeansでの設定
プロジェクトプロパティ > フレームワーク > CakePHP > .cake
にソースディレクトリからの相対パスを指定してください。
NetBeansでの対応
補完と移動
以下のカテゴリのみ対応しています。
- Controller
- Component
- Model
- Behavior
- View
- Helper
- cake (core)
補完の候補とGo To * の機能に対して有効になっている。。。はずです。CakePHP2.xのみです。
.cake fileのmime-type
.cakeファイルの形式はJSONなので、.cakeファイルを開いたときはJSONファイルとして認識するようにしています。
プロジェクトツリーに.cakeファイルが表示されない場合は、オプションでファイルを無視しないように設定してください。
ツール > オプション > その他 > ファイル > IDEが無視するファイル
で無視するファイルパターンのところに.cakeを除く用に設定すればOKです。具体的にはバージョン管理と同じ所に書いておけば大丈夫だと思います。
^(CVS|SCCS|vssver.?\.scc|#.*#|%.*%|_svn)$|~$|^\.(?!(htaccess|git.+|hgignore|cake)$).*$
開発版nbm
https://github.com/junichi11/cakephp-netbeans/releases/tag/v0.12.3 (0.12.3.*-dev)
.cakeへの要望
もしリクエスト等があれば、githubのissueに追加してもらえれば、メンバーの方々が議論してくれると思います。