RubyMine 2019.3ヘルプ

入門

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

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

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

プロジェクトを開きます

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

  1. RubyMineを実行し、ようこそ画面バージョン管理から取得をクリックします。

    Welcome Screen / Get from Version Control
  2. バージョン管理から取得ダイアログで、次の操作を行います。

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

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

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

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

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

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

    Indexing

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

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

プロジェクトを開いた後、必要な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

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

JavaScriptの依存関係をインストールする

Yarn(英語)を使用してプロジェクトの package.json ファイルに記載されているJavaScript依存関係をインストールするには、次の手順を実行します。

  1. Ctrl をもう一度2回押して、yarn installと入力し始めます。次に、リストからyarn installコマンドを選択し、Enterを押します。

    yarn install
  2. RubyMineがすべてgemsをインストールするまで待ちます。

    Run Tool window / installing packages

マイグレーションの実行

Railsアプリケーションを実行する前に、データベースを移行する必要があります。RubyMineでこれを行うには、以下の手順に従います。

  1. Ctrl を2回押し、db:migrateと入力します。ドロップダウンで rake db:migrate を選択し、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

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

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

プロジェクトエンティティだけでなく、外部ライブラリー内の定義(この例ではgems)にジャンプできることに注意してください。たとえば、Ctrl を押したまま、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内でdestroyアクションを見つけようとしましょう。 Shift を2回押して、destroyと入力し始めます。ドロップダウンリストには、シンボルグループ内のすべてのコントローラーのdestroyがリストされます。UsersControllerからdestroyアクションを選択して Enterを押します。

Go to symbol

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

destroy action in editor

コードの編集

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

コード補完

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

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

@user = User

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

その後、リストをフィルタ処理し、対応するクエリモジュールから部材、プレス Enterを見つけるために、最初の入力を開始。

インテンション

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

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

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

変数の導入

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

user.rb ファイルを開き、フィード方法に移動します。このメソッドでは、SQLサブクエリを変数に抽出できます。これを行うには、対応するサブストリングを選択して Ctrl+Alt+Vを押します。次に、変数名を指定し、Enter を押して抽出を終了します。

コードの再フォーマット

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

user.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を使用すると、Minitest、RSpec、Cucumberなどのさまざまなテストフレームワークを使用できます。

すべてのテストを実行

このプロジェクトには、テストフォルダーにMinitestテストが含まれています。二回すべてのテスト、プレス Ctrl を実行し、テストの入力を開始します。呼び出されたポップアップで、自動的に作成されたテスト: 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_path および get_sighup_pathCtrl+/のコメントを外して、現在開いている users_controller_test.rb ファイルのこれらのテストを修正しましょう。 Rerun Failed Tests ボタンを使用して、これらの失敗したテストのみを再実行できるようになりました。

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

アプリケーションの実行

Railsアプリケーションを実行するには、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メソッドはスレッド30で呼び出されます。変数ペインでは、現在のコンテキストで利用可能な変数を調べることができます。

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

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

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

ステップ・オーバー

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

以下の画面では、ユーザーオブジェクトがまだ作成されておらず、@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 押すと、デバッガはのparamsの間で選択してStrongParameters(英語)モジュールからメソッドを必要と提案します。

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

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

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

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

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

関連ページ:

Ruby / Railsをインストール

Rubyプログラミング言語を使用するには、必要なRubyディストリビューションRuby のダウンロードをダウンロードしてインストールする必要があります。RubyMineは、ローカルマシンにインストールされ、バージョンマネージャーによって維持されているインタープリターを自動的に検出します。次のインター...

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

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

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

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

コードスタイルの設定

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

RubyMineをアンインストールする

RubyMineを削除する正しい方法はそれをインストールするために使用した方法によって異なります。このガイドでは、WindowsmacOSLinuxからRubyMineをアンインストールする方法について説明します。上部のプラットフォームスイッチャーを使用して別のオペレーティングシステムを選択します。...