RubyMine 2025.3 ヘルプ

コード補完

基本コード補完は、可視性スコープ内のクラス、メソッド、キーワードの名前を補完するのに役立ちます。

RubyMine はコンテキストを分析し、現在のキャレット位置から到達可能な選択肢を提案します。候補にはライブテンプレートも含まれます。補完機能は英語以外のキーボードレイアウトでも利用できます。

基本補完を呼び出す

  1. デフォルトでは、RubyMine は入力時に自動的にコード補完ポップアップを表示します。

    あるいは、Ctrl+Space を押すか、メインメニューからコード | コード補完 | 基本を選択することもできます。

    Basic completion
  2. 宣言されたすべての名前のリストを表示するには、基本コード補完をもう一度呼び出します。

    Declared names completion

リストからの提案を受け入れる

  • Enter を押すか、該当するリストアイテムをダブルクリックして、キャレットの左側に挿入します。

  • Tab を押して、キャレットから右にある文字を置き換えます。

  • Ctrl+Shift+Enter を使用して、現在のコード構成を構文上正しいものにします(括弧のバランス、欠落している中括弧とセミコロンの追加など)。

  • 特定のキーとカスタム文字を使用して、選択した補完候補を承認します。これらの機能を有効にするには、エディター | 一般 | コード補完の設定ページ(Ctrl+Alt+S)に移動し、以下の操作を行ってください。

    1. 特定のキーを使用するには、スペース、ドット、その他のコンテキスト依存キーを押して選択した候補を挿入するチェックボックスをオンにします。これらのキーは、言語、コンテキストなどによって異なります。

    2. カスタム文字も使用するには、補完を受け入れるための追加文字フィールドに文字を入力します。

機械学習による補完ランキング

RubyMine を使用すると、他のユーザーが同様の状況で行った選択に基づいて、補完の提案に優先順位を付けることができます。

ML 補完メカニズムは新しい要素を追加するのではなく、コードから取得した要素を順序付けます。データはどこにも公開されず、ローカルで収集されます。

ML 補完ランキングを有効にする

  1. Ctrl+Alt+S を押して設定を開き、エディター | 一般 | コード補完を選択します。

  2. 機械学習支援による補完で、機械学習に基づいてコード補完の候補を並び替えオプションを有効にし、ML 補完を使用する言語を選択します。

    ML-assisted completion settings

関連性マーカーを有効にする

  1. Ctrl+Alt+S を押して設定を開き、エディター | 一般 | コード補完を選択します。

  2. 次のオプションを有効にします。

    • 補完ポップアップで順位の変更箇所に印を付ける : Machine Learning ranking Up および Machine Learning ranking Down アイコンを使用して、提案の関連性が増加しているか減少しているかを示し、その結果、提案が候補リストを上下に移動したことを示します。

    • 補完ポップアップで最も関連性の高い項目に印を付ける : ML relevant proposal アイコンを使用して、リストで最も適切な提案を示します。

    候補リストは次のようになり、アイコンは並べ替えられたことを示し、最も関連性の高いアイテムが表示されます。

    ML-assisted completion

コード補完設定の構成

コード補完オプションを構成するには、エディター | 一般 | コード補完設定ページ Ctrl+Alt+S に移動します。

次の設定を選択できます。

項目

説明

大 / 小文字を区別する

補完候補で大文字と小文字を考慮するかどうかを選択します。最初の文字の大文字と小文字を一致させるか、すべての文字を一致させるかを選択します。

単一の候補を自動的に挿入

基本的な型一致補完とスマート型一致補完の候補が 1 つしかない場合は、コードを自動的に補完します。

候補をアルファベット順に並べ替え

候補リスト内の項目を関連性によって並べ替えるのではなく、アルファベット順に並べ替える場合に選択します。

この動作は、候補リストの をクリックして名前で並べ替えオプションを切り替えることにより、いつでも変更できます。

入力時に候補を表示する

補完を明示的に呼び出すことなく、候補リストを自動的に呼び出す場合に選択します。このオプションはデフォルトで有効になっています。

スペース、ドット、その他のコンテキスト依存キーを押して選択した候補を挿入する

選択した候補を挿入する場合は、言語、コンテキストなどに依存する特定のキーを入力して選択します。

ドキュメントのポップアップ表示までの時間

候補リスト内の各項目に対して、ルックアップリストで現在ハイライトされているクラス、メソッド、フィールドのドキュメントを含むポップアップを自動的に表示します

このオプションが無効になっている場合は、Ctrl+Q を押すと要素のドキュメントが表示されます。

右側のフィールドで、ポップアップが表示されるまでの遅延(ミリ秒)を指定します。

可能な場合は丸括弧を自動的に挿入

このオプションを有効にすると、関数 / メソッドを補完すると、RubyMine によって開き括弧と閉じ括弧のペアが自動的に挿入されます。

チェックボックスをオフにすると、括弧の挿入が自動的に抑制されます。

Enter の代わりに開き括弧 ( を使用して、補完リストから選択した項目を適用すると、オプションがオンかオフかに関係なく、括弧が自動的に挿入されます。

Enter の代わりに開き括弧 ( を使用して、補完リストから選択した項目を適用するには、設定ダイアログ (Ctrl+Alt+S) を開き、エディター | 一般 | コード補完に移動して、スペース、ドット、その他のコンテキスト依存キーを押して選択した候補を挿入するチェックボックスを選択します。

詳細は、特定のキーを使用して提案を挿入するを参照してください。

HTML

HTML テキストの入力時にタグ名コード補完の自動ポップアップを有効にする

HTML コンテキストでは、山括弧括弧を開始せずにプレーンテキストを入力した場合でも、デフォルトで RubyMine が補完候補を表示します。

自動ポップアップをオフにするには、チェックボックスをオフにします。

JavaScript

型ベース補完のみ

デフォルトでは、RubyMine は、型に関係なく、シンボルの補完を提案します。このアプローチでは、複雑な場合、リストに複数の補完バリアントが表示されます。

補完をより正確にするには、このオプションを選択します。補完リストは、RubyMine の推論に強く依存します。その結果、推論が不十分な場合にリストが空のままになることがあります。

Null 許容型に対するオプショナルチェイニングの使用を提案

デフォルトでは、RubyMine はオプショナルチェイニング演算子 (?) でシンボルの補完を提案します。この動作を抑制するには、このチェックボックスをオフにします。

補完時にメソッド本体をオーバーライド用に展開する

デフォルトでは、親クラスまたはインターフェースからメソッドをオーバーライドし、補完候補のリストからこのメソッドを選択する場合、RubyMine はパラメーターを自動的に追加し、可能であれば super() 呼び出しを生成し、型情報を追加します。

このチェックボックスをオフにすると、補完時にオーバーライドのメソッド本体が自動的に生成されなくなります。

名前の補完

  • 変数とパラメーターの名前を提案 : デフォルトでは、チェックボックスはオフになっています。オンにすると、RubyMine は、新しいクラスフィールド、変数、パラメーターの宣言時にそれらの名前を提案します。これらの提案は、プロジェクト、使用しているライブラリ、標準 API で定義されているクラス、型、インターフェースの名前に基づいています。

  • クラスフィールドの名前を提案

    このオプションはデフォルトでオフになっています。

  • 推奨されるパラメーター名に対して、型アノテーションを追加 : このチェックボックスを選択すると、補完候補ごとにその型に関する情報が提供されます。

    このチェックボックスは、変数とパラメーターの名前を提案チェックボックスが選択されている場合にのみ使用できます。

パラメーター情報

補完時にパラメーター名ヒントを表示する

パラメーター値のヒントを表示する場合に選択します。

パラメーター情報ポップアップを表示する (ミリ秒)

このチェックボックスをオンにすると、エディターで左括弧が入力されるか、候補リストからメソッドが選択されたときに、RubyMine が利用可能なすべてのメソッドシグネチャーを含むポップアップを自動的に表示します。

右側のテキストフィールドに、ポップアップウィンドウが表示されるまでの遅延時間(ミリ秒単位)を指定します。

このチェックボックスが選択されていない場合は、Ctrl+P を使用してパラメーター情報を表示します。

完全なメソッドシグネチャーを表示する

このチェックボックスをオンにすると、パラメーター情報にメソッド名や返された型などの完全なシグネチャーが表示されます。

Ruby

名前空間全体にわたる一致候補

このオプションを有効にすると、RubyMine はネストされたモジュール間で部分一致した定数やクラスも候補として表示します。たとえば、FoBa と入力すると Foo::Bar が表示されます。このチェックボックスをオフにすると、補完の精度が向上します。候補は、現在の名前空間内の接頭辞と完全に一致する場合にのみ表示されます。

'::' の後にメソッドを提案する

このオプションは、:: 演算子に続くシングルトンメソッド名の自動補完を有効にします。デフォルトでは無効になっており、クラス、モジュール、定数のみが表示されるため、候補の煩雑さを軽減できます。

入力時に最初の候補を事前に選択する

このオプションを使用すると、コードの入力を続けるときに、リストから最初の候補を事前に選択しておくことができます。

エディターまたはコンソールでの作業に有効にするかどうかに応じて、それぞれのチェックボックスを選択します。

SQL

オブジェクトを提案する

オブジェクトが提案される場所を選択します:

  • 現在の検索パスのみ : コンソールに選択されたスキーマのみ。

    スキーマの選択の詳細については、クエリファイルのデフォルトスキーマを設定するを参照してください。

  • 現在の範囲 : コンソールおよびシステムスキーマに対して現在選択されているスキーマ (たとえば、PostgreSQL の pg_catalog)。

  • すべての使用可能なスキーマ : すべてのイントロスペクトされたスキーマ。

Objects suggested from the current path only
Objects suggested from all the schemas
Objects suggested from all the schemas

オブジェクトを修飾する

オブジェクトをデータベース、スキーマ、テーブルとビュー、テーブルとビューの別名で修飾するタイミングを選択します。

  • 常時 : 修飾オブジェクト名は常に使用されます(例: <schema_name>.<object_name>)。

  • 競合する場合 : 修飾されたオブジェクト名は、短縮名があいまいな場合 (たとえば、複数のスキーマに同じ名前のオブジェクトがある場合) にのみ使用されます。

  • なし : 修飾されていないオブジェクト名が常に使用されます。

Objects always qualified with tables
Objects never qualified with tables

オブジェクトを修飾する

特定のケースでオブジェクトをいつ修飾するかを選択します。

  • 常時 : 修飾オブジェクト名は常に使用されます(例: <schema_name>.<object_name>)。

  • 競合する場合 : 修飾されたオブジェクト名は、短縮名があいまいな場合 (たとえば、複数のスキーマに同じ名前のオブジェクトがある場合) にのみ使用されます。

  • なし : 修飾されていないオブジェクト名が常に使用されます。

Objects in JOIN completions always qualified
Objects in JOIN completions never qualified

JOIN の補完にエイリアスを使用する

JOIN ステートメント内のテーブルの別名を作成します。

Use aliases in completion for JOIN

自動生成された ON 句のオペランドの順序を逆にする

ON 句のオペランドを切り替えます。チェックボックスをオフにすると、FROM テーブルが JOIN 条件の最初になります。

Invert order of operands in auto-generated ON clause

名前の一致に基づいて厳密でない外部キーを提案する

JOIN ステートメントの可能なコード補完提案のリストを生成します。コード補完リストには、JOIN ステートメントのテーブルの列と同じ名前を持つ他のテーブルの列の提案が含まれます。

このオプションのデバッグルールの詳細については、仮想外部キーのデバッグルールを参照してください。

Suggest Non Strict Foreign Keys Based On The Name Matching is On
Suggest Non Strict Foreign Keys Based On The Name Matching is Off

テーブル名を補完するときにエイリアスを自動的に追加する

テーブル名のエイリアスを作成します。

Automatically add aliases when completing table names

テーブル名の後にエイリアス名を提案

コード補完(Ctrl+Space)を使用するときにテーブル名のエイリアスを提案します。

Suggest alias names in completion after table names

カスタムエイリアス (テーブル)

このテーブルに使用するテーブル名とエイリアスを追加できます。テーブルとエイリアスのペアを追加するには、エイリアスの追加ボタン(the Add alias button)をクリックします。

補完のヒントとテクニック

コード番号を入力して HTTP 定数を自動補完する

  • http などのインポートされたパッケージ名を指定した後、404 と入力して値を http.StatusNotFound に自動補完できます。

候補リストを絞り込む

  • 単語の一部(途中の文字でも可)を入力するか、ドット区切りの後にコード補完を呼び出すことによって、候補リストを絞り込みます。

    RubyMine は、入力した文字の位置に関係なく、入力した文字を含む候補を表示します。これにより、ワイルドカードの使用は不要になります。

    code completion wildcard

    CamelCase または snake_case 名の場合は、最初の文字のみを入力してください。RubyMine は自動的に頭文字を認識して照合します。

    code completion wildcard

リファレンスを表示する

  • 候補リストのエントリを選択するときに Ctrl+Shift+I を押すと、クイック定義ビューを使用できます。

    completion quick definition
  • Ctrl+Q を押すか、候補リストのエントリを選択すると自動的に クイック情報ビューを使用できます。

    Quick documentation

コード階層を表示する

候補リストからエントリを選択すると、コード階層を表示できます。

  • Ctrl+H : 型階層の表示

  • Ctrl+Shift+H : メソッドの階層を表示します。

トラブルシューティング

コード補完が機能しない場合は、次のいずれかの理由が考えられます。

  • 省電力モードがオンです(ファイル | 省電力モード)。これをオンにすると、エラーハイライト、オンザフライインスペクション、コード補完などのバックグラウンド操作を排除してラップトップの電力消費を最小限に抑えられます。

  • プロジェクトにインタープリターが設定されていません。

  • ファイルはコンテンツルート内に存在しないため、コード補完に必要なクラス定義とリソースを取得できません。

  • 補完候補リストに表示するクラスと関数を含むファイルは、プレーンテキストファイルとしてマークされます。

  • 補完候補リストに表示する関数を含む外部ライブラリは、依存関係またはグローバルライブラリとして追加されません。

  • 補完オプションの収集に時間がかかりすぎる場合、コード補完ポップアップは自動的に表示されないことがあります。例: コンピューターが別のタスクでビジー状態の場合。この場合でも、Ctrl+Space を介して補完ポップアップを手動でアクティブ化できます。

2025 年 12 月 02 日

関連ページ:

ライブテンプレート

コードスニペットを展開するには、対応するテンプレートの略語を入力し、を押します。テンプレート内の 1 つの変数から次の変数に移動するには、を押し続けます。を押して前の変数に移動します。ライブテンプレート(またはコードスニペット)を使用すると、頻繁に使用する構造をコードに挿入できます。これらには、条件、ブロック、ループなどがあります。例: 以下のアニメーションは、事前定義されたの省略形を使用してブロックをすばやく挿入する方法を示しています。RubyMine は、Ruby、Rails、RSpe...

ファイルタイプの関連付け

さまざまな言語やテクノロジーを表現するファイルの言語固有の機能 (構文のハイライトやコード分析など) については、RubyMine はファイルタイプのリストを保持しており、各ファイルタイプは言語サービスを 1 つ以上のファイル名パターンにリンクします。ファイルタイプのデフォルトのリストには、関連するすべてのファイル名パターンが含まれていますが、カスタム言語ファイルに新しいファイルタイプを追加したり、既存のファイルタイプに関連付けられたファイル名パターンを変更したりできます。エディターでファイルを...

スキーマ

RubyMine は、表示対象として選択したスキーマを表示します。これは、スキーマが多数ある場合に便利です。また、この方法を使用すると、イントロスペクションするスキーマを定義できます。イントロスペクション中、RubyMine はデータベースからメタデータをロードし、後でこのデータを使用します。スキーマ () は、データベースツールウィンドウにあります。その他のノードおよびオブジェクトアイコンのリファレンスについては、データベースツールウィンドウトピックのデータソースとその要素の章を参照してくださ...

仮想外部キー

明示的に定義された外部キーを使用したくない場合があります。外部キーを使用しない理由としては、パフォーマンスの問題(CRUD 操作)、データベースの特性(ClickHouse や Apache Cassandra などのデータベースは外部キーをサポートしていません)、一時テーブルの使用(テスト用)、個人的な理由などが挙げられます。この場合でも、データベースコードを変更せずに外部キーリレーションを作成できます。これを行うには、仮想外部キーを使用します。仮想外部キーは、IDE 仮想オブジェクトです。外...

定義と型定義

RubyMine では、クラス、フィールド、メソッド、関数、タグなどのシンボルがプロジェクト内のどこでどのように定義されているかを確認できます。この目的のために、IDE にはクイック定義ポップアップが用意されています。キャレットでシンボルの定義を表示エディター内のシンボルにキャレットを置き、を押します (またはメインメニューでクリックします)。あるいは、キーを押したまま、任意のシンボルの上にマウスを置きます。RubyMine はシンボルをリンクとして表示し、その定義をツールチップに表示しま...

コードの再フォーマットと再配置

RubyMine を使用すると、現在のコードスタイルスキームまたは .editorconfig ファイルで指定した要件に従ってコードを再フォーマットできます。で定義されていないものがあれば、プロジェクト設定から取得されます。コードの一部、ファイル全体、ファイルのグループ、ディレクトリ、モジュールを再フォーマットできます。また、コードの一部または一部のファイルを再フォーマットから除外することもできます。コードフラグメントを再フォーマットするエディターで、再フォーマットしたいコードフラグメントを選択しま...