RubyMine 2024.3 ヘルプ

コード補完

このセクションでは、コーディングプロセスのスピードアップを可能にするコンテキスト対応コード補完のさまざまなテクニックについて説明します。

基本補完

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

コード補完を呼び出すと、RubyMine はコンテキストを分析し、現在のキャレット位置から到達可能な選択肢を提案します (提案にはライブテンプレートも含まれます)。

基本補完を呼び出す

  1. 名前の入力を開始します。

  2. Ctrl+Space を押すか、メインメニューからコード | コード補完 | 基本を選択してください。

    Basic completion
  3. 必要に応じて、Ctrl+Space を 2 回押します(または Ctrl+Alt+Space を押します)。

    補完ポップアップには、宣言されたすべての名前が表示されます。この場合、RubyMine は、現在のコンテキストで適切かどうかに関係なく、テキストベースの結果を提案します。

    Declared names completion

ヒッピー補完

ヒッピー補完は、目に見える範囲でテキストを分析し、現在のコンテキストから提案を生成する補完エンジンです。それは現在開いているファイルのどれからでもどんな単語でも補完するのに役立ちます。

キャレットの文字列を既存の単語に展開する

  1. 最初の文字列を入力し、次のいずれかを実行します。

    • Alt+/ を押すか、コード | コード補完 | 単語の補完を選択して、キャレットの前に一致する単語を検索します。

    • Alt+Shift+/ を押すか、コード | コード補完 | 単語の補完(後方)を選択して、キャレットの後ろにある他の開いているファイルで一致する単語を検索します。

    提案された最初の値が表示され、プロトタイプがソースコードでハイライトされます。

    Expand word
  2. 提案を受け入れるか、Alt キーを押しながら希望の単語が見つかるまで \ を押し続けます。

後置コード補完

後置コード補完を使うと、コードを書くときの後方キャレット移動を減らすことができます。すでにタイプされた式は、ドット、式のタイプ、そのコンテキストの後に入力する接尾辞に基づいて別のものに変換できます。

後置の補完を有効にして設定する

  • 設定ダイアログ (Ctrl+Alt+S) で、エディター | 一般 | 後置補完を開き、後置補完を有効にするチェックボックスを選択します。

  • 接尾辞テンプレートの展開に使用する TabSpaceEnter を選択します。

  • 選択した言語の特定の接尾辞テンプレートを有効 / 無効にします。

後置でステートメントを変換する

  1. 式を入力し、ドットの後に接尾辞を入力します(例: .if)。

    Postfix completion
  2. (オプションの手順)必要に応じて、条件として使用される式を選択します。

    Postfix completion expression
  3. Enter 押下:

    Postfix completion result

エディター | 一般 | 後置補完設定ページ Ctrl+Alt+S で、特定の接尾辞補完テンプレートを無効にすることができます。

TabSpaceEnter を選択して、接尾辞テンプレートを展開できます。

たとえば、長いキーを短いキーに置き換えるか、適用可能な式の種類のリストを展開するなど、あらかじめ定義されたポストフィックステンプレートを編集できます。

カスタム後置テンプレートを作成する

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

  2. ツールバーの追加ボタン(the Add button)をクリックします。

  3. 開いた新規テンプレートの作成ダイアログで、テンプレートを呼び出すドットの後の記号の組み合わせであるキーを指定します。

  4. 新しいテンプレートを適用できる式の種類を選択し、ターゲットの式を次の形式で入力します: $EXPR$ <target_expression>、たとえば $EXPR$ =!null

タグと属性の補完

RubyMine は、多くのファイルタイプのタグと属性の名前と値を自動的に補完します。

タグ名の補完

  1. 開始 < を入力し、タグ名の入力を開始します。RubyMine は、現在のコンテキストに適したタグ名のリストを表示します。

    Tags completion

    リストをスクロールするには、Up キーと Down キーを使用します。

  2. Enter を押して、リストから選択を受け入れます。ファイルがスキーマまたは DTD に関連付けられている場合、RubyMine はそれに応じて必須属性を自動的に挿入します。

taglib 宣言をインポートする

タグライブラリで宣言されたタグを使用する必要がある場合は、このタグライブラリをインポートしてからカスタムタグを使用する必要があります。

  1. taglib 接頭辞を入力して、Alt+Insert を押してください。

  2. リストから taglib を選択し、Enter を押します。

    RubyMine は選択したタグライブラリをインポートし、インポートステートメントを自動的に追加します。

taglib で宣言されたタグを挿入する

  1. タグの入力を開始し、Ctrl+Alt+Space を押します。

  2. リストからタグを選択します。角括弧には、それが属する taglib の uri が表示されます。

    Tag completion: before
  3. タグライブラリを選択し、Enter を押します。RubyMine は選択したタグライブラリの宣言を追加します。

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

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 つだけある場合は、コードを自動的に補完します。

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

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

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

入力時に候補を表示する

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

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

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

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

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

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

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

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

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

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

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

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

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

補完ポップアップから補完設定を開く

補完ポップアップから直接コード補完設定にすばやくアクセスできます。

  • 補完ポップアップの アイコンをクリックして、コード補完設定を選択します。

    Opening completion settings

その後、エディター | 一般 | コード補完設定ページ Ctrl+Alt+S が開きます。

候補リストを絞り込む

  • 単語の任意の部分 (途中の文字でも) を入力するか、ドット区切り文字の後にコード補完を呼び出すことで、候補リストを絞り込むことができます。RubyMine は、任意の位置に入力した文字を含む候補を表示します。

    これはワイルドカードの使用を不要にします:

    code completion wildcard

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

    code completion wildcard

提案を受け入れる

次のいずれかの方法で、リストから提案を受け入れることができます。

  • Enter を押すか、リスト項目をダブルクリックして、キャレットの左側に挿入します。

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

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

  • 特定のキーとカスタム文字を使用して、選択した補完候補を受け入れることもできます。これらの機能を有効にするには、エディター | 一般 | コード補完設定ページ Ctrl+Alt+S に移動し、次の操作を行います。

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

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

リファレンスを表示する

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

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

    Quick documentation

コード階層を表示する

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

  • Ctrl+H - 型階層の表示

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

トラブルシューティング

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

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

  • プロジェクト用に SDK が構成されていません。

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

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

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

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

関連ページ:

ライブテンプレート

ライブテンプレート(またはコードスニペット)を使用すると、頻繁に使用する構造をコードに挿入できます。これらには、条件、ブロック、ループなどがあります。例: 以下のアニメーションは、事前定義されたの省略形を使用してブロックをすばやく挿入する方法を示しています。RubyMine は、Ruby、Rails、RSpec、JavaScript などを含む、さまざまな言語およびフレームワーク用の多数の事前定義済みテンプレートを提供します。必要に応じて、事前定義されたテンプレートをカスタマイズしたり、新しいテ...

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

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

スタイルシート

RubyMine を使用すると、Sass、Less、SCSS、Stylus など、CSS およびそれにコンパイルされるさまざまな言語でスタイル定義を記述できます。スタイルシートのドキュメントの検索、ルールセットの作成と移動、変数の導入などもできます。始める前に:設定で CSS プラグインが有効になっていることを確認します。を押して設定を開き、を選択します。インストール済みタブをクリックします。検索フィールドに CSS と入力します。プラグインの詳細については、プラグインのマッピングを参照してください。コ...

React

React は、カプセル化されたコンポーネントから複雑なインタラクティブユーザーインターフェースを構築するための JavaScript ライブラリです。React オフィシャル Web サイトからライブラリの詳細を参照してください。RubyMine は、React と統合され、lint の設定、編集、実行、デバッグ、アプリケーションの保守を支援します。始める前に:お使いのコンピューターに Node.js がインストールされていることを確認してください。設定 | プラグインページのインストール済みタブ...

Emmet

Emmet ツールキットは、HTML、CSS、JSX によるコーディングを強化します。RubyMine を移動せずに Emmet コードテンプレートを使用できます。テンプレートを正しいマークアップに展開するには、その略語を入力してを押します。を別のキーに置き換えるには、「略語拡張キーを構成する」を参照してください。例: HTML ファイルでと入力し、を押して 3 × 2 テーブルのスタブを取得します。<table> <tr> <td></td>...

npm、pnpm、Yarn

RubyMine は npm、pnpm、Yarn、Yarn 2、Yarn 3 と統合されているため、組み込みのターミナルで、IDE 内から再利用可能なコードのパッケージをインストール、検索、更新、削除できます。RubyMine では、npm、Yarn、pnpm スクリプトを実行およびデバッグすることもできます。RubyMine は、package.json ファイルを解析してスクリプトの定義を認識し、スクリプトをツリービューに表示して、ツリー内のスクリプトと package.json ファイル内のその定...