IntelliJ IDEA 2020.1ヘルプ

コード補完

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

基本補完

基本コード補完は、可視性スコープ内のクラス、メソッド、フィールド、およびキーワードの名前を完成させるのに役立ちます。コード補完を呼び出すと、IntelliJ IDEAはコンテキストを分析し、現在のキャレット位置から到達可能な選択肢を提案します(提案にはライブテンプレートも含まれます)。

基本コード補完がフィールド、パラメーター、または変数宣言の一部に適用されている場合、IntelliJ IDEAは項目タイプに応じて可能な名前のリストを提案します。

基本コード補完を2回目に呼び出すと、アクセスできないクラスとメンバーが表示されます(これらはインテンションアクションを適用することで公開できます)。

3回連続して呼び出されると、IntelliJ IDEAは依存関係に関係なく、プロジェクト全体でクラスとインターフェース名の候補を探します。必要なクラスがまだインポートされていない場合は、自動的にインポートされます。

基本補完を呼び出す

  1. 名前の入力を開始します。デフォルトでは、IntelliJ IDEAは入力時に自動的にコード補完ポップアップを表示します。自動補完が無効になっている場合は、Ctrl+Space を押すか、メインメニューからコード | コード補完 | 基本を選択します。

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

    これは、アクセスできないクラスとメンバー、および静的なフィールドとメソッドを示しています。

    codeCompletionSecondClass1.png
  3. 3回目に呼び出されると、基本コード補完は、依存関係にかかわらず、候補リストをプロジェクト全体のすべてのクラスに展開します。

スマート補完

スマートコード補完は候補リストをフィルタリングし、現在のコンテキストに適用可能なタイプのみを表示します。

スマート補完は適切な型を決定することが可能である状況で役に立ちます:

  • 代入文の右側の部分

  • 可変イニシャライザ

  • return ステートメント

  • メソッド呼び出しの引数リスト

  • オブジェクト宣言の new キーワードの後

  • 連鎖式内

スマート補完を呼び出す

  1. 入力を開始します。デフォルトでは、IntelliJ IDEAは入力時に自動的にコード補完ポップアップを表示します。自動補完が無効になっている場合は、Ctrl+Shift+Space を押すか、メインメニューからコード | コード補完 | スマート入力を選択します。

    smart type completion
  2. 必要に応じてもう一度 Ctrl+Shift+Space を押してください。これにより次のことができます。
    • コレクション、リスト、配列IntelliJ IDEAは、同じコンポーネントタイプのシンボルを検索し、変換することを提案します。

    • 静的メソッド呼び出しまたは定数参照。IntelliJ IDEAは静的メソッドとフィールドをスキャンし、現在のコンテキストに適したメソッドを提案します。

    smart type completion second call

ステートメント補完

文の補完を使用して、構文的に正しいコード構成体を作成できます。必要な構文要素(括弧、中括弧、セミコロン)を挿入して、次のステートメントの入力を開始できる位置に移動します。

メソッド宣言を補完する

  • メソッド宣言の入力を開始し、左括弧の後に Ctrl+Shift+Enter を押します。

コード構成を補完する

  • コード構成の入力を開始し、Ctrl+Shift+Enterを押します。

    IntelliJ IDEAは、構成を自動的に完了し、必要な句読点を追加します。キャレットは次の編集位置に配置されます。

メソッド呼び出しの引数をラップする

  • 式を入力します。次に、メソッド呼び出しを入力します。 println が候補リストでフォーカスを取得したら、Ctrl+Shift+Enterで選択します。

ヒッピー補完

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

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

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

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

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

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

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

後置コード補完

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

  • 利用可能な後置テンプレートの完全なリストを表示するには、設定/環境設定ダイアログ Ctrl+Alt+Sエディター | 一般 | 後置補完に移動します。

  • 接尾辞テンプレートを展開するには、Tab , Spaceまたは Enter を選択します。

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

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

    public class Foo { void m(boolean b) { b.if } }
    fun foo(x: Boolean) { x.if }

    最初の式は if ステートメントでラップされます。

    public class Foo { void m(boolean b) { if (b) { } } }
    fun foo(x: Boolean) { if (x) { } }

特定の接尾辞補完テンプレートを無効にするには、設定/環境設定ダイアログ Ctrl+Alt+Sエディター | 一般 | 後置補完を選択します。

接尾辞テンプレートを拡張するには、Tab , Spaceまたは Enter を選択できます。

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

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

  1. 設定/環境設定ダイアログ Ctrl+Alt+Sで、エディター | 一般 | 後置補完に移動します。

  2. ツールバーの the Add button をクリックします。

  3. キー、つまりテンプレートを呼び出すシンボルの組み合わせを指定し、新しいテンプレートを適用する式の種類を選択して、ターゲット式を $EXPR$ <target_expression>$EXPR$ =!nullなど)の形式で入力します。

タグと属性の完成

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

タグと属性名の補完は、ファイルが関連付けられているDTDまたはスキーマに基づいています。スキーマ関連がない場合、IntelliJ IDEAはファイル内容(タグと属性名とその値)を使用して入力を完了します。

XML/XSLJSP/JSPXファイルでは、taglibと名前空間の補完が利用できます。

タグ名の補完

  1. < を押し、タグ名の入力を開始します。IntelliJ IDEAは、現在のコンテキストで適切なタグ名のリストを表示します。

    Tags completion

    UpDown のボタンを使ってリストをスクロールします。

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

taglib宣言をインポートする

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

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

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

    Import taglib declaration

    IntelliJ IDEAは選択されたtaglibをインポートし、import文を自動的に追加します。

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

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

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

    Tag completion: before

  3. 目的のtaglibを選択し、Enterを押します。IntelliJ IDEAは、選択したtaglibの宣言を追加します。

    Tag completion: after

コード補完設定を構成する

コード補完オプションを構成するには、設定/環境設定ダイアログ Ctrl+Alt+Sエディター | 一般 | コード補完に移動します。

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

項目

説明

大/小文字を区別する

補完候補で大文字と小文字を区別するかどうかを選択します。最初の文字を大文字にするか、すべての文字を大文字にするかを選択します。

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

基本補完やスマートな補完の提案が1つしかない場合に、コードを自動的に補完するかどうかを選択します。

候補をアルファベット順にソートする

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

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

入力時に候補を表示する

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

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

選択した候補を挿入する場合は、言語、コンテキストなどに依存する特定のキーを入力して選択します。Javaの場合、このようなキーにはSpace、Tab、[and]、(and)などが含まれます。

ドキュメントのポップアップを次で表示

選択リストの各項目のポップアップを自動的に表示し、現在、ルックアップリストで強調表示されているクラス、メソッド、またはフィールドのドキュメントを表示する場合に選択します。

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

機械学習に基づいたランク補完の提案

機械学習モデルを利用して、最適なアイテムを候補リストの上位にランク付けする場合に選択します。

JavaScript

タイプベース補完のみ

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

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

null 許容型の Optional チェーンを持つアイテムを提案する

By default, IntelliJ IDEA suggests completion for symbols with the オプションの連鎖演算子 (?) . Clear this checkbox to suppress this behavior.

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

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

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

名前の補完

  • 変数名とパラメーター名を提案する : デフォルトでは、チェックボックスが選択されており、IntelliJ IDEAは宣言中に新しい変数とパラメーターの名前を提案します。これらの提案は、プロジェクト、使用しているライブラリ、および標準APIで定義されているクラス、タイプ、およびインターフェースの名前に基づいています。

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

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

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

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

パラメーター情報

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

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

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

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

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

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

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

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

SQL

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

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

Use aliases in completion for JOIN

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

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

Invert order of operands in auto-generated ON clause

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

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

Automatically add aliases when completing table names

テーブル名の後に補完のエイリアス名を提示する

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

Suggest alias names in completion after table names

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

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

クラスまたはパッケージを補完から除外する

  1. 設定/環境設定ダイアログ Ctrl+Alt+Sエディター | 一般 | 自動インポートを選択します。

  2. インポートおよび補完から除外で、除外したいクラスまたはパッケージの名前を追加します。ここで指定したクラスは、候補リストには表示されません。

補完候補がエディターに表示されたら選択することもできます: Alt+Enter を押してそこから除外を選択してください:

Exclude from completion

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

候補リストを絞り込む

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

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

    codeCompletionWildcard.png

    CamelCaseまたはsnake_caseの名前の場合は、最初の文字のみを入力します。IntelliJ IDEAは最初の文字を自動的に認識して一致させます。

提案を受け入れる

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

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

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

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

特定のキーを使用して、選択した補完候補を挿入することもできます。設定/環境設定ダイアログ Ctrl+Alt+Sエディター | 一般 | コード補完を選択し、スペース、ドット、その他のコンテキスト依存キーを押して選択した候補を挿入するオプションを選択します。これらのキーは、言語、コンテキストなどに依存します。Javaの場合、このようなキーには Space , Tab , [ および ] , ( および )などが含まれます。

式を否定する

候補リストから式を選択した後で ! を押すと、Javaで式を否定できます。その結果、式は否定されます。

スペース、ドット、その他のコンテキスト依存キーを押して選択した候補を挿入するオプションがコード補完設定ページで有効になっているか、コード補完を明示的に呼び出すか、または候補リスト内の選択を明示的に変更すると、式を否定することができます。

補完ショートカット

最も頻繁に使用されるステートメントの1つに対して、次のライブテンプレートショートカットを使用できます。

  • sout : System.out.printIn()を印刷する

  • soutm : 現在のクラスとメソッド名を追加する

  • soutp : メソッドのパラメータ名と値を追加する

  • soutv : 最後の変数値を追加する

リファレンスを表示する

コード階層を表示する

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

  • Ctrl+H - 型階層の表示

  • Ctrl+Alt+H - 呼び出し階層を表示します。

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

機械学習支援コード補完を使用する

機械学習モデルを利用して、候補リストで最も適切なアイテムを上位にランク付けできます。

これを行うには、設定/環境設定ダイアログで Ctrl+Alt+Sエディター | 一般 | コード補完に移動し、機械学習アシスト補完機械学習に基づいたランク補完の提案オプションを有効にします。

IntelliJ IDEAで補完がどのように機能するかについて詳しくは、このビデオを参照してください。

トラブルシューティング

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

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

  • プロジェクトにJDKが設定されていません。

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

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

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

最終更新日: 2020年6月2日

関連ページ:

ライブ・テンプレート

ライブテンプレートを使用して、ループ、条件、さまざまな宣言、印刷ステートメントなどの一般的な構造をコードに挿入します。コードスニペットを展開するには、対応するテンプレートの省略形を入力して を押します。 を押し続けると、テンプレート内の1つの変数から次の変数にジャンプします。 を押して、前の変数...

ファイルタイプの関連付けを設定する

IntelliJ IDEAで認識されないファイルタイプ(社内で開発された独自のファイルタイプなど)を使用している場合や、サポートされていない言語でコーディングする必要がある場合は、カスタムファイルタイプを作成できます。キーワード、コメント、数字などの強調表示スキームを定義することによって、IDEがフ...

インテンション・アクション

エディターで作業するときに、IntelliJ IDEAはコードを分析し、コードを最適化する方法を検索し、潜在的な問題と実際の問題を検出します。IDEがコードを変更する方法を見つけるとすぐに、エディターの現在の行の横に黄色い電球アイコンが表示されます。このアイコンをクリックすると、このコード単位で使用...

自動インポート

まだインポートしていないクラス、静的メソッド、または静的フィールドを使用している場合は、欠落しているimportステートメントを追加するように指示するポップアップが表示され、手動で追加する必要はありません。提案を受け入れるには を押します。インポート可能なソースが複数ある場合、 を押すと候補のリス...

スタイル・シート

IntelliJ IDEAを使用すると、Sass、Less、SCSS、Stylusなど、CSSおよびそれにコンパイルされるさまざまな言語でスタイル定義を記述できます。スタイルシートのドキュメントの検索、ルールセットの作成と移動、変数の導入などもできます。始める前に:CSSにバンドルされたプラグインが...

React

Reactは、カプセル化されたコンポーネントから複雑な対話的なユーザーインターフェースを構築するためのJavaScriptライブラリです。ReactオフィシャルWebサイトからライブラリの詳細を学びましょう。IntelliJ IDEAは、Reactと統合され、lintの設定、編集、実行、デバッグ、お...