RubyMine は、コードの記述とデバッグからテスト、そして完成したアプリケーションのデプロイに至るまで、Ruby/Rails プロジェクト開発のあらゆる側面において、生産性の向上に役立つ統合開発環境です。 このセクションでは、RubyMine の最も基本的な機能の一部を簡単に説明します。
エラーのないコードを、スマートで型対応のコード補完機能、インテリジェントなコードインスペクション、ライブ テンプレート、およびインテンションアクションでより素早く記述できます。
自動補完機能でコーディング作業を高速化。 入力の最中に、一致する変数、メソッド、およびキーワードのリストを提案します。
補完機能は Ruby と Rails、JavaScript と CoffeeScript、ERB、HAML、CSS、および Sass で機能します。
素早く安全な名前の変更と削除リファクタリングで、コードをリファクタリングできます。 正確な変数、パラメータ、メソッドまたはスーパークラス、定数の導入など、あらゆるリファクタリングを実行できます。
すべてのリファクタリングは Ruby on Rails 対応であるため、コントローラの名前変更によって、関連するヘルパー、ビュー、およびテストの名前変更も行われます。
あらゆる言語で一貫したコードスタイルを構成し、使用することができます。 インデント、スペース、整列ルールなどの書式設定を設定し、チームメンバーと共有することができます。
RubyMine は、コーディングの最中に構成済みのコードスタイルを自動的に適用します。またはすべてのファイルを一度に再フォーマットすることも可能です。
ポップアップでドキュメントを表示し、インテンションアクションを使って欠落している YARD タグを作成し、その有効性を確認できます。
RubyMine はより優れたコードインサイトを得るために YARD 注釈を使用しているため、メソッドのコード補完とパラメーターヒントに関連性の高い結果を提案することができます。
ライブテンプレート(またはコードスニペット)を使用すると、コードに最も一般的なパターン構造を使用している場合の入力作業量を縮減することができます。 既存のテンプレートをカスタマイズし、独自のテンプレートを作成できます。
到達不能コード、呼び出し引数の誤った数、未使用の変数など、エラーやコードの臭いがあることを常に確認できます。
IDE が提案するクイックフィクスを適用すれは、こういった問題は自動的に解消されます。
強力なナビゲーションと検索機能を使用して、プロジェクト内のあらゆるものがどのように機能しているのかを素早く特定することができます。
クリック 1 回で、宣言、スーパーメソッド、テスト、使用箇所、実装などに移動することができます。 プロジェクトエンティティにジャンプできるだけでなく、外部 gem 内の定義にも移動できます。
RubyMine は、ソースコード内の項目、ユーザーアクション、または UI 要素など、ユーザーが探しているものを検索するのに役立ちます。 Shift を 2 回押し、検索対象の名前を入力してください。
RubyMineは主要なウェブ開発手法をすべてネイティブにサポートし、Railsでの生産性を高めます。
RubyMine は Rails の概念を認識し、コードインサイト機能を強化します。 例:
RubyMine は、波括弧、折りたたみ、シンタックスハイライト、コード補完などにより、ERB ビューの編集サポートを提供しています。 HAML や Slim ビューを使用している場合、HTML コードのコーディング支援と共に、挿入された Ruby コードのシンタックスハイライトが行われていることがわかるでしょう。
Navigate | Related Symbol コマンドを使用して、Rails コントローラ、アクション、ビュー、モデル、データベーススキーマ、およびテスト間を素早く移動することができます。
Rail ジェネレータに迅速かつコンテキストに応じてアクセスできる UI を使って、モデル、コントローラ、および移行などの新しい Rails エンティティをプロジェクトに追加できます。
エディター内でインテンションアクション使ってローカルプロパティを作成または編集したり、インスペクションを実行して欠落しているキーを検索したり、ローカライズされた値をプレビューしたりすることができます。
RubyMine は、Rubocop、Bundler、Rake などの人気の高い Ruby ツールと密に統合する機能が備わっています。
Bundler 統合を使用して、アプリケーションの gem 依存関係を IDE 内から処理することができます。 Run Anything ポップアップから直接 Bundler コマンドを実行できます。
RVM、rbenv、asdf、および chruby など、さまざまな Ruby バージョンをバージョンマネージャを使って素早く切り替えることができます。 または、IDE で RVM および rbenv gemset を使用することができます。
Run Anything ポップアップを使用して(Ctrl をダブルクリック)、プロジェクトのあらゆる Rake タスクを実行できます。 また、ガターアイコンを使うと、エディターから直接タスクを実行することもできます。
IDE 内で直接 Rubocop offense(違反)を修正できます。またはプロジェクト全体をチェックし、1 つのレポートにすべての RuboCop 警告を表示することもできます。
テストの生成、実行、および管理を簡単に行えます。 RubyMine は人気の高いすべてのフレームワークをサポートしています。
定義済みのカスタマイズ可能なテンプレートからテストを生成できます。 クラスからテストに移動し、テスト対象へのパスに基づくディレクトリ構造を複製する方法でも、テストを作成できます。
RubyMine では、テストとテスト対象間を素早く移動することができます。 FactoryBot を使用している場合は、モデルからファクトリーまたはその反対にもナビゲートすることができます。
SimpleCov との統合を使用して、どれくらいのコードがテストでカバーされてるのかを測定することができます。 別のツールウィンドウとエディターでファイルと行のカバー率を分析したり、HTML レポートを生成したりすることができます。
RubyMine には、Ruby、JS、および CoffeeScript 用のグラフィカル UI を備えた高度なデバッガが備わっています。
RubyMine には Ruby 用の視覚的なデバッガが提供されています。 利用できるすべての情報に素早くアクセスでき、ステップごとにコードを実行することができます。
コードの行にブレークポイントをを配置し、ヒット条件を定義します。コードの実行を停止するかどうかを決定するために一連のブール式が評価されます。
任意のメソッド呼び出しまで進むか、現在の行でブロックすることができます。 複数のメソッド呼び出しまたはブロックが存在する場合、希望するターゲットを選択することができます。
対話型の IRB のようなコンソールを使用して、中断されているプログラムの状態を確認できます。 このコンソールでは、変数の値を確認し、複雑なオブジェクトの調査、メソッドの呼び出しなどを行えます。
Docker、Vagrant、SSH、または WSL などのリモートインタプリタを使用してプログラムをデバッグできます。 また、リモートプロセスを添付してデバッグすることも可能です。
IDE を終了せずに、人気の高いバージョン管理システムを使用できます。変更履歴の参照、ブランチの管理、競合のマージなど、さまざまな操作を行えます。 VCS を使用しない場合でも、ローカル履歴を使用して、コミット間で行われた変更を検索して復元することができます。
IDE と Git および GitHub、Mercurial、Subversion、Perforce などを連携することができます。
コミットツールウィンドウでは、コード解析の実行、コードに残されている TODO の確認、およびコードの再フォーマットが可能です。
バージョン管理システムが有効化されていない場合でも、削除したファイルを復元したり、個別の変更内容を呼び戻したり、ファイルの任意の状態にロールバックしたりすることができます。
RubyMine で受信するプルリクエストを管理できます。 プルリクエストの閲覧からコメントの送信と変更の受け入れまで、IDE を終了せずに、プルリクエストのワークフロー全体を完了することができます。
ショートカット、インターフェースのテーマ、およびプラグインをカスタマイズし、自分好みにセットアップすることができます。 JetBrains Mono は開発者用に作成されたオープンソースの無料書体で、すべての JetBrains IDE のデフォルトフォントです。
RubyMine には、複数のエディターカラースキームがバンドルされており、独自のカスタムスキームの作成や既存スキームの変更なども行えます。
生産性を高めるために、すべてのタスクをキーボードで行うことができます。 定義済みのキーボードレイアウトを選択するか、独自のレイアウトを作成することができます。
RubyMine には、特定の使用パターンに応じたビューモードがあります。 たとえば、コード以外のすべての UI 要素を非表示にし、作業の障害となるものすべてをオフにすることができます。
プラグインを使って RubyMine を拡張することで、VCS の追加サポート、様々なツールとフレームワークとの統合、およびエディターの機能強化を行えます。 Marketplace タブを使って、プラグイン Marketplace のプラグインを参照してインストールできます。
データベースプラグイン、ターミナルエミュレーター、Capistrano サポートなどを使って、使い始めからワークフローを合理化できます。
IDE 内でコマンドラインシェルを使って作業するには、組み込みのターミナルエミュレーターを使用してください。 専用のターミナルアプリケーションに切り替えることなく、Ruby 環境と連携し、Git コマンドの実行やほかのコマンドラインタスクの実行を行えます。
バンドルされた Database Tools and SQL プラグインを使用して、データベースを確認し、編集することができます。 このプラグインは、MySQL、PostgreSQL、SQLite などのデータベース管理システムをサポートしています。
HTTP クライアントが統合されているため、IDE 内で API をテストできます。 エディター内で直接 HTTP リクエストを作成して実行することが可能です。
Docker、WSL、Vagrant、または SSH を使ったリモート環境で、コードの実行、デバッグ、およびテストを行えます。 リモートインタプリタを構成するだけで、利用可能です。
RubyMine では、デプロイメントツールとの連携も可能です。 IDE から Capistrano タスクを実行したり、YAML 形式の Kubernetes 構成ファイルと連携したりなどを行えます。