Eclipse導入

PHPでシステム開発をしているがEclipseがいいと聞いて早速導入してみた。本来はJavaの開発用の環境らしいが他言語用にも使えるようなツールが準備されていてPHP用も何種類か出ている。よくあるコードの色付け機能はもちろん、構文を保存の旅に自動チェックしてくれたり保存履歴が記録されて数日前に保存した状態も呼び出せたりとかなり高機能な様子。

導入までのあれこれをメモ。なお、環境はWindowsXPで既に使っているものとしてXAMPP,Subversion,TortoiseSVNがあること前提。また、今後cakePHPを使ってみようと思っているためそれも加味して環境を作った。

まずPHP用のEclipseもいくつかあるようだけど、今回はPDT(PHP Development Tools)というものを選んだ。CakePHPの試食前に、EclipseでPHPの開発環境を整える という記事で非常に丁寧に説明されていたので参考にさせてもらいPDTの選択とインストールを行った。

PDT Project公式サイトのDownloadsページから(07/10/20時点で)最新のR20070917というところを開き、Windows用のなんやかんや一式が詰まったオールインパッケージpdt-all-in-one-1.0-R20070917-win32.zipをダウンロード。

ダウンロードしたものを解凍するとeclipseフォルダができるので適当な場所に移動。セットアップとかは必要ないみたい。eclipse本体+PHP用色々はこれで導入完了。すごい簡単。

次にデバッガを導入。デフォルトではZendDebuggerというものが入っているらしいけどcakePHPと相性が悪いということでXdebugというものを入れたら良いんだとか。新しめのXAMPPには最初から入っているとのことで、php.iniの編集だけで良いみたい。

xampp\php\php.iniとxampp\apache\bin\php.iniで下記を編集。[xdebug]は追加で、[Zend]の一行は元々あるものをコメントアウトする。

[xdebug]
zend_extension_ts = "C:¥Program Files¥xampp¥php¥ext¥php_xdebug-2.0.0-5.2.2.dll"      ←環境に合わせてください
xdebug.remote_enable=1
xdebug.remote_handler="dbgp"
xdebug.remote_mode=req
xdebug.remote_host="localhost"
xdebug.remote_port=9000
xdebug.remote_log="C:¥Program Files¥xampp¥apache¥logs¥xdebug.log"
xdebug.manual_url = http://jp2.php.net
xdebug.collect_params = On
xdebug.dump.GET = *
xdebug.dump.POST = *
[Zend]
;zend_extension_ts = “C:¥Program Files¥xampp¥php¥zend¥Optimizer¥lib¥ZendExtensionManager

Xdebugはこれで終わりかと思うんだけど、ちゃんと動いているのかまだよくわかってない。おかしかったら後々追記。

お次はEclipseの日本語化。Pleiadesというプラグインでできる。こちらのサイトからダウンロードできる。最新版の1.2.1.pというところをクリックしてpleiades_1.2.1.p12.zipをダウンロード。

解凍したフォルダのreadmeにインストールの方法が書いてあるのでその通りに実行。起動時-cleanを付けたショートカットというのは圧縮ファイルの中に入っているeclipse.exe -clean.cmdのことみたい。eclipse.exe本体と同じ場所に置けばこれをダブルクリックするだけで-cleanを付けた状態で起動できる。ちなみにこのパッケージにはJStyleという全角空白、半角空白、タブ、改行(LF、CRLF、CR)を表示可能にするプラグインも一緒に入っているので便利。

続いてはEclipseでsubversionを使えるようにするためのプラグイン。今までのようにファイルをダウンロードして特定の場所に入れるとかではなく、Eclipseを起動させてその機能としてインストールする。やり方はSubclipseのインストール方法というページが画像付で丁寧に書いてあるので非常に便利。

さて、インストールは簡単だったけどつなげるまですごく苦労した。外部サーバーとの接続に鍵ファイルを用いた接続を行っているのだがそれが上手くできない。調べてみるとputtyのツールを毎回起動させたりと書いてあるが、それも動かないしなんかそんなのしたくない。TortoiseSVNの設定をする時も非常に苦労したが同じような状態。決定的な情報は見つからなかったけど書いてある色んなのを組み合わせて試したらできた。TortoiseSVNのファイルを使う方法。

まずTortoiseSVNでの設定を見る。ネットワーク設定で、SSHクライアントとして下記を指定していた。

"D:¥Program Files¥TortoiseSVN¥bin¥TortoisePlink.exe" -ssh -l username -i "ppkのパス"

それを元に、Windowsのユーザー環境変数を設定。マイコンピューターのプロパティ→詳細設定→環境変数→ユーザー環境変数の新規で、変数名に「SVN_SSH」、変数値に

D:/Program Files/TortoiseSVN/bin/TortoisePlink.exe -ssh -l username -i ppkのパス

と入れる。ダブルクォーテーションを取ったのと、¥をスラッシュに変更。後はEclipseのPHPエクスプローラー上で右クリックし、新規→その他→SVN→SVNからプロジェクトをチェックアウトでTortoiseSVNと同じように設定すればチェックアウトできる。コミットもできた。

次に文字化け。UTF-8でコードを書いてるが表示したら文字化けしてた。これは設定→一般→コンテンツ・タイプでPHPコンテンツタイプを選び、デフォルト・エンコードをUTF-8に設定。ついでにHTMLも。

普段smartyを使っているので何かないかと探したらSmarty Editorとやらが便利とのこと。ダウンロードして、eclipse/pluginに入れて再起動。でもテンプレートファイルを開いてもPHPモードとして開くので、関連付けを変更。設定→一般→ファイルの関連付けでテンプレートファイル*.tplを追加し、下部の関連付けられたエディターでsmarty Editorを選び右のデフォルトボタンを押すと関連付け完了。どんなもんか見てみようと思ったらエラーが!Bad version number in .classs fileとか。新しいEclipseのバージョンに対応していないんだろうか?調べてみてもわからなかったので断念。

あとちょっと使ってみて、エラーチェックはありがたいが全部のファイルをチェックするのでうざい。「問題」の右にある「▽」からフィルターの構成を選び、「選択された要素のみ」に変更すると開いてるのだけチェックしてくれるようになった。

以上、とりあえずインストールして使えるように設定してみた。まだ使い込んでいないので使っていくうちにまた追加した方が良いものや使いやすい設定なども出てくると思うのでそしたら追記。

もしこのエントリを見つけた方でおすすめのプラグインや設定などあれば教えて下さい。

(追記:2007/11/9)
cakePHP1.1を使う際*.thtmlという拡張子を使うんだけどHTMLエディターを関連付けて文字コードをUTF-8にすると保存をUTF-8Nで行う。そして読み込みはUTF-8で行うので文字化けする。

解決法:設定→一般→コンテンツタイプ→PHPコンテンツ・タイプに*.thtmlを追加すると正しく表示。理由不明。


Categories:

Tags:


Comments

“Eclipse導入” への2件のフィードバック

  1. tominagaのアバター

    Eclipse使いになられたのですが、ようこそ、Eclipseへ。
    Java関係は最強すぎるツールですが、PHPの開発エディタとしては、まだまだ伸びて欲しいと思うこの頃。

    で、おすすめのツールですが。
    Aptanaを使っています。

    PHP+Smarty+CSS+HTMLとSSH・FTP接続がこいつ一個でできるようになります。
    SubVersionプラグインやVisualSorceSafeプラグインと組み合わせればテラ便利。

    Aptana
    http://www.aptana.com/

    Webtools : EclipseにPHPEclipseとAptanaで高機能Web開発環境
    http://www.hereticanthem.com/webtools/253/

    それでは良いEclipseライフを。
    ノシ

  2. 江島のアバター
    江島

    >tominagaさん
    Aptanaは知りませんでした。
    なにやら便利そうですね。
    プラグイン入れてみます!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA