RubyMine 2019.1ヘルプ

入門ガイド

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

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

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

プロジェクトを開きます

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

  1. RubyMineを実行し、ようこそ画面バージョン管理からチェック・アウトをクリックし、Gitを選択します。

    Welcome Screen / Git
  2. リポジトリーのクローンダイアログで、URLフィールドに次のアドレスを挿入してクローンボタンをクリックしてください: https://bitbucket.org/rubyminedoc/sample_rails_app.git

    Clone Repository

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

    Cloning source repository
  3. リポジトリのクローンを作成したら、プロジェクトを含むディレクトリーを開くように求められます。はいをクリックします。

    Checkout From Version Control
  4. RubyMineはディレクトリーを開き、索引作成プロセスを開始します。ステータス・バーの進捗状況を見ることができます。

    Indexing

    RubyMineはあなたのプロジェクトを索引付けしてそのソースを分析し、利用可能なファイル、クラスと関数の定義などに関する情報を収集します。これはコードインサイト機能コード補完ナビゲーションに必要です。

Rubyインタープリターを選択して依存関係をインストールする

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

  1. Ctrl+Alt+S を押して設定/環境設定ダイアログを開き、言語 & フレームワーク | Ruby SDK および Gemページにジャンプし、必要なインタープリターを選択します。

    Select Ruby interpreter

    OKをクリックします。

  2. それでは、Gemfileで指定されたgemsをインストールしましょう。RubyMineを使用すると、Bundler(英語)を使用してgemsを管理できます。Bundlerをインストールするには、Ctrl を2回押して、コマンド gem install bundlerを入力します。

    Run Anything / gem install bundler

    Enter を押して、Bundler gemがインストールされるまで待ちます。

  3. これでRubyMine内でBundlerコマンドを使用できます。gemsをインストールするには、Ctrl をもう一度2回押して、bundle installと入力します。次に、リストからbundle installコマンドを選択して Enterを押します。

    Run Anything / bundle install
  4. バンドルインストールダイアログで、「 インストール 」をクリックします。

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

    Run Tool window / installing gems

    これで、エディターでいくつかの機能を試すことができます。

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

プロジェクト・ビュー

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

Project view

宣言に移動

宣言に移動を使用すると、任意のシンボル使用箇所からシンボルの宣言にナビゲートできます。この機能を実際に使用するには、Ctrl+Shift+Nを押して「users_controller」と入力し、users_controller.rb ファイルを選択して[ Enter]をクリックします。

Go to file

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

user.rb ファイルのクラス宣言にジャンプします。

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

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

使用箇所の検索

使用箇所の検索機能を実演しましょう。 app/controllers/users_controller.rb ファイルで、編集アクションまでスクロールし、キャレットをその横に置き、Alt+F7を押します。検索ウィンドウでは、このアクションが使用されている場所を探索することができます。

Find usages

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

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

どこでも検索

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

UsersController内で破棄アクションを見つけようとしましょう。 Shift を2回押して、destroyと入力し始めます。ドロップダウンリストはシンボルグループ内のすべてのコントローラーを破棄します。UsersControllerから破棄アクションを選択して Enterを押します。

Go to symbol

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

destroy action in editor

コードの編集

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

コード補完

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

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

@users = User

...と入力し、ドットを入力します。ユーザークラスはApplicationRecordモジュールから継承されるため、エディターには継承されたすべてのメンバーが表示されます。

その後、リストをフィルタリングしてクエリモジュールから対応するメンバーを探す場所を入力し、Enterを押します。

インテンション

インテンションは、さまざまなコード変更をすばやく適用できます:より良いコードスタイルのためのステートメントの変換、ロケール辞書への文字列の追加、言語インジェクションの使用など。

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

インスペクションを使用してコードを確認し、起こりうる課題を検出することができます。

リファクタリングコード

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

名前変更リファクタリングを使用すると、クラス、メソッド、ファイル、変数、およびパラメータの名前を、それに合わせて修正されたコード内でそれらのすべての参照を使用して名前変更できます。 users.rb ファイルを開き、before_save ActiveRecordコールバックで育っdowncase_emailメソッドまでスクロールします。このメソッドの横にキャレットを置き、Ctrl+Shift+I を押してその定義を確認します。

Esc をクリックし、Ctrl+Shift+Alt+Tを押します。呼び出されたポップアップで名前の変更…を選択すると、さまざまなリファクタリングが示唆されます。

Refactor this popup

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

Rename dialog

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

Do refactor

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

変数の導入

変数の導入リファクタリングは、選択した式の結果を変数に代入します。新しい変数を宣言し、その式を初期化子として使用します。元の式は新しい変数に置き換えられます。

micropost.rb ファイルを開き、picture_sizeメソッドに進みます。この方法では、picture.size 式は2回見つかり、変数に置き換えることができます。

picture.size 式にキャレットを置き、Ctrl+Alt+Vを押します。呼び出されたポップアップでこの式を選択し、Enterを押します。次に、2回すべてを置換を選択し、Enter をもう一度押します。最後に、変数名を指定し、Enter を押して抽出を終了します。

コードの再フォーマット

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

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

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

コードを分析する

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

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

Install Rubocop

アプリケーションで使用されているgemsのリストを含むGemfileを開きましょう。bcrypt gemに対して表示された警告の上にマウスポインタを移動します。

Rubocop warning

RubyMineはアルファベット順にgemsを注文する必要性を通知するRubocopメッセージを表示します(OrderedGems(英語)を参照)。

キャレットをbcrypt gemの隣に置き、Alt+Enterを押します。エディターは、誤ったgemsの順序付けに関連するすべての課題を解決することをお勧めします。これを行うには Enter を押します。

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

Inspection scope

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

Inspection results

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

テストの実行

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

すべてのテストを実行

このプロジェクトのテストフォルダーにはTest::Unitテストが含まれています。すべてのテストを実行するには、Ctrl を2回押してtestと入力します。呼び出されたポップアップで、自動的に作成されたテスト: sample_rails_app実行設定を選択して Enterを押します。

Run all tests

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

特定のテストを実行する

それでは、特定のテストを実行する方法を見てみましょう。 users_controller_test.rb ファイルを開き、テストにログインしていない場合はリダイレクト先のインデックスまでスクロールし、このテストの横にある左ガターの実行ボタンをクリックします。

Run a specific test

呼び出されたメニューで、'test_should_redirect ...'を実行します。を選択します。RubyMineはこのテストの結果を表示します。

Test result

失敗したテストの再実行

それでは users_controller_test.rb に戻り、2つのテストを破りましょう。ログインしていないときはインデックスをリダイレクトし、新しいテストで get users_pathget_sighup_path の行をコメントアウトする必要があります。これを行うには、これらの行を選択して Ctrl+/ ショートカットを使用します。

Broken tests

Ctrl を2回押し、再度すべてのテストを実行します。これらのテストが失敗したことがわかりました。

Failed tests

get users_pathget_sighup_path の行(Ctrl+/)のコメントを外して、現在開いている users_controller_test.rb ファイルでこれらのテストを修正しましょう。 Rerun Failed Tests ボタンを使用して、これらの失敗したテストのみを再実行できます。

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

アプリケーションの実行

Railsアプリケーションを実行する前に、データベースを移行する必要があります。RubyMineでこれを行うには、Ctrl を2回押し、db:migrateと入力します。ドロップダウンリストで rake db:migrate を選択し、Enterを押します。

Run Anything / rake db:migrate

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

Execute db:migrate

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

これでアプリケーションを実行できます。 Ctrl を2回押して開発を入力します。リストから開発: sample_rails_app構成を選択して Enterを押します。

Run Anything / run configuration

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

Run tool window / run Rails application

Webサーバーで使用されている 0.0.0.0:3000 アドレスをコピーし、ブラウザのアドレスバーに挿入し、Enter を押して、動作中のアプリケーションを表示します。

Rails application in a browser

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

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

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

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

Set a breakpoint

二回デバッグ、プレス Ctrl を開始し、sample_rails_appの入力を開始します。リストから開発: sample_rails_app設定を選択し、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メソッドはスレッド23で呼び出されます。変数ペインでは、現在のコンテキストで利用可能な変数を調べることができます。

リストにuser_params変数を追加しましょう。変数ペインのボタン add をクリックして、user_paramsの入力を開始します。呼び出されたドロップダウンからuser_params変数を選択して Enterを押します。

次に、この変数の横にある expand ボタンをクリックし、同じ方法で@parameters変数を展開します。サイン・アップ形式で指定されたユーザー資格情報が表示されます。

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

ステップ・オーバー

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

以下の画面では、ユーザーオブジェクトがまだ作成されておらず、@user変数が初期化されていない( nilに等しい)ことがわかります。

Breakpoint

F8 を押すか、デバッグウィンドウのツールバーの Step over ボタンをクリックします。デバッガーは次の行( ifステートメント)に進みます。エディターと変数ペインで、@user変数が初期化されたことを確認できます。

Step over

expand ボタンを使用して、@userのプロパティーを調べます。

ステップ・イン

ステップ・インはデバッガを現在の行のあらゆるメソッド呼び出しに降ろさせます。複数のメソッド呼び出しがある場合、それらは実行された順序で訪問されます。メソッド呼び出しがない場合は、step intoステップオーバーとして機能します。

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

Breakpoint

F7 を押すか、Step into ボタンをクリックしてください。プログラムの実行はuser_paramsメソッドにジャンプします。このメソッドはパラメータとしてUser.newメソッド呼び出しの内部で呼び出されます。

Step into

もう一度 F7 を押すと、デバッガはStrongParameters(英語)モジュールのparamsメソッドにジャンプします。

Step into

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

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

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

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

最終更新日: 2019年5月8日

関連ページ:

RubyMineをインストールする

RubyMineは、Windows、macOS、およびLinuxオペレーティングシステムで一貫したエクスペリエンスを提供するクロスプラットフォームIDEです。このガイドはWindowsmacOSLinuxにRubyMineをインストールする方法を説明します。上部のプラットフォーム切り替えを使用して別...

ようこそ画面

RubyMineは、プロジェクトが開かれていないときにようこそ画面を表示します。この画面から、RubyMineのメインセクションに素早くアクセスできます。ウェルカム画面は、プロジェクトの唯一のインスタンスを閉じるとき、または初めてRubyMineを実行するときに表示されます。ようこそ画面は、次のセク...

ステータス・バー

ステータスバーを使用すると、現在のIDE状態を監視し、環境保守タスクを実行できます。ステータスバーのアイコン:クリックすると、ツールウィンドウバーの表示/非表示が切り替わります。隠れたツールウィンドウバーを表示するには、⌘(macOSの場合)またはAlt(Windowsまたは*NIXの場合)を2回押...

Rubyインタープリターの設定

RubyMineを使用すると、現在のプロジェクトまたは新しく作成したプロジェクトに必要なRubyインタープリターを選択できます。IDEは、ローカルマシンにインストールされバージョンマネージャーによって管理されているインタープリターを自動的に検出します。さらに、ローカルまたはリモートインタープリター(...

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

RubyMineを使用すると、次のバージョンマネージャーが管理するRubyインタープリターを使用できます。RVM、rbenv、chruby、asdf-rubyプラグインを使用したasdf、サポートされているすべてのバージョンマネージャーは互換性がないため、同時に使用しないでください。すべてのバージョ...

コードスタイルの設定

特定のコーディングガイドラインが企業内に存在する場合は、ソースコードを作成する際に、このガイドラインに従わなければなりません。RubyMineは、必要なコードスタイルを維持できます。コードスタイルはプロジェクトレベルとIDEレベル(グローバル)で定義されています。プロジェクトレベルでは、設定はプロジ...