RuboCop
RubyMine は RuboCop との連携をサポートしており、IDE 内、たとえばコードエディターでその違反を修正できます。

プロジェクト全体をチェックし、すべての RuboCop 警告を一つのレポートに表示することもできます。
必要に応じて、 標準(英語)ラッパーを有効にしてプロジェクトソースの分析に使用することができます。
RuboCop/Standard gems をインストールする
RuboCop インスペクションはデフォルトで RubyMine で有効化されており、 プロジェクトのインタープリター に 'rubocop' gem をインストールする必要があります。 この gem がインストールされていない場合、RubyMine はそのインストールを提案します。

Standard でプロジェクトを分析したい場合は、 Gemfile に「standard」gem を追加し、 インストールしてください。
RuboCop と Standard でリントするおよびフォーマットを設定する
RubyMine を使用すると、相互に排他的な 5 つの lint モードとフォーマットモードのセットを通じて、プロジェクト内で RuboCop と 標準 がどのように適用されるかを制御できます。
モードを選択することで、プロジェクトで lint とフォーマットの両方に 一貫したワークフローが使用され、ツール間の競合が回避されます。
に進みます。

リントする & フォーマット作業 セクションで、以下の 5 つのモードから 1 つを選択してください。
デフォルト: RuboCop はインスペクションのみを実行し、RubyMine はフォーマット処理を行います。
標準 lint: Standard gem でリントするのみ実行し、フォーマットは RubyMine で維持されます。
保存時に Standard を適用: 標準の lint を実行し、保存時に自動的にフォーマットします。
RuboCop サーバーモード: パフォーマンス向上のため RuboCop をサーバーモードで実行します。RuboCop 1.31 以上が必要です。 Windows または JRuby ではサポートされていません。
保存時に RuboCop を実行: サーバーモード以外でセーブ時に
rubocop -aを実行し、自動修正可能な問題をすべて自動的に修正します。
RuboCop インスペクションの設定
RuboCop インスペクションのエディター内ハイライト表示を有効または無効にするには、次の手順を実行します。
設定 ダイアログ Ctrl+Alt+S を開きます。
ページへ移動し、 で RuboCop インスペクションを有効化/無効化してください。

(オプション) 重要度マッピング グループのインスペクションの重大度に RuboCop の重大度がどのようにマッピングされるかを設定します。
デフォルトでは、RubyMine は RuboCop の 重大度と インスペクションの重大度を次のようにマッピングします:
RuboCop の重大度
インスペクション重大度
リファクタリング、コンベンション
弱い警告
警告
警告
エラー、致命的
エラー
重要度マッピングを変更するには、該当する重要度のリストを展開し、必要なオプションを選択してください。

エディターで RuboCop 違反を修正
RuboCop インスペクションを有効化すると、RubyMine がコードエディター内で違反をハイライトします。 警告の説明を確認して修正するには、次の手順を実行します。
ハイライトされた箇所にキャレットを移動し、 Ctrl+F1 を押します。

違反を修正するには、 Alt+Enter を押します。 ファイル内の提案されたすべての違反を修正することも、クラス違反または cop department による特定の修正のみを適用することもできます。

Rubocop インスペクションを実行する
RubyMine では、対応する インスペクション を実行することで、プロジェクト全体の RuboCop 違反を見つけることができます。 これを行うには、以下の手順に従います。
Ctrl+Alt+Shift+I を押すか、メインメニューで に移動します。
ポップアップで RuboCop を探し、 Enter を押します。
実行 'RuboCop' ダイアログで、分析したいファイルの範囲を指定します。 必要に応じて 「standard」gem を使用 を有効にしてください。 OKです。 をクリックしてください。
RubyMine がプロジェクトを分析するまでお待ちください。 インスペクション結果 ツールウィンドウでは、 自動修正可能なすべての RuboCop 違反を修正 ボタンを使用して RuboCop の違反を調査し、自動修正可能なものを修正できます。

個々のファイルを確認したり、クラス違反や cop department ごとに特定の修正を適用したりすることもできます。

RuboCop 設定ファイル
RuboCop では、構成ファイルを通じて動作をカスタマイズできます。 RubyMine は .rubocop.yml ファイルを自動検出し、それを使ってインスペクションを実行します。 または、インスペクションのカスタム構成ファイルを指定することもできます。
.rubocop.yml
RubyMine は .rubocop.yml ファイルで指定されたすべての設定を考慮します。 例: 特定の cop department のチェックを無効にした場合、 エディターは対応する違反を表示しません。 さらに、これらの違反は RuboCop インスペクションレポートには表示されません。
カスタム RuboCop 構成
カスタム RuboCop 構成
設定 ダイアログ(Ctrl+Alt+S )で、 を選択します。
設定ファイル フィールドに構成ファイルを指定してください。

構成ファイルが選択されていない場合、プロジェクト内に .rubocop.yml があれば、そのインスペクションを実行します。 それ以外の場合、RubyMine はデフォルト設定を使用します。
使い方: カスタムオプションで開いたファイルに対して RuboCop を実行する
現在開いているファイルに対してカスタムオプションで RuboCop を実行する必要がある場合があります。 例: これは、RuboCop インスペクションが 無効になっているとき、または特定の RuboCop アクションに ショートカットを割り当てたいときに便利です。
この例では、現在開いているファイルのレイアウト違反を修正するために RuboCop を 外部ツールとして使う方法を紹介します。
カスタム RuboCop アクションを作成する
設定 ダイアログ(Ctrl+Alt+S )で、 ツール | 外部ツール を選択します。
をクリックし、次の設定を指定します:

名前 :RubyMine インターフェースに表示されるメニューコマンド(ツール メニューとコンテキストメニュー)。
グループ: コマンドが属するグループの名前。 既存のグループを選択するか、新しいグループの名前を入力できます。
プログラム: RuboCop 実行可能ファイルの名前。
引数 :コマンドラインで指定するように、実行可能ファイルに渡される引数。 ここでは
-xRuboCop オプションを使用して現在のファイルに対してレイアウト警官のみを実行します。作業ディレクトリ: ツールが実行される現在の作業ディレクトリへのパス。
OKです。 をクリックしてツールを追加し、変更を適用します。
(オプション) 作成したアクションにショートカットを割り当てます。 設定 ダイアログ (Ctrl+Alt+S) で、 キーマップ を選択し、 RuboCop ノードで 外部ツール アクションを見つけて、ショートカットを指定します。

カスタム RuboCop アクションを実行する
作成した RuboCop アクションを実行するには、 メインメニューへ移動するか、ファイルのコンテキストメニューを使用します。

コマンド実行時、その出力が 実行 ツールウィンドウに表示されます。
