Tech Racho エンジニアの「?」を「!」に。
  • 開発

Rails開発のイケてるIDE RubyMineを使う(1)紹介編

※本投稿におけるスクリーンショットは僕の個人的なプロジェクトのものです.社内で扱っているプロジェクトとは関係ありませんのであしからず.

プログラミングにおけるエディタの選択は,開発者にとって非常に大事です.Emacs/vimの宗教戦争なんかは有名ですよね.
最近ではピュアなテキストエディタだけでなく,Web開発などの用途に特化し,ファイラ機能やその他開発に必要な機能を多く備えたIDE(Integrated Development Environment:統合開発環境)が標準化しています.
JavaにおけるEclipseなんかは非常にIDEの成功したケースですよね.今やJava開発でEclipseが無いという状況は考えられないと思います.

さて,Rails開発においてのエディタ/IDE事情はといいますと,MacではTextMate/Aptana,WindowsではAptanaなんかが僕の周りでは良く使われているようです..
しかし,割と使われている気配のあるAptanaですが,個人的には結構イマイチの印象です.動作が重い割には入力補完やコードハイライト・フォーマッティングがあまり精度が良くなく,今ひとつ洗練されていない印象を受けます.そのため僕はAptanaを使い始めた後,結局TextMateに戻ってしまいました.

そんな微妙なRails IDE界隈ですが,半年ほど前にRubyMineというイケてるIDEがあると教えてもらい,使い始めてみました.すると,触れば触るほどかゆいところに手が届くすばらしいクオリティであることが分かり,ここ最近のRails開発は完全にTextMateからRubyMineに移行してしまいました.
使ってみると分かりますが,RubyMineはJava開発におけるEclipseと同レベルの開発環境改善効果があるので恐らく今後のRails IDEのスタンダードになっていくのでは無いかと思います.日本ではまだあまりメジャーではないみたいなのですが,使い始めたら止められなくなります.

何が他のIDEに比べて良いのか,という点をざっくり挙げてみます.他にもたくさん紹介していきたいですが,わかりやすいものから.

RVM/bundler等を使った複数のRuby/Gemset環境対応
数年前のプロジェクトだと1.8系のRubyを使わないといけなかったりしますが,そんなプロジェクトを抱えている環境にも対応しています.
現在僕はRails 2のプロジェクト,Rails 3.1系のプロジェクト,Rails 3.2系のプロジェクトを混在して抱えていますが,RVM対応&bundler対応でIDEレベルで問題無く対応できています.

強力なコードフォーマット機能
Viewのコードを書いていると,一つのファイルの中に少なくともHTMLとRubyのコードが混在する様になります.
きれいにRailsの流儀に従って書けばあまりスパゲッティになることは無いのですが,実装の都合や開発の都合から,どうしてもHTML/Ruby,場合によってはJavaScriptのコードが混在してしまうことがあります.多くのエディタでは,HTMLの中にRubyのコードがあるとうまくインデントをしてくれないことがありますが,RubyMineでは相当複雑なコードになってもきれいにインデントしてくれます
正直このコードフォーマットのためだけにRubyMineを導入しても良いレベルです.

あいまい検索可能なファイル呼び出しや各種便利ショートカット
優秀なエディタやIDEの特徴として,できる限りキーボードから手を離さずに作業ができることが挙げられます.RubyMineではその辺りも充実しています.
他のIDEにはあまりない機能として,ファイル名呼び出しのあいまい一致があります.
他のエディタでも実装されているファイル名からの直接呼び出し(TextMateであればCommand + T)について,RubyMineでは完全名だけでなく,複数単語での検索に対応しています.

見た方が早いので,以下の画像を参照して下さい.

こんなのもいけます.

ディレクトリ構造もいけます.

Rails流儀では,controller名は複数形,model名は単数形だったりしますが,いちいち考えずに先頭数文字を打ち込んで検索できるこの機能はかなり優秀です.使ってみると便利さが分かります.

Gitを始めとするVCS連携
当然GitやSVNといったVCSが統合されています.
Gitのブランチ表示にも対応しており,Towerやgitkなどで閲覧するのと同等のViewerが付属しています.Diff表示なども可能です.

Eclipse的なGUIベースでのデバッグ
Eclipseの様に,コード中にbreak pointを設定し,変数の状態を見ながらのステップ実行が可能です.流石にプロジェクトのサイズによってはやや動作は重いですが,あるのと無いのでは大違いです.

あまりデバッガに頼り切りというのは良くないですが,最終手段の一つとして.

そんなRubyMineですが,残念ながら無償ではありません.個人向けのPersonalライセンスが60 USD,法人向けのCommercial Licenseは149 USDとなっています(アカデミック版は29 USD).OSSライセンスやClassroomライセンスはフリーなので,該当する場合は無償で使うこともできるみたいです.
少々値は張りますが,とりあえず30日は無料で使えるので試してみる価値は十分にあると思います.

  • 最近RubyMine 5が出て価格改定されています.Personalが99 USD,法人が199 USD,アカデミックが29 USDです(13/04/05)

次回からは便利なTipsなんかを紹介していければ良いと思っています.


CONTACT

TechRachoでは、パートナーシップをご検討いただける方からの
ご連絡をお待ちしております。ぜひお気軽にご意見・ご相談ください。