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

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

リストからの提案を受け入れる
Enter を押すか、該当するリストアイテムをダブルクリックして、キャレットの左側に挿入します。
Tab を押して、キャレットから右にある文字を置き換えます。
Ctrl+Shift+Enter を使用して、現在のコード構成を構文上正しいものにします(括弧のバランス、欠落している中括弧とセミコロンの追加など)。
特定のキーとカスタム文字を使用して、選択した補完候補を承認します。これらの機能を有効にするには、エディター | 一般 | コード補完の設定ページ(Ctrl+Alt+S)に移動し、以下の操作を行ってください。
特定のキーを使用するには、スペース、ドット、その他のコンテキスト依存キーを押して選択した候補を挿入するチェックボックスをオンにします。これらのキーは、言語、コンテキストなどによって異なります。
カスタム文字も使用するには、補完を受け入れるための追加文字フィールドに文字を入力します。
機械学習による補完ランキング
RubyMine を使用すると、他のユーザーが同様の状況で行った選択に基づいて、補完の提案に優先順位を付けることができます。
ML 補完メカニズムは新しい要素を追加するのではなく、コードから取得した要素を順序付けます。データはどこにも公開されず、ローカルで収集されます。
ML 補完ランキングを有効にする
Ctrl+Alt+S を押して設定を開き、エディター | 一般 | コード補完を選択します。
機械学習支援による補完で、機械学習に基づいてコード補完の候補を並び替えオプションを有効にし、ML 補完を使用する言語を選択します。

関連性マーカーを有効にする
Ctrl+Alt+S を押して設定を開き、エディター | 一般 | コード補完を選択します。
次のオプションを有効にします。
補完ポップアップで順位の変更箇所に印を付ける :
および
アイコンを使用して、提案の関連性が増加しているか減少しているかを示し、その結果、提案が候補リストを上下に移動したことを示します。
補完ポップアップで最も関連性の高い項目に印を付ける :
アイコンを使用して、リストで最も適切な提案を示します。
候補リストは次のようになり、アイコンは並べ替えられたことを示し、最も関連性の高いアイテムが表示されます。

コード補完設定の構成
コード補完オプションを構成するには、エディター | 一般 | コード補完設定ページ Ctrl+Alt+S に移動します。
次の設定を選択できます。
項目 | 説明 | |
|---|---|---|
大 / 小文字を区別する | 補完候補で大文字と小文字を考慮するかどうかを選択します。最初の文字の大文字と小文字を一致させるか、すべての文字を一致させるかを選択します。 | |
単一の候補を自動的に挿入 | 基本的な型一致補完とスマート型一致補完の候補が 1 つしかない場合は、コードを自動的に補完します。 | |
候補をアルファベット順に並べ替え | 候補リスト内の項目を関連性によって並べ替えるのではなく、アルファベット順に並べ替える場合に選択します。 この動作は、候補リストの | |
入力時に候補を表示する | 補完を明示的に呼び出すことなく、候補リストを自動的に呼び出す場合に選択します。このオプションはデフォルトで有効になっています。 | |
スペース、ドット、その他のコンテキスト依存キーを押して選択した候補を挿入する | 選択した候補を挿入する場合は、言語、コンテキストなどに依存する特定のキーを入力して選択します。 | |
ドキュメントのポップアップ表示までの時間 | 候補リスト内の各項目に対して、ルックアップリストで現在ハイライトされているクラス、メソッド、フィールドのドキュメントを含むポップアップを自動的に表示します。 このオプションが無効になっている場合は、Ctrl+Q を押すと要素のドキュメントが表示されます。 右側のフィールドで、ポップアップが表示されるまでの遅延(ミリ秒)を指定します。 | |
可能な場合は丸括弧を自動的に挿入 | このオプションを有効にすると、関数 / メソッドを補完すると、RubyMine によって開き括弧と閉じ括弧のペアが自動的に挿入されます。 チェックボックスをオフにすると、括弧の挿入が自動的に抑制されます。 Enter の代わりに開き括弧 Enter の代わりに開き括弧 詳細は、特定のキーを使用して提案を挿入するを参照してください。 | |
HTML | ||
HTML テキストの入力時にタグ名コード補完の自動ポップアップを有効にする | HTML コンテキストでは、山括弧括弧を開始せずにプレーンテキストを入力した場合でも、デフォルトで RubyMine が補完候補を表示します。 自動ポップアップをオフにするには、チェックボックスをオフにします。 | |
JavaScript | ||
型ベース補完のみ | デフォルトでは、RubyMine は、型に関係なく、シンボルの補完を提案します。このアプローチでは、複雑な場合、リストに複数の補完バリアントが表示されます。 補完をより正確にするには、このオプションを選択します。補完リストは、RubyMine の推論に強く依存します。その結果、推論が不十分な場合にリストが空のままになることがあります。 | |
Null 許容型に対するオプショナルチェイニングの使用を提案 | デフォルトでは、RubyMine はオプショナルチェイニング演算子 (?) でシンボルの補完を提案します。この動作を抑制するには、このチェックボックスをオフにします。 | |
補完時にメソッド本体をオーバーライド用に展開する | デフォルトでは、親クラスまたはインターフェースからメソッドをオーバーライドし、補完候補のリストからこのメソッドを選択する場合、RubyMine はパラメーターを自動的に追加し、可能であれば このチェックボックスをオフにすると、補完時にオーバーライドのメソッド本体が自動的に生成されなくなります。 | |
名前の補完 |
| |
パラメーター情報 | ||
補完時にパラメーター名ヒントを表示する | パラメーター値のヒントを表示する場合に選択します。 | |
パラメーター情報ポップアップを表示する (ミリ秒) | このチェックボックスをオンにすると、エディターで左括弧が入力されるか、候補リストからメソッドが選択されたときに、RubyMine が利用可能なすべてのメソッドシグネチャーを含むポップアップを自動的に表示します。 右側のテキストフィールドに、ポップアップウィンドウが表示されるまでの遅延時間(ミリ秒単位)を指定します。 このチェックボックスが選択されていない場合は、Ctrl+P を使用してパラメーター情報を表示します。 | |
完全なメソッドシグネチャーを表示する | このチェックボックスをオンにすると、パラメーター情報にメソッド名や返された型などの完全なシグネチャーが表示されます。 | |
Ruby | ||
名前空間全体にわたる一致候補 | このオプションを有効にすると、RubyMine はネストされたモジュール間で部分一致した定数やクラスも候補として表示します。たとえば、 | |
'::' の後にメソッドを提案する | このオプションは、 | |
入力時に最初の候補を事前に選択する | このオプションを使用すると、コードの入力を続けるときに、リストから最初の候補を事前に選択しておくことができます。 エディターまたはコンソールでの作業に有効にするかどうかに応じて、それぞれのチェックボックスを選択します。 | |
SQL | ||
オブジェクトを提案する | オブジェクトが提案される場所を選択します:
![]() ![]() ![]() | |
オブジェクトを修飾する | オブジェクトをデータベース、スキーマ、テーブルとビュー、テーブルとビューの別名で修飾するタイミングを選択します。
![]() ![]() | |
オブジェクトを修飾する | 特定のケースでオブジェクトをいつ修飾するかを選択します。
![]() ![]() | |
JOIN の補完にエイリアスを使用する | ![]() | |
自動生成された ON 句のオペランドの順序を逆にする | ![]() | |
名前の一致に基づいて厳密でない外部キーを提案する | このオプションのデバッグルールの詳細については、仮想外部キーのデバッグルールを参照してください。 ![]() ![]() | |
テーブル名を補完するときにエイリアスを自動的に追加する | テーブル名のエイリアスを作成します。 ![]() | |
テーブル名の後にエイリアス名を提案 | コード補完(Ctrl+Space)を使用するときにテーブル名のエイリアスを提案します。 ![]() | |
カスタムエイリアス (テーブル) | このテーブルに使用するテーブル名とエイリアスを追加できます。テーブルとエイリアスのペアを追加するには、エイリアスの追加ボタン( | |
補完のヒントとテクニック
コード番号を入力して HTTP 定数を自動補完する
httpなどのインポートされたパッケージ名を指定した後、404と入力して値をhttp.StatusNotFoundに自動補完できます。
候補リストを絞り込む
単語の一部(途中の文字でも可)を入力するか、ドット区切りの後にコード補完を呼び出すことによって、候補リストを絞り込みます。
RubyMine は、入力した文字の位置に関係なく、入力した文字を含む候補を表示します。これにより、ワイルドカードの使用は不要になります。

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

リファレンスを表示する
コード階層を表示する
候補リストからエントリを選択すると、コード階層を表示できます。
Ctrl+H : 型階層の表示
Ctrl+Shift+H : メソッドの階層を表示します。
トラブルシューティング
コード補完が機能しない場合は、次のいずれかの理由が考えられます。
省電力モードがオンです()。これをオンにすると、エラーハイライト、オンザフライインスペクション、コード補完などのバックグラウンド操作を排除してラップトップの電力消費を最小限に抑えられます。
プロジェクトにインタープリターが設定されていません。
ファイルはコンテンツルート内に存在しないため、コード補完に必要なクラス定義とリソースを取得できません。
補完候補リストに表示するクラスと関数を含むファイルは、プレーンテキストファイルとしてマークされます。
補完候補リストに表示する関数を含む外部ライブラリは、依存関係またはグローバルライブラリとして追加されません。
補完オプションの収集に時間がかかりすぎる場合、コード補完ポップアップは自動的に表示されないことがあります。例: コンピューターが別のタスクでビジー状態の場合。この場合でも、Ctrl+Space を介して補完ポップアップを手動でアクティブ化できます。
関連ページ:
ライブテンプレート
コードスニペットを展開するには、対応するテンプレートの略語を入力し、を押します。テンプレート内の 1 つの変数から次の変数に移動するには、を押し続けます。を押して前の変数に移動します。ライブテンプレート(またはコードスニペット)を使用すると、頻繁に使用する構造をコードに挿入できます。これらには、条件、ブロック、ループなどがあります。例: 以下のアニメーションは、事前定義されたの省略形を使用してブロックをすばやく挿入する方法を示しています。RubyMine は、Ruby、Rails、RSpe...
ファイルタイプの関連付け
さまざまな言語やテクノロジーを表現するファイルの言語固有の機能 (構文のハイライトやコード分析など) については、RubyMine はファイルタイプのリストを保持しており、各ファイルタイプは言語サービスを 1 つ以上のファイル名パターンにリンクします。ファイルタイプのデフォルトのリストには、関連するすべてのファイル名パターンが含まれていますが、カスタム言語ファイルに新しいファイルタイプを追加したり、既存のファイルタイプに関連付けられたファイル名パターンを変更したりできます。エディターでファイルを...
スキーマ
RubyMine は、表示対象として選択したスキーマを表示します。これは、スキーマが多数ある場合に便利です。また、この方法を使用すると、イントロスペクションするスキーマを定義できます。イントロスペクション中、RubyMine はデータベースからメタデータをロードし、後でこのデータを使用します。スキーマ () は、データベースツールウィンドウにあります。その他のノードおよびオブジェクトアイコンのリファレンスについては、データベースツールウィンドウトピックのデータソースとその要素の章を参照してくださ...
仮想外部キー
明示的に定義された外部キーを使用したくない場合があります。外部キーを使用しない理由としては、パフォーマンスの問題(CRUD 操作)、データベースの特性(ClickHouse や Apache Cassandra などのデータベースは外部キーをサポートしていません)、一時テーブルの使用(テスト用)、個人的な理由などが挙げられます。この場合でも、データベースコードを変更せずに外部キーリレーションを作成できます。これを行うには、仮想外部キーを使用します。仮想外部キーは、IDE 仮想オブジェクトです。外...
定義と型定義
RubyMine では、クラス、フィールド、メソッド、関数、タグなどのシンボルがプロジェクト内のどこでどのように定義されているかを確認できます。この目的のために、IDE にはクイック定義ポップアップが用意されています。キャレットでシンボルの定義を表示エディター内のシンボルにキャレットを置き、を押します (またはメインメニューでクリックします)。あるいは、キーを押したまま、任意のシンボルの上にマウスを置きます。RubyMine はシンボルをリンクとして表示し、その定義をツールチップに表示しま...
コードの再フォーマットと再配置
RubyMine を使用すると、現在のコードスタイルスキームまたは .editorconfig ファイルで指定した要件に従ってコードを再フォーマットできます。で定義されていないものがあれば、プロジェクト設定から取得されます。コードの一部、ファイル全体、ファイルのグループ、ディレクトリ、モジュールを再フォーマットできます。また、コードの一部または一部のファイルを再フォーマットから除外することもできます。コードフラグメントを再フォーマットするエディターで、再フォーマットしたいコードフラグメントを選択しま...














