RubyMineとは

RubyMineは JetBrainsが提供するRuby/Ruby on Railsに対応したIDEだ。JetBrainsは本連載でも何度か紹介しているJava IDE、IntelliJ IDEAの開発元として有名だ。RubyMineはIntelliJ IDEAのプラットフォーム上に構築されており、IntelliJ IDEAにプラグインとして組み込むことも可能だ。

RubyMineはまだ正式にはリリースされておらず、現在はパブリックプレビュー段階ではあるものの、無償でダウンロードして利用することができる。

なお、RubyMineで開発を行うには別途Rubyの処理系(Railsで開発する場合はRailsも)をインストールしたうえでRubyMine上で設定を行う必要がある(FileメニューのSettingsで設定可能)ので注意してほしい。

図1 Rubyインタプリタの設定

基本機能はしっかり押さえている

ソースコードのシンタックスハイライト、コード補完やアウトライン表示、構文チェックなどコード編集における基本的な機能はしっかりと押さえられているほか、変数やクラス、メソッドの定義部分へのジャンプなどナビゲーション機能も充実している。また、細かいところではソースコードのフォーマット(CTRL + ALT + L)や、コメントの切り替え(CTRL + /)なども可能だ。

図2 ソースコードの入力補完

リファクタリング機能でクラスやメソッド、変数などのリネームを行うことも可能だ。このあたりは最近のIDEであれば当然といったところだろうか。

図3 リファクタリング機能

デバッグとテスト

RubyMineではもちろんデバッグも可能だ。RubyMine上でデバッグを行うにはgemコマンドでFast Debugger(ruby-debug-ide)をインストールしておく必要がある。デバッガの操作自体は一般的なIDEと同様なので、とくにとまどうことはないだろう。

また、テスティングフレームワークとしてはRSpec、Test::Unit、test/specの3種類が標準でサポートされている。

Rails開発のサポート

冒頭の通り、RubyMineはRuby on Railsでの開発もサポートしており、以下のような機能を提供している。

  • Railsプロジェクトの作成
  • Rakeの実行
  • generateコマンドを実行するウィザード
  • RHTMLやYAML向けのエディタ
  • Rails固有のコード補完、ナビゲーション機能

図4 Railsプロジェクト

generateコマンドを実行するウィザードはメニューのほか、ALT + INSERTというキーボードショートカットからポップアップメニューを呼び出すこともできる。このメニューから上下キーで利用したいウィザードを選択することが可能だ。頻繁に利用するウィザードをキーボードだけで呼び出すことができるので作業効率の向上に役立つことだろう。

図5 ALT+INSERT

エディタ周りではActiveRecordのモデルに対する補完や、コントローラのアクションメソッド名の補完、RHTMLでもヘルパーのメソッドやコントローラのインスタンス変数を補完できるなどコード補完機能は非常に充実している。また、コントローラとRHTMLの相互ジャンプができるなど、Rails固有のナビゲーション機能も地味ながら便利だ。

図6 Rails向けのコード補完

RubyMineではコード補完やナビゲーション機能、洗練されたキーボードショートカットなど、細かい部分も丁寧な作り込まれており、派手さはないものの使い込むほどに便利さがわかるはずだ。IntelliJ IDEAのエッセンスを強く感じることができる部分といえるだろう。

まとめ

Ruby/Rails向けのIDEとしてはすでにAptanaやNetBeansなどが存在するため、RubyMineはRuby向けのIDEという分野では後発だ。特にNetBeansでのRuby/Railsサポートは非常に強力で、機能面のみならず処理系としてJRubyを同梱していることでセットアップの手間がかからないというメリットがある。

これと比べるとRubyMineは機能面でNetBeansとの大きな差異は見当たらず、後発ならではのメリットがあるというよりも、IntelliJ IDEAのエッセンスを受け継いだエレガントさと使い勝手の良さが魅力のIDEといえるのではないだろうか。

なお、本稿執筆時点ではパブリックプレビュー版ということもあってか、RubyMineに若干動作の不安定な部分も見受けられた。しかし機能面では完成度の高いRuby IDEであることは間違いない。正式リリースが楽しみだ。