ワシはワシが育てる

週刊少年ジャンプと任天堂のゲームが三度のメシより好きです。

RubyMineが最強すぎて感動する

最近Qiita界隈でRubyMine特集がされていたこともあって、RubyMine使ってみたら最強すぎて感動しました。

理由は色々ありますが書くのが面倒なので箇条書きにします。

  • 補完が想像以上に強力
    • gemでも、環境依存ファイルの定数でも補完してくれます
    • エディタが空気を読んで型を取ってくれるので、データベースカラムに相当するモデルインスタンスメソッドすら補完してくれます(これ超重要!)
  • 動的言語なのに元ソースに飛べる
    • 上に書いたように変数の型をエディタが察してくれるので、対応するメソッドなどにジャンプしたり、逆に使用されている箇所も一覧で表示できます(ただし静的言語ほど正確ではない)
    • 型情報から引数がおかしい場合は、素晴らしいことにちゃんとエラーを出してくれます
  • リファクタリングが便利
    • JetBrains系ではお馴染みですがリファクタリングが便利です。スコープ内の変数名の変更が定番ですが、クラス名などグローバルな名前は型情報からプロジェクト全体のリファクタリングをしてくれます。(上述したとおり静的言語ほど正確ではないので、大規模な変更は実用的ではない)
  • 関連ファイルにすぐ飛べる
    • コントローラーに対応するview、モデルに対応するrspecなど関連するファイルは一覧で表示され、すぐにジャンプすることができます。
    • viewではインスタンス変数を汲み取ってくれるので、おかしな変数を使っていたら警告を出してくれます。
    • viewを書いてて分割したくなったらすぐにpartial化することができます
  • バージョン管理が楽ちん
    • プロジェクトに対応するgitを自動で読み込んでくれます。
    • コミットログから差分を「-」「+」ではなく、実際の前後バージョンを確認できます。
    • 当然リモートのリポジトリも対応しています。

まだまだ書き足りないですが、とにかく「かゆいところに手が届く」という言葉につきます。
もっと早く使っていればよかった。。。