2012-12-18

#jbugj RubyMineがとても良い件。

はじめに:Rubyのデバッグ環境に困ったこと

またまたRedmineの関係ですが、Redmineのプラグインを書くうちに公開したくなってきて、でも、コードも綺麗じゃない、しせめてデバッグやテストはちゃんと出来るようになりたいな...と思うようになり、今年のはじめ、Windowsの環境にRuby, NetBeansを入れて、なんちゃってながらもデバッグとテストができるようにしました。(注:偉そうなことは言えず、フルスクラッチでコードを書く能力はありません....)

その後、RedmineがRuby1.9, Rails3.2対応になってしまったので、また環境を作りなおさなくっちゃ...と思っていたところ、NetBeansがバージョン7からRubyの公式サポートを止めてしまったとのこと。

プラグインを使えばもちろん利用はできますが、デバッグをしようにも、テストしようにも、どうにも面倒...。AptanaというIDEも教えてもらったのですが、こちらはeclipseがベースらしく、個人的にはあまり相性が良くないので、やっぱり止めました。

そうこうしているうちに、Macに乗り換えることになりました。
改めてNetBeans7.1 + Ruby1.9の環境を作ったのですが、デバッグは出来るものの、とにかく重い!途中でハングしたような状態になってしまいます。

世の中のMac userがこんな環境でコード書いている訳が無い!と思ってRedmineの関係の方に聞いてみたところ、春からRubyMineを使ってます、とのコメントを頂きました。それがRubyMineを知るきっかけでした。

RubyMineを入れてみたよ



ということで、早速インストール。

基本的には、『プロジェクト』という単位でコードを扱いますので、eclipseやNetBeansとそんなに変わりません。わたしの場合は、いつも通りRedmineをプロジェクトとして設定してみたところ、問題なくRailsアプリケーションとして認識してもらえ、起動/デバッグのメニューもすんなり起動してくれました!

さて、その後、ターミナルからプロジェクトフォルダを眺めてみると、フォルダ直下に、.idea というフォルダがあるのを発見しました。
こちら、Jenkins繋がりで、IntelliJラブな今井さんのお話を聞いたときに耳にしたフレーズです。(修正:『イデア』と読むと思い込んでいたら、やっぱり『アイディア』らしいです、すみません... )
あれれーと思ってTweet してみると、今井さんと山本さんから、さっそくそのあたりを教えていただきました。


  • RubyMine入れてみたら、対象のフォルダに.idea っていうフォルダができてるんですが、どっかで聞いたなーと思ったら IntelliJ。IntelliJの親戚なのでしょうか??
  • IntelliJから機能削ってRubyプラグイン仕込んだのがRubymineです。d.hatena.ne.jp/masanobuimai/2
  • 親戚ですよー。IntelliJ IDEAからRuby用の機能だけ抜き出したのがRubyMineです
IntelliJが奥様のお小遣いではとっても買えない額だとは今井さんに聞いていたので、さぞかしRubyMineも高いんだろうな〜と思いつつ、ひとまず使ってみることにしました。

全然ハングしませんよ!

さて、実際の稼働ですが、IDE慣れている方なら、ほぼ意識せず、普通に使えます。(ただし、残念ながら表示/メッセージは英語です)
しばらく使っていて「あれれ?」と思ったのが、全然ハングしないこと!NetBeansのアレは何だったのか?と思いくらいに快適です。その旨つぶやいたら、また今井さんに怒られました(^^;


  • あやまれ、RubyMineにあやまれ!:-P RT @akiko_pusu: NetBeansにくらべると、RubyMine動作軽いですね…

 

謎のおじさんがいる!

そうこうしているうちに、画面の右隅に、帽子をかぶったおじさんを発見しました。


なんですか?これってJenkinsさんの親戚?と思って、またもつぶやいてみたところ、これまた今井さんからのお言葉が。


  • @akiko_pusu Hectorおじさんです。ナメたコードを書くとビシバシ文句言って来ます。:-)
なるほど、改めて見てみると、RubyMineのコードインスペクションがもの凄い事になっています....。コーディング規約から外れたもの、スペルミス、Deprecatedなものを使ってたりすると、黄色いマークがコードの右にいっぱい付きます。自分の書いたもので問題ないのは、Readmeくらいでした..... orz

このInspectionがうざい!という方は、レベルを調整したり、OFFにしたりできるようです。

 

スクリーンショットを載せます

以下は、RubyMineのスクリーンショットです。基本的にSCMと連携して、RubyMine内でコミットやpush/pull/ブランチ作成など出来ます。


コード中のTODO:も別画面で抽出/チェックできます。コミット前のタスクなど、コメントはいっぱい書く気がでます〜!



心配していたデバッグ、テストもちゃんと出来ます。良かった!



Coverageも取ってくれます。(ソースフォルダとかにcoverageが生成されず、RubyMineの中で閉じてくれるみたいです)




ただいま、rbenvを使ってRubyの環境を切り替えて使っていますが、こちらも問題なさそうです。

ライセンスは?

そんなこんなで、もうすぐ評価期間が終わってしまいます。IntelliJにくらべると、個人ユースなら69$ってとこなので、奥様のお小遣いでも大丈夫かとは思います:)

ちなみに、IntelliJをはじめ、JetBrainsのツールは、オープンソースプロジェクト用ライセンスというものがあって、オープンソースで活動しているプロジェクトには、無料でライセンスを提供してくれるそうです。素晴らしい!

そして、『これは良いなー』としみじみ思っていた矢先に、JetBrainsユーザーグループの勉強会の件を知りました。
残念ながら、平日夜も含め勉強会は出られないので、みなさんのTweetや資料を拝見しつつ、なるほど〜と勉強させていただいているところです。

Jenkins由来でIntelliJのことは知っていましたが、自分には全く縁の無いツールだと思っていたので、少しだけその世界を覗く事ができて、自分でも意外に思っています。
そして、名も無いユーザのTweetにもお返事を下さった今井 () さん、山本 () さん、どうもありがとうございました!

個人的に、とても良いツールだというのが実感できましたので、会社でもちょっとずつ宣伝していこうかと思っています。

記事の修正など

.ideaは、アイディアという指導をいただきましたので、訂正を行いました。
 

2 件のコメント:

  1. 節子、イデアちゃうアイディアや。(´・ω・`)

    返信削除
  2. うわー!そそそうだったんですか!

    返信削除