読者です 読者をやめる 読者になる 読者になる

彼女からは、おいちゃんと呼ばれています

ウェブ技術や日々考えたことなどを綴っていきます

Emacs 厨だけど、PHP IDE「PhpStorm」だけはベツバラな理由

PHP Emacs

少し前に、ペパボの JavaScript 厨なひとに、PHP 用の IDE「PhpStorm」を薦めてもらいました。有料のソフトなのですが 30日間は無料で使えるし、モノは試しだと思って使ってみたところ、大変良かったので紹介します。

Emacs 厨だけど、PhpStorm だけはベツバラな理由

  • Emacs 厨だけど、PhpStorm はベツバラな理由
  • Aptana Studio との比較
  • Emacs との比較、使い分け
  • その他 - 他の IDE との比較
  • おまけ

Emacs 厨だけど、PhpStorm はベツバラな理由

言うまでもなく Emacs は素晴らしいですし、これからもお世話になると思いますが、いまは PhpStorm と併用して使っています。PHP に限って言えば、PhpStorm の方が使用頻度が高いかもしれません。そうなった理由は、

定義元にジャンプする機能が賢すぎて、コードリーディングが 10倍ラク

だということ。

実はこれまでにも EclipseNetBeansAptana 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 が推されていたので採用してみました。

みるみるプログラミングがわかる本

みるみるプログラミングがわかる本

紹介されていたとおり、最初からひと通り使えました。ただ、ひとつひとつの機能を比較してみると、Eclipse の方が優れていた印象を受けました。例えば、ファイルの構造(Structure)を表示させたときの分かりやすさとか。

(3) Aptana Studio

その後知った Aptana Studio は、Eclipse ベースで、しかもプラグインなしで使える、という点で、EclipseNetBeans の良いとこ取りだなという印象を受けました。そして、どことなく垢抜けている。見た目も大事なので。

というわけで NetBeans から乗り換えましたが、少し規模の大きいコードを編集していると、ときどき固まったりしていました。また、同じ頃に id:rubikitch さんの下記書籍とかも読んで Emacs を格段にパワーアップさせていたので、コーディングは EmacsデバッグAptana Studio というスタイルに落ち着き、これまでに至っていました。

Emacsテクニックバイブル ?作業効率をカイゼンする200の技?

Emacsテクニックバイブル ?作業効率をカイゼンする200の技?

(4) PhpStorm

そして、PhpStorm。自分でプラグインを入れたりしなくても、最初からひと通り使えます。多機能ですが、メニューが整理されているのか、ごちゃごちゃした印象はなく、使いたい機能にすぐにたどり着けます。

あと、見た目もオシャレですね。そして前述したように、コード解析が賢い。他にも良い点はたくさんありますが、あとはページ下部の参考サイトを参照してください。

逆にもう少し改善してもらいたいところは、起動時の遅さ。そこでインデックスを再構築してその後の処理を速くしているので一長一短なのですが。

そして、値段ですかね。PHP なら PhpStorm、Python なら「PyCharm」、Ruby なら「RubyMine」と、ソフトウェアが分かれていて、複数の言語を扱う場合はそれぞれにライセンス料を支払わなくてはならないので、結構なお値段になります。まぁ、それに見合うソフトなので、払いますけどね。

おまけ

ところで、PhpStorm をつくっている JetBrain は、JavaScript、HTML、CSS 用として「WebStorm」というソフトも出しています。PhpStorm は WebStorm の上位版というか、

PhpStorm = WebStorm + PHP 開発機能

のようです。なので両方買うは必要なさそうです(敢えて自信のない書き方をしているのは、自分で確かめたわけではないからです)

あと、たまに半額キャンペーンやっています。気になる人は、とりあえず30日体験版を試してみて、半額キャンペーンやってるときにサクッと買っちゃえばいいと思います。

ではでは。