以前書いたテキストエディタからPHPEclipseへ移行した決め手の
記事から一年たちました。
Eclipseも新バージョンが登場し、PDTも1.0正式版が出ましたし、
OSも社内ではVistaに切り替わりつつあります。
というわけで、開発環境一新プロジェクトが立ち上がり、
新しくでた環境の検証を行いました。
EclipseはFireFoxと同じようにプラグイン機構なのですが、
構成をいじろうとするとツールごとの相性の問題などで
頻繁にエラーがでてしまいます
Eclipse本体のバージョンやプラグインのバージョンを
とっかえひっかえしながら安定する環境をなんとか作成しました。(大変!)
最終的に作った環境は以下になりました。
Eclipse Platform 3.3 Europa
Pleiades (日本語化プラグイン)
PHPEclipse v1.1.8 (PHP開発環境)
Subclipse v1.4 (SubVersionクライアント)
JSEclipse (JavaScriptエディター)
JStyle (エディター日本語拡張)
AnyEdit (エディター拡張)
DBViewer (データベース管理)
Mylyn (タスク管理)
EasyExplorer (エクスプローラーで開く)
そうなんです。はじめはPHPの開発元である
Zend製のPDTを採用しようと環境を組んでいたのですが、
どうしてもPHPEclipseにしかない機能があり、
結局PHPEclipseになってしまいました・・・
PDTにはないPHPEclipseの機能
まず、PDTは自動構文チェック機能がかなり貧弱です。
Fatalな文法エラーは検知できるのですが、
PHPEclipseでできる、下記のエラーチェックができません。
こういうコードを書いたとき、($tets は $test のミスタイプです)
“初期化されていない変数が使われています”と
注意してくれます。
他にも、
returnの後のコードは実行されないので、
実行されないコードがありますよと注意が入ります。
(※PHPのNoticeエラーとは指摘する場所が異なります)
引用:テキストエディタからPHPEclipseへ移行した決め手
うーん、これに何度も助けられたので
これができないのは致命的です。
また、PHPEclipseでは、マウスクリックした単語を
自動で検索してくれる機能があります。
例えば、$userという文字をクリックすると、
1秒ぐらい待つとこの様に自動検索して
ハイライト表示をしてくれます。
変数だけじゃなく、メソッド名などなんでもOKです。
検索結果はスクロールバーにも表示され、
灰色の小さいシカクがついてるところが
検索にヒットした場所です。
その位置までスクロールすると、
$userを見つけられました。
これがめちゃくちゃ便利で、慣れると手放せません。
他にも、Smartyに特化したSmartyエディター
などがないのがつらいところです。
というわけで、PHPEclipseを再び採用することになりました。
世の中的にはPDTの流れかと思いますが、
現時点ではPHPEclipseが優れていると思います。
(PDTの今後に期待!PHPEclipseのバージョンアップにも期待!)
バージョンはいくつか試しましたが、
1.2.0-nightlyや1.1.9-cvsはテンプレートの挿入に
バグがあったので、1.1.8を採用しました。
おまけ:SubVersiveじゃなくてSubclipseにした理由
SubVersionの管理システムも、SubVersiveが
Eclipseの標準プラグインとして採用されるなど、
SubVersiveの流れになっていますが、
これも結局Subclipseにしてしまいました。
理由は、最新のリポジトリーとの比較が遅い!からです
SubVersionは、仕様上ローカルに最新リビジョンの
ソースファイルを保持しているので、
最新のバージョンとの比較や置換はかなり高速なのですが、
SubVersiveの場合は、最新のリビジョンとの比較と同時に
ヒストリーも取ってくるので重いのです・・・
この操作はかなり頻繁に行うので、
毎回この遅さは困りものです。
オプションでオフにもできなかったので、
結局Subclipseを採用することにしました。。。
関連した記事:
私もPHPでプログラミングをして、
PHPEclipseがいいなぁと思いました。