こんにちは。サーバーチームの森長です! 今年の1月にサーバーサイドエンジニアとして入社しました。 趣味は、スポーツ、旅行、音楽フェス参戦ですが、昨今のコロナ禍の影響もありインドアな趣味を探し続けております。
今回は、3ヶ月ほど前から弊社の一部メンバーで使い始めたRubyMineについてお話します。
RubyMineとは
RubyMineはRuby on Rails向けのIDE(統合開発環境)です。JetBrains社によって開発されています。 コード補完、定義元へのコードジャンプなど開発を効率的に行うための便利な機能が備わっています。
30日間は無料でお試し可能です。詳しくは公式サイトをご覧ください。
使い始めた経緯
弊社のサーバーサイドの開発はほとんどRuby on Railsを使用しています。
新メンバーがジョインした際に、前職で使っていたRubyMineをおすすめしてくれました。それをきっかけに弊社でも会社負担でライセンスを購入して、希望した一部メンバーでRubyMineを使い始めました。 ちなみに、それまではサーバーチームは主にVisual Studio Codeを使っておりました。
良いところ
RubyMineを使っていく中で、良いなと感じた機能をいくつかご紹介します。
コードジャンプ
⌘ + B
でコードの定義元にジャンプできます。既存コードを読む際に重宝します。特に弊社のサービスは歴史も長く、コードを追うことに課題を感じていたので、とてもありがたい機能です。
ViewからControllerへのジャンプもできます。gemが提供するメソッドなどにもジャンプが可能です。
公式に詳細な紹介があります。
Search Everywhere(どこでも検索)
Shiftを2回押すとあらゆる検索ができます。「このクラスを開きたい」「RubyMineのこの機能のショートカットなんだっけ?」など、困った時はまず「どこでも検索」を使います。
例えば、「テストコードを実行するショートカットなんだっけ?」と思ったら、Shiftを2回押して「test」などと入力するとサジェストしてくれます。タブで「Actions」などを選択すると、検索の対象が絞られ求めている検索結果が得やすくなります。
Structure(構造ビュー)
ファイルの構造をツリー上でみれる機能です。テストコードを書くときに特に重宝しています。テストケースを俯瞰して見られるので、テストケースの漏れに気づきやすくなったり、テストケースが多いテストコードでも理解しやすくなります。
静的解析機能(Rubocopなど)
コードを書いた瞬間に指摘を表示してくれます。また、自動修正できるものに関しては⌥+ ⏎
で、すぐにコードを修正できます。
コマンドを打たずにRubocopを実行し修正でき快適です。
Code With Me
Visual Studio Codeで言うところの「LiveShare」のようなリモートペアプロ機能です。
ビデオ通話機能も内包されているためエディタとビデオツールを開く必要がなく、RubyMineだけで完結するところが良いなと感じました。
現状、弊社では利用していないのですが、個人的には今後機会があれば使っていきたいなと思っています。
こちらも公式に動画付きの詳しい紹介があります。
Git
RubyMineからGitが使えます。コードを書きながら差分の確認ができたり、エディタから離れずコミット、プッシュができてとても楽です。
コマンドラインでも特に困りはしないのですが、GUIでブランチの状態を確認できるので見やすいですし、mergeやrebaseなどをする際は安心感があります。
DBクライアント
RubyMineにはデータベースツールもあります。接続情報を設定することで、RubyMine内のウィンドウでDB操作が可能です。
私は推しDBクライアントがあるのでRubyMineのこの機能は使ってないですが、エディタから離れず済むのは魅力に感じるので、そのうち乗り換えるかもしれません。
まとめ
上記で挙げた機能は、他のエディタでもプラグインを入れて利用可能なものもありますが、あらかじめ便利な機能が提供されていることがRubyMineの嬉しいところかなと思います。
また今回のRubyMine導入を通じて、エンジニアが生産性を上げるために使いたいと思ったツールを迅速に使えるようにしてくれる弊社の対応もとても良いなと感じました。