2012-01-05
Emacs 厨だけど、PHP IDE「PhpStorm」だけはベツバラな理由
少し前に、ペパボの JavaScript 厨なひとに、PHP 用の IDE「PhpStorm」を薦めてもらいました。有料のソフトなのですが 30日間は無料で使えるし、モノは試しだと思って使ってみたところ、大変良かったので紹介します。
Emacs 厨だけど、PhpStorm だけはベツバラな理由
Emacs 厨だけど、PhpStorm はベツバラな理由
言うまでもなく Emacs は素晴らしいですし、これからもお世話になると思いますが、いまは PhpStorm と併用して使っています。PHP に限って言えば、PhpStorm の方が使用頻度が高いかもしれません。そうなった理由は、
定義元にジャンプする機能が賢すぎて、コードリーディングが10倍ラク
だということ。
実はこれまでにも Eclipse や NetBeans や Aptana Studio などの統合開発環境(IDE)を使ったことがありましたが、結局は Emacs に帰ってくるという結果になっていました。
しかし、今回は様子が少し違う。巷で「最強 IDE」と呼ばれるだけあって(ページ下部の参考サイト参照)、確かに賢いです。例えば Aptana Studio から定義元にジャンプしようとして失敗するケースでも、PhpStorm ならラクラク飛べます。
Aptana Studio との比較
一例を挙げると下記のようなコードとか。
<?php class SampleClass1 { function getFoo() { return "foo"; } } class SampleClass2 { function excute() { // Aptana Studio だと、getFoo の箇所から定義元にジャンプできない $foo = SampleClass1::getFoo(); echo $foo; } }
Aptana Studio だと、下記の場所において、
$foo = SampleClass1::getFoo();
「SampleClass1」の箇所からなら定義元にジャンプできますが、「getFoo」の箇所だと「現在のテキスト選択はエディターで開くことはできません」となって失敗します。
PhpStorm ならば、どちらもジャンプできます。他にもこうしたケースに何度か遭遇しました。
Emacs との比較、使い分け
PhpStorm のコード解析がとても賢いので、コードリーディングがずいぶんラクになりました。
開発が大規模になると、自分でコードを書いている時間よりも、他人のコードを読んで理解する時間のほうが多くなりがちですが、PhpStorm のおかげで、その時間がかなり短縮されたと思います。
Emacs でも、grep-find や moccur を使ったり、TAGS ファイルを使ったり、いろいろと便利なものもありますが、やはり PhpStorm の快適さには及ばない。
一方で、既に頭の中に入っているコードをひたすら書き出すというシーンでは、やはり手に馴染んだ Emacs の方に軍配が上がります。
あと、PhpStorm は起動時にインデックスを再構築するため、しばし待たされるので、コードをちょっと開いて編集する程度では、Emacs の方がストレス感じなくて良いです。だいたいそんな感じで使い分けています。
その他 - 他の IDE との比較
先にこれまでにも他の IDE を使ったことがあると書いたので、少し触れておきます。
(1) Eclipse
一番最初に触ったのは Eclipse でした。Java を扱っていたときがあったので。その流れで PDT というプラグインを入れて PHP も書いていました。デバッグ時に 1行ずつ実行できるなんて IDE すげーなーと思いながら使っていました。
一方で、多機能すぎて使いこなせていない感をずっと感じていたのと、ひと通りの開発環境を構築するために必要なプラグインの数が多くて、しかもバージョンアップの度に不整合エラーが発生するので「もうヤダ」となって離れました。
ただしそれは Eclipse 3.0 の頃の話なので、今では状況が変わっているかもしれません。
(2) NetBeans
Eclipse のプラグイン整合性エラーに悩まされていたので、プラグインとか入れなくてもひと通り使えるものを探していたところ、下記の書籍で NetBeans が推されていたので採用してみました。
- 作者: 掌田津耶乃
- 出版社/メーカー: 秀和システム
- 発売日: 2010/05
- メディア: 単行本
- 購入: 1人 クリック: 107回
- この商品を含むブログ (7件) を見る
紹介されていたとおり、最初からひと通り使えました。ただ、ひとつひとつの機能を比較してみると、Eclipse の方が優れていた印象を受けました。例えば、ファイルの構造(Structure)を表示させたときの分かりやすさとか。
(3) Aptana Studio
その後知った Aptana Studio は、Eclipse ベースで、しかもプラグインなしで使える、という点で、Eclipse と NetBeans の良いとこ取りだなという印象を受けました。そして、どことなく垢抜けている。見た目も大事なので。
というわけで NetBeans から乗り換えましたが、少し規模の大きいコードを編集していると、ときどき固まったりしていました。また、同じ頃に id:rubikitch さんの下記書籍とかも読んで Emacs を格段にパワーアップさせていたので、コーディングは Emacs、デバッグは Aptana Studio というスタイルに落ち着き、これまでに至っていました。
Emacsテクニックバイブル ?作業効率をカイゼンする200の技?
- 作者: るびきち
- 出版社/メーカー: 技術評論社
- 発売日: 2010/08/03
- メディア: 単行本(ソフトカバー)
- 購入: 23人 クリック: 948回
- この商品を含むブログ (67件) を見る
(4) PhpStorm
そして、PhpStorm。自分でプラグインを入れたりしなくても、最初からひと通り使えます。多機能ですが、メニューが整理されているのか、ごちゃごちゃした印象はなく、使いたい機能にすぐにたどり着けます。
あと、見た目もオシャレですね。そして前述したように、コード解析が賢い。他にも良い点はたくさんありますが、あとはページ下部の参考サイトを参照してください。
逆にもう少し改善してもらいたいところは、起動時の遅さ。そこでインデックスを再構築してその後の処理を速くしているので一長一短なのですが。
そして、値段ですかね。PHP なら PhpStorm、Python なら「PyCharm」、Ruby なら「RubyMine」と、ソフトウェアが分かれていて、複数の言語を扱う場合はそれぞれにライセンス料を支払わなくてはならないので、結構なお値段になります。まぁ、それに見合うソフトなので、払いますけどね。
おまけ
ところで、PhpStorm をつくっている JetBrain は、JavaScript、HTML、CSS 用として「WebStorm」というソフトも出しています。PhpStorm は WebStorm の上位版というか、
のようです。なので両方買うは必要なさそうです(敢えて自信のない書き方をしているのは、自分で確かめたわけではないからです)
あと、たまに半額キャンペーンやっています。気になる人は、とりあえず30日体験版を試してみて、半額キャンペーンやってるときにサクッと買っちゃえばいいと思います。
参考サイト
- PHP IDE :: JetBrains PhpStorm
- 最強のJavaScript IDE「WebStorm」の姉妹品「PhpStorm」はPHP IDEとして最高だった ::ハブろぐ
- モダンなIDE PhpStormのPHPエディタ機能 | バシャログ。
- モダンなIDE PhpStormのエディタ機能 2 HTML編集時の便利機能4つ | バシャログ。
- 最強のJavaScript IDE 「WebStorm」を使ってみた | Web scratch
このエントリーのつづき
- 813 http://www.google.co.jp/url?sa=t&rct=j&q=裁断機&source=web&cd=6&ved=0CHwQFjAF&url=http://d.hatena.ne.jp/inouetakuya/20100512/1273624430&ei=q58FT5-kNJCZmQWgoYCfCA&usg=AFQjCNFy6eET3E_alV69YGNRpWaQg5gW3g&sig2=FPBhRTkdNIqus5qh
- 546 http://www.google.co.jp/url?sa=t&rct=j&q=ipad pdf&source=web&cd=1&sqi=2&ved=0CD4QFjAA&url=http://d.hatena.ne.jp/inouetakuya/20100915/1284512803&ei=SJoFT4S8KeLTmAX4gZ2TBg&usg=AFQjCNHAnG7kG3dXEmWqo-M0cxZuO0Oiaw
- 341 http://search.yahoo.co.jp/search?p=PDF+圧縮&search.x=1&fr=top_ga1_sa28s&tid=top_ga1_sa28s&ei=UTF-8&aq=3&oq=pdf+
- 336 http://www.google.co.jp/url?sa=t&rct=j&q=自炊 scansnap ファイン&source=web&cd=1&ved=0CCQQFjAA&url=http://d.hatena.ne.jp/inouetakuya/20100813/1281655901&ei=1rAFT-uoC43ImAWRvPiDAw&usg=AFQ
- 303 http://www.google.co.jp/url?sa=t&rct=j&q=pdf 圧縮&source=web&cd=7&ved=0CHEQFjAG&url=http://d.hatena.ne.jp/inouetakuya/20100530/1275186244&ei=t8wFT8KxF-LhmAWmz4inAg&usg=AFQjCNHdTwpTXJgyiconUr7po4z6EKlAeg
- 284 http://www.google.co.jp/url?sa=t&rct=j&q=pdf+圧縮&source=web&cd=7&ved=0CGcQFjAG&url=http://d.hatena.ne.jp/inouetakuya/20100530/1275186244&ei=56sFT-6SJIzJmAWhpNCGAw&usg=AFQjCNHdTwpTXJgyiconUr7po4z6EKlAeg
- 280 http://nanapi.jp/2514/
- 269 http://nanapi.jp/2232/
- 224 http://d.hatena.ne.jp/moto_maka/20111114/1321212634
- 217 http://search.yahoo.co.jp/search?p=裁断機&search.x=1&fr=top_ga1_sa&tid=top_ga1_sa&ei=UTF-8&aq=&oq=







