RubyMine 2025.1 ヘルプ

RubyMine クイックスタート

RubyMine は、コードの作成とデバッグから完成したアプリケーションのテストとデプロイまで、Ruby/Rails プロジェクト開発のあらゆる側面で生産性を高めるのに役立つ統合開発環境 (IDE) です。RubyMine は、macOS、Windows、Linux などのさまざまなプラットフォームで利用できます。

このチュートリアルでは、Ruby on Rails チュートリアル(英語)用に作成されたサンプルアプリケーションのフォーク(英語)を使用して、RubyMine の主な機能を紹介します。このチュートリアルを開始する前に、次のことを行ってください。

macOS にインストールされた RubyMine を使用してすべての手順を実行します。

プロジェクトのクローンを作成する

まず、サンプルアプリケーションを含むリポジトリをクローンする必要があります。

  1. RubyMine を実行し、ウェルカム画面リポジトリのクローンをクリックします。

    Welcome Screen / Clone Repository
  2. リポジトリのクローンダイアログで、次の操作を行います。

    Clone Repository dialog
    • バージョン管理フィールドで Git が選択されていることを確認してください。

    • 次のアドレスを URL フィールドに挿入します。

      https://github.com/JetBrains/sample_rails_app_7th_ed.git

    クローンボタンをクリックします。RubyMine は、クローン作成プロセスを示す進行状況バーを表示します。

  3. リポジトリのクローンを作成した後、RubyMine はプロジェクトを開き、インデックス作成プロセスを開始します。ステータスバーで進捗状況を確認できます。

    Indexing

    RubyMine は、プロジェクトのインデックスを作成してソースを分析し、使用可能なファイル、クラスおよびメソッドの定義などに関する情報を収集します。これは、コード補完ナビゲーションなどのコードインサイト機能に必要です。

Ruby インタープリターを選択し、gems をインストールする

プロジェクトを開いた後、必要な Ruby インタープリターを選択し、プロジェクトの Gemfile で指定された依存関係をインストールする必要があります。

  1. Ctrl+Alt+S を押して環境設定ダイアログを開きます。

  2. 言語 & フレームワーク | Ruby インタープリターページに移動し、必要なインタープリターを選択します。

    Select Ruby interpreter

    OK をクリックします。

  3. 次に、Gemfile で指定された gems をインストールしましょう。RubyMine を使用すると、Bundler(英語) を使用して gems を管理できます。Ctrl を 2 回押して、「bundle install」と入力し始めます。次に、リストから bundle install コマンドを選択し、Enter を押します。

    Run Anything / bundle install
  4. (オプション)現在のプロジェクトインタープリターGemfile.lock で指定された必要な Bundler バージョンがない場合、RubyMine はそれをインストールすることを提案します。

  5. バンドルインストールダイアログで、次の引数を追加します。

    --without production

    次に、実行をクリックします。

    Bundle Install dialog
  6. RubyMine がすべて gems をインストールするまで待ちます。

    Run Tool window / installing gems

マイグレーションの実行

Rails アプリケーションを実行する前に、データベースを移行する必要があります。

  1. Ctrl を 2 回押して、db:migrate と入力します。ドロップダウンで rake db: マイグレーションを選択し、Enter を押します。

    Run Anything / rake db:migrate
  2. 呼び出された 'db:migrate' を実行するダイアログでデフォルト設定のままにして、OK をクリックします。

    Execute db:migrate

    これにより、db フォルダーに development.sqlite3 データベースが作成されます。

  3. 最初のステップで説明したように、rake db:migrate をもう一度実行します。今回は、'db:migrate' を実行するダイアログでテストするように環境オプションを設定し、OK をクリックします。作成された test.sqlite3 データベースは、テストの実行に使用されます。

RubyMine は、あらゆるサイズのプロジェクトを探索するための豊富なナビゲーション機能を提供します。ファイル間を移動したり、宣言に移動したり、任意のタイプのエンティティを検索したりできます。

プロジェクトビュー

IDE の左側にあるプロジェクトビュー(Alt+1)には、プロジェクトの構造が表示されます。これを使用して、プロジェクト内の任意のファイルを開いたり、新しいファイルを作成したりできます。

Project view

宣言に移動

宣言に移動を使用すると、任意のシンボルの使用箇所からシンボルの宣言に移動できます。この機能の動作を確認するには、Ctrl+Shift+N を押し、users_controller の入力を開始し、users_controller.rb ファイルを選択して Enter を押します。

Go to file

開いた users_controller.rb ファイルで、キャレットを User クラスの横に置き、Ctrl+B を押します。

user.rb ファイルのクラス宣言に移動します。

プロジェクトエンティティだけでなく、外部ライブラリ (この場合は gems) 内の定義にも移動できることに注意してください。たとえば、Ctrl を押したまま、has_many メソッドの上にマウスを置きます。メソッドがハイパーリンクに変わったら、キーを放さずにクリックします。

RubyMine は ActiveRecord Rails モジュール内のメソッド定義を開きます。

使用箇所の検索

使用箇所の検索アクションを試してみましょう。users_controller.rb ファイルで、edit メソッドまで下にスクロールし、その横にキャレットを置き、Alt+F7 を押します。検索ウィンドウでは、このアクションが使用されている場所を探索できます。

Find usages

コントローラーなどの特定の Rails エンティティで作業しているときは、関連するビュー、モデル、テスト、ヘルパーに移動できます。edit メソッドの横にキャレットを置き、Ctrl+Alt+Home を押して、表示を選択し、Enter を押します。RubyMine は、対応するビューを含む edit.html.erb ファイルを開きます。

ビュー内で同じショートカットを使用するか、エディターのガターの Navigate from view to action アイコンを使用して、対応するアクションにすばやく移動できます。

どこでも検索

次の RubyMine 機能を使用すると、ファイル、クラス、シンボル、オプションを検索し、必要なエンティティに移動することができます。

UsersController 内で destroy アクションを見つけてみましょう。Shift を 2 回押して、destroy と入力し始めます。RubyMine は、クエリが見つかったすべての結果をリストします。UsersController から破壊アクションを選択し、Enter を押します。

Search everywhere

users_controller.rb ファイルが開き、destroy アクションの定義にキャレットが配置されます。

コードの編集

RubyMine は、エディターで使用可能な複数のコード編集機能を提供し、開発プロセスをスピードアップできるようにします。これらには、コード補完リファクタリングコードインスペクションなどが含まれます。

コード補完

RubyMine は、クラス、メソッド、キーワードなどの名前を完成させるのに役立ちます。コード補完を呼び出すと、RubyMine はコンテキストを分析し、現在のキャレット位置に適用できる選択肢を提案します。

たとえば、users_controller.rb ファイルを開き、UsersController クラスで宣言された index メソッドに移動します。メソッド内に次のコードを入力し、「ドット」と入力します。

@user = User

User クラスは ApplicationRecord モジュールから継承されるため、エディターには継承されたすべてのメンバーが表示されます。

その後、first の入力を開始してリストをフィルター処理し、Querying モジュールから対応するメンバーを検索し、Enter を押します。

インテンション

インテンションは、コードスタイルを改善するためのステートメントの変換、ロケール辞書への文字列の追加、言語インジェクションの使用など、さまざまなコード変更を迅速に適用できます。

インテンションの動作を確認するには、user.rb ファイルを開き、複数行の三項演算子 ?: を使用する User.digest メソッドまでスクロールします。Ruby スタイルガイド(英語)によると、このような演算子は if/then/else/end ブロックに置き換えるのが望ましいとされています。これを行うには、この三項演算子 (たとえば、ActiveModel の隣) にキャレットを置き、Alt+Enter を押します。Enter を押すと、三項演算子が if/then/else/end ブロックに変換されます。

コードのリファクタリング

リファクタリングは、ソースコードを変更したり維持したりするのを容易にするために、ソースコードを変更するプロセスですが、動作を変更することはありません。RubyMine で利用できるリファクタリング機能をいくつか見てみましょう。

名前変更リファクタリングを使用すると、クラス、メソッド、ファイル、変数、パラメーターの名前を変更し、コード内のそれらへのすべての参照をそれに応じて修正できます。user.rb ファイルを開き、before_save コールバックで生成された downcase_email メソッドまで下にスクロールします。このメソッドの横にキャレットを置き、Ctrl+Shift+I を押してその定義を表示します。

Escape を押してから、Ctrl+Alt+Shift+T を押します。さまざまなリファクタリングを提案するリファクタリングポップアップで名前変更を選択します。

Refactor this popup

名前変更ダイアログで、新しいメソッド名(この場合は lowercase_email)を指定して、リファクタリングをクリックします。

Rename dialog

リファクタリングプレビューウィンドウには、名前を変更したメソッドへの参照がすべて表示されます。

Do refactor

リファクタリングをクリックして、すべての場所でメソッドの名前を変更します。

コードの整形

RubyMine を使用すると、コードスタイルの要件を満たすようにソースコードを再フォーマットできます。

user.rb ファイルのコードを再フォーマットしましょう。このファイルを開いて Ctrl+Alt+L を押してください。

RubyMine はファイル全体を再フォーマットし、いくつかの変更された行を表示します。

コードの解析

この部分では、静的コード分析を実行し、問題を検出します。

RubyMine は複数のインスペクションタイプをサポートし、さらに IDE 内で RuboCop(英語) 違反を表示できます。RuboCop インスペクションは RubyMine でデフォルトで有効になっており、プロジェクトインタープリターに RuboCop gem(英語) を追加する必要があります。この gem がインストールされていない場合、RubyMine はこれを実行することを提案します。

Rubocop is missing

アプリケーションが使用する gems のリストを含む Gemfile を開いてみましょう。active_storage_validations gem に表示されている警告にマウスを合わせます。

Rubocop warning

RubyMine は、gems をアルファベット順に並べる必要があることを通知する Rubocop メッセージが表示されます (OrderedGems(英語) を参照)。

active_storage_validations gem の横にキャレットを置き、Alt+Enter を押します。エディターは、gems の誤った順序に関連するすべての問題を修正することを提案します。これを行うには、Enter を押します。

プロジェクト全体をチェックし、すべての警告を 1 つのレポートに表示することもできます。これを行うには、メインメニューでコード | コードのインスペクションを選択します。呼び出されたダイアログで、必要なインスペクションスコープを指定できます。

Inspection scope

プロジェクト全体オプションを終了し、分析をクリックします。インスペクションの結果ウィンドウには、プロジェクト全体の警告が表示されます。

Inspection results

このレポートを移動して、特定の警告を修正または抑制することができます。

テストの実行

RubyMine では、Minitest、RSpec、Cucumber などのさまざまなテストフレームワークを使用できます。

すべてのテストを実行

プロジェクトの test フォルダーには Minitest テストが含まれています。すべてのテストを実行するには、Alt+1 を押してプロジェクトビューを開きます。次に、test フォルダーを右クリックし、コンテキストメニューから実行 'All tests in test' を選択します。

Run all tests in a directory

RubyMine が実行され、テスト結果が実行ツールウィンドウに表示されます。

特定のテストを実行する

次に、特定のテストを実行する方法を見てみましょう。users_controller_test.rb ファイルを開き、should redirect index when not logged in テストまで下にスクロールして、このテストの横にある左のガターにある実行ボタンをクリックします。

Run a specific test

呼び出されたメニューで、「ミニテスト」を実行します: テストすべき _...」を選択します。RubyMine はこのテストの結果を表示します。

Test result

失敗したテストの再実行

ここで、users_controller_test.rb に戻って 2 つのテストを中断します。should get new および should redirect index when not logged in テストでは、get signup_path および get users_path の行をコメントアウトします。これを行うには、これらの行を選択し、Ctrl+/ ショートカットを使用します。

Broken tests

すべてのテストを実行の説明に従って、すべてのテストを再度実行します。これらのテストが失敗したことがわかります。

Failed tests

現在開いている users_controller_test.rb ファイルで、同じ行 get signup_pathget users_path のコメントを解除して、これらのテストを修正しましょう。同じ Ctrl+/ ショートカットを使用します。これで、Rerun Failed Tests ボタンを使用して、失敗したテストのみを再実行できるようになりました。

これでアプリケーションを実行する準備が整いました。

アプリケーションの実行

Rails アプリケーションを実行するには、Ctrl を 2 回押して、sample_rails_app と入力し始めます。リストから sample_rails_app_7th_ed 構成を選択し、Enter を押します。

Run Anything / run configuration

RubyMine は、実行するアプリケーションを準備するプロセスを示します。

Run tool window / run Rails application

動作しているアプリケーションを確認するには、Web サーバーで使用されている 0.0.0.0:3000 アドレスに移動します。

Rails application in a browser

アプリケーションのデバッグ

RubyMine の主な機能の 1 つはデバッグサポートです。デバッガーは、実行中のアプリケーションの状態を調べるさまざまな方法を提供します。コードをステップ実行して変数の値をチェックしたり、変数のウォッチを設定して値が変化するかどうかを確認したりできます。

ブレークポイントを設定してデバッグを開始する

まず、users_controller.rb ファイルを開きます。create メソッド内で、新しいユーザーが作成される行の隣にブレークポイントを設定します。

Set a breakpoint

デバッグを開始するには、Ctrl を 2 回押して、sample_rails_app と入力し始めます。リストから sample_rails_app_7th_ed 構成を選択し、Shift キーを押したまま (ダイアログタイトルがデバッグに変わります)、Enter を押します。

Start debugging

デバッグに必要な debase(英語) および ruby-debug-ide(英語) gems がまだインストールされていない場合、RubyMine はそれらをインストールすることをお勧めします。

Install gems for debugging

gems をインストールすると、デバッグツールウィンドウにアプリケーションの出力が表示されます。

Debug console output

ローカルマシンでブラウザーを開き、アプリケーションアドレス 0.0.0.0:3000 を指定します。

Rails application in a browser

今すぐサインアップ ! ボタンをクリックします。サインアップページで、資格情報を入力し、アカウントを作るをクリックします。

User credentials

プログラムはブレークポイントに達すると停止します。

変数を調べる

これで、アプリケーションの状態と変数の値を調べることができます。

Stop on a breakpoint

スレッドと変数ペインには、アプリケーションスレッドと対応するコールスタックが表示されます。この例では、create メソッドがスレッド 1 で呼び出されます。ペインの右側では、現在のコンテキストで使用可能な変数を調べることができます。

user_params 変数をリストに追加しましょう。ペインの右側で、検索フィールドに user_params と入力し、Add をクリックします。

次に、この変数の横にある expand アイコンをクリックし、同様に @parameters 変数を展開します。サインアップフォームで指定されたユーザー資格情報が表示されます。

ブレークポイントに達すると、コードをステップ実行できます。

ステップオーバー

ステップオーバーは、現在のスコープ内の次の行に進みます(たとえば、次の行に移動します)。途中でメソッド呼び出しに降下することはありません。

User オブジェクトはまだ作成されておらず、@user 変数は初期化されていません ( nil と同等)。

Breakpoint

F8 を押すか、デバッグツールウィンドウのツールバーで Step over をクリックします。デバッガーは次の行である if ステートメントに進み、@user 変数が初期化されます。

Step over

expand アイコンを使用して、@user プロパティを展開して調べます。

ステップイン

ステップインは、デバッガーを現在の行のメソッド呼び出しまたはブロックまで移動させ、追跡します。メソッド呼び出しまたはブロックが複数ある場合は、必要なターゲットを選択できます。

Resume Program をクリックしてプログラムの実行を再開します。再度ブラウザーにアクセスし、サインアップフォームで別のユーザーを作成します。スクリプトは、ユーザーが作成される行に到達すると停止します。

Breakpoint

F7 を押すか、Step into ボタンをクリックします。エディターは user_params メソッドにフォーカスを設定します。矢印キーまたは Tab を使用して、ステップインするメソッド (この例では new または user_params) を選択できます。user_params を選択し、Enter を押します。プログラム実行は user_params メソッド定義に移動します。

もう一度 F7 を押すと、デバッガーは StrongParameters(英語) モジュールの params メソッドと require メソッドのどちらを選択するかを提案します。

コンソールでデバッグする

デバッガーにはコンソールタブがあり、IRB のようなコンソールでデバッグされたアプリケーションと対話できます。

コンソールに user_params と入力し、対応する変数を選択して、Enter を押します。

コンソールウィンドウに変数の値が表示されます。

関連ページ:

Ruby 開発環境をセットアップする

前提条件の依存関係をインストールする:RubyMine は、Ruby(Ruby MRI)のリファレンス実装と、JRuby や TruffleRuby などの代替実装をサポートしています。Ruby インタープリターをインストールする前に、Ruby をコンパイルするために必要な依存関係をマシンにインストールする必要があります。例: オペレーティングシステムによっては、これらの依存関係に次のツールとライブラリが含まれる場合があります。Ubuntu:build-essential、libssl-dev な...

RubyMine をインストールする

RubyMine は、Windows、macOS、Linux で一貫したエクスペリエンスを提供するクロスプラットフォーム IDE です。システム要件:RAM2 GB の空き RAM8 GB の総システム RAMCPU 最新の CPU マルチコア CPU。RubyMine は、さまざまな操作やプロセスのマルチスレッドをサポートしているため、使用できる CPU コアが多くなります。ディスク容量 3.5 GB5 GB 以上の空き容量がある SSD ドライブモニターの解像度 1024 × 7681920 ×...

Ruby インタープリターを構成する

RubyMine で Ruby コードを操作するには、少なくとも 1 つの Ruby インタープリターを構成する必要があります。現在開いているプロジェクトのインタープリターを設定するか、新しいプロジェクトを作成するときに設定できます。Ruby インタープリターの構成は、インストール方法によって異なります。パッケージマネージャー(Ubuntu では apt、macOS では Homebrew など)または Ruby インストーラー(たとえば、Windows では RubyInstaller)を使用して R...

Ruby バージョンマネージャー

Linux または macOS に Ruby をインストールする最も一般的な方法は、バージョンマネージャー (RVM や rbenv など) を使用することです。バージョンマネージャーを使用すると、マシンに複数の Ruby バージョンをインストールし、すばやく切り替えることができます。RubyMine は、ローカルマシンにインストールされ、次のバージョンマネージャーによって管理されているインタープリターを自動的に検出します。RVM、gemsets 用の rbenv-gemsets プラグインを備えた rbe...

コード補完

基本コード補完は、可視性スコープ内のクラス、メソッド、キーワードの名前を補完するのに役立ちます。RubyMine はコンテキストを分析し、現在のキャレット位置から到達可能な選択肢を提案します。候補にはライブテンプレートも含まれます。補完機能は英語以外のキーボードレイアウトでも利用できます。基本補完を呼び出すデフォルトでは、RubyMine は入力時に自動的にコード補完ポップアップを表示します。あるいは、を押すか、メインメニューからを選択することもできます。、コード補完はカスタムファイルタイプで...

コードのリファクタリング

リファクタリングは、新しい機能を作成せずにソースコードを改善するプロセスです。リファクタリングは、コードを安定させ、保守を容易にできます。リファクタリングの呼び出し:リファクタリングするアイテムを選択します。エディターでプロジェクトツールウィンドウまたは式 / シンボルでファイル / フォルダーを選択できます。選択可能なリファクタリングのリストを開くには、を押します。または、特定のリファクタリング用のキーボードショートカットを使用することもできます。フィールドのカプセル化、static メン...