コード補完
このセクションでは、コーディングプロセスのスピードアップを可能にするコンテキスト対応コード補完のさまざまなテクニックについて説明します。
基本補完
基本コード補完は、可視性スコープ内のクラス、メソッド、フィールド、キーワードの名前を完成させるのに役立ちます。コード補完を呼び出すと、IntelliJ IDEA はコンテキストを分析し、現在のキャレット位置から到達可能な選択肢を提案します(提案にはライブテンプレートも含まれます)。
基本コード補完がフィールド、パラメーター、または変数宣言の一部に適用されている場合、IntelliJ IDEA は項目型に応じて可能な名前のリストを提案します。
2 回目に基本コード補完を呼び出すと、アクセスできないクラスとメンバーが表示されます(これらはインテンションアクションを適用することで公開できます)。
IntelliJ IDEA は、3 回連続で呼び出されると、依存関係に関係なく、プロジェクト全体でクラスとインターフェース名の候補を探します。必要なクラスがまだインポートされていない場合は、自動的にインポートされます。
基本補完を呼び出す
名前の入力を開始します。デフォルトでは、IntelliJ IDEA は入力時に自動的にコード補完ポップアップを表示します。自動補完が無効になっている場合は、 Ctrl+Space を押すか、メインメニューから
を選択します。必要に応じて、 Ctrl+Space を 2 回押します(または Ctrl+Alt+Space を押します)。
これは、アクセスできないクラスとメンバー、および静的なフィールドとメソッドを示しています。
3 回目に呼び出されると、基本コード補完は、依存関係にかかわらず、候補リストをプロジェクト全体のすべてのクラスに展開します。
スマート補完
スマートコード補完は候補リストをフィルタリングし、現在のコンテキストに適用可能な型のみを表示します。
スマート補完は適切な型を決定することが可能である状況で役に立ちます:
代入文の右側の部分
可変イニシャライザ
return
ステートメントメソッド呼び出しの引数リスト
オブジェクト宣言の
new
キーワードの後連鎖式内
スマート補完を呼び出す
入力を開始します。デフォルトでは、IntelliJ IDEA は入力時に自動的にコード補完ポップアップを表示します。自動補完が無効になっている場合は、 Ctrl+Shift+Space を押すか、メインメニューから
を選択します。- 必要に応じてもう一度 Ctrl+Shift+Space を押してください。これにより次のことができます。
コレクション、リスト、配列 IntelliJ IDEA は、同じコンポーネントタイプのシンボルを検索し、変換することを提案します。
静的メソッド呼び出しまたは定数参照。IntelliJ IDEA は静的メソッドとフィールドをスキャンし、現在のコンテキストに適したメソッドを提案します。
ステートメント補完
文の補完を使用して、構文的に正しいコード構成体を作成できます。必要な構文要素(括弧、中括弧、セミコロン)を挿入して、次のステートメントの入力を開始できる位置に移動します。
メソッド宣言を補完する
メソッド宣言の入力を開始し、左括弧の後に Ctrl+Shift+Enter を押します。
コード構成を補完する
コード構成の入力を開始し、 Ctrl+Shift+Enter を押します。
IntelliJ IDEA は、構成を自動的に完了し、必要な句読点を追加します。キャレットは次の編集位置に配置されます。
メソッド呼び出しの引数をラップする
式を入力します。次に、メソッド呼び出しを入力します。
println
が候補リストでフォーカスを取得したら、 Ctrl+Shift+Enter で選択します。
ヒッピー補完
ヒッピー補完は、目に見える範囲でテキストを分析し、現在のコンテキストから提案を生成する補完エンジンです。それは現在開いているファイルのどれからでもどんな単語でも完成させるのに役立ちます。
キャレットの文字列を既存の単語に展開する
最初の文字列を入力し、次のいずれかを実行します。
Alt+/ を押すか、
を選択して、キャレットの前に一致する単語を検索します。Alt+Shift+/ を押すか、
を選択して、キャレットの後ろにある他の開いているファイルで一致する単語を検索します。
提案された最初の値が表示され、プロトタイプがソースコードでハイライトされます。
提案を受け入れるか、 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 を選択できます。
たとえば、長いキーを短いキーに置き換えるか、適用可能な式の種類のリストを展開するなど、あらかじめ定義されたポストフィックステンプレートを編集できます。
カスタム後置テンプレートを作成する
設定 / 環境設定ダイアログ Ctrl+Alt+S で、エディター | 一般 | 後置補完に移動します。
ツールバーの
をクリックします。
キー、つまりテンプレートを呼び出すシンボルの組み合わせを指定し、新しいテンプレートを適用する式の種類を選択して、ターゲット式を
$EXPR$ <target_expression>
($EXPR$ =!null
など)の形式で入力します。
タグと属性の完成
IntelliJ IDEA は、多くのファイルタイプのタグと属性の名前と値を自動的に補完します。
CSS クラスおよび JSX 内の HTML タグの補完を含む HTML / XHTML。
JSP
/JSPXGSP
JSON、詳しくは package.json の編集を参照してください。
タグと属性名の補完は、ファイルが関連付けられている DTD またはスキーマに基づいています。スキーマ関連がない場合、IntelliJ IDEA はファイル内容(タグと属性名とその値)を使用して入力を完了します。
XML/XSL と JSP/JSPX ファイルでは、taglib と名前空間の補完が利用できます。
タグ名の補完
< を押し、タグ名の入力を開始します。IntelliJ IDEA は、現在のコンテキストで適切なタグ名のリストを表示します。
Up と Down のボタンを使ってリストをスクロールします。
Enter を押して、リストから選択を受け入れます。ファイルがスキーマまたは DTD に関連付けられている場合、IntelliJ IDEA はそれに応じて必須属性を自動的に挿入します。
taglib 宣言をインポートする
タグライブラリで宣言されたタグを使用する必要がある場合は、このタグライブラリをインポートしてからカスタムタグを使用する必要があります。
taglib 接頭辞を入力して、 Alt+Insert を押してください。
リストから taglib を選択し、 Enter を押します。
IntelliJ IDEA は選択された taglib をインポートし、import 文を自動的に追加します。
taglib で宣言されたタグを挿入する
タグの入力を開始し、 Ctrl+Alt+Space を押します。
リストからタグを選択します。角括弧には、それが属する taglib の
uri
が表示されます。目的の taglib を選択し、 Enter を押します。IntelliJ IDEA は、選択した taglib の宣言を追加します。
コード補完設定を構成する
コード補完オプションを構成するには、設定 / 環境設定ダイアログ Ctrl+Alt+S で に移動します。
次の設定を選択できます。
項目 | 説明 |
---|---|
大 / 小文字を区別する | 補完候補で大文字と小文字を区別するかどうかを選択します。最初の文字を大文字にするか、すべての文字を大文字にするかを選択します。 |
単一の候補を自動的に挿入 | 基本補完やスマートな補完の提案が 1 つしかない場合に、コードを自動的に補完するかどうかを選択します。 |
候補をアルファベット順にソートする | 候補リスト内のアイテムを、関連性で並べ替えるのではなく、アルファベット順に並べ替える場合に選択します。 この動作は、候補リストの |
入力時に候補を表示する | 明示的に補完を呼び出さなくても、候補リストが自動的に呼び出されるようにする場合に選択します。このオプションはデフォルトで有効になっています。 |
スペース、ドット、その他のコンテキスト依存キーを押して選択した候補を挿入する | 選択した候補を挿入する場合は、言語、コンテキストなどに依存する特定のキーを入力して選択します。Java の場合、このようなキーには Space、Tab、[and]、(and)などが含まれます。 |
ドキュメントのポップアップを次で表示 | 選択リストの各項目のポップアップを自動的に表示し、現在、ルックアップリストでハイライトされているクラス、メソッド、またはフィールドのドキュメントを表示する場合に選択します。 右側のフィールドで、ポップアップが表示されるまでの遅延(ミリ秒)を指定します。 |
機械学習に基づいたランク補完の提案 | 機械学習モデルを利用して、最適なアイテムを候補リストの上位にランク付けする場合に選択します。 |
JavaScript | |
型ベース補完のみ | デフォルトでは、IntelliJ IDEA は、型に関係なく、シンボルの補完を提案します。このアプローチでは、複雑な場合、リストに複数の補完バリアントが表示されます。 完成をより正確にするには、このオプションを選択します。補完リストは、IntelliJ IDEA の推論に強く依存します。その結果、推論が不十分な場合にリストが空のままになることがあります。 |
null 許容型の Optional チェーンを持つアイテムを提案する | デフォルトでは、IntelliJ IDEA はオプションの連鎖演算子 (?)(英語) でシンボルの補完を提案します。この動作を抑制するには、このチェックボックスをオフにします。 |
補完時にメソッド本体をオーバーライド用に拡張する | デフォルトでは、親クラスまたはインターフェースからメソッドをオーバーライドし、補完候補のリストからこのメソッドを選択する場合、IntelliJ IDEA はパラメーターを自動的に追加し、可能であれば このチェックボックスをオフにすると、完了時にオーバーライドのメソッド本体が自動的に生成されなくなります。 |
名前の補完 |
|
パラメーター情報 | |
補完時にパラメーター名ヒントを表示する | パラメーター値のヒントを表示する場合に選択します。 |
パラメーター情報ポップアップを表示する (ミリ秒) | このチェックボックスを選択すると、エディターに左括弧が入力されたとき、または候補リストからメソッドが選択されたときに、IntelliJ IDEA が使用可能なすべてのメソッドシグネチャーを含むポップアップを自動的に表示します。 右側のテキストフィールドに、ポップアップウィンドウが表示されるまでの遅延時間(ミリ秒単位)を指定します。 このチェックボックスが選択されていない場合は、 Ctrl+P を使用してパラメーター情報を表示します。 |
完全なメソッドシグネチャーを表示する | このチェックボックスをオンにすると、パラメーター情報にメソッド名や返された型などの完全なシグネチャーが表示されます。 |
SQL | |
JOIN の補完時にエイリアスを使用する | JOIN ステートメント内の表の別名を作成します。 ![]() |
自動生成された ON 句のオペランド順序を反転する | ON 句のオペランドを切り替えます。このチェックボックスをオフにすると、FROM テーブルは JOIN 条件の最初になります。 ![]() |
テーブル名を補完するときにエイリアスを自動的に追加する | テーブル名のエイリアスを作成します。 ![]() |
テーブル名の後に補完のエイリアス名を提示する | コード補完( Ctrl+Space )を使用するときにテーブル名のエイリアスを提案します。 ![]() |
カスタムエイリアス (テーブル) | このテーブルに使用するテーブル名とエイリアスを追加できます。テーブルとエイリアスのペアを追加するには、エイリアスの追加ボタン( |
クラスまたはパッケージを補完から除外する
設定 / 環境設定ダイアログ Ctrl+Alt+S でエディター | 一般 | 自動インポートを選択します。
インポートおよび補完から除外で、除外したいクラスまたはパッケージの名前を追加します。ここで指定したクラスは、候補リストには表示されません。
補完候補がエディターに表示されたら選択することもできます: Alt+Enter を押してそこから除外を選択してください:
補完のヒントとテクニック
候補リストを絞り込む
単語の任意の部分(途中のどこかからの文字も含む)を入力するか、ドット区切りの後にコード補完を呼び出すことにより、候補リストを絞り込むことができます。IntelliJ IDEA は、任意の位置に入力した文字を含む候補を表示します。
これはワイルドカードの使用を不要にします:
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+Shift+I を押すと、定義を使用できます。
候補リストの項目を選択するときに Ctrl+Q を押すと、クイックインフォメーションビューを使用できます。
コード階層を表示する
候補リストからエントリを選択すると、コード階層を表示できます。
Ctrl+H - 型階層の表示
Ctrl+Alt+H - 呼び出し階層を表示します。
Ctrl+Shift+H - メソッドの階層を表示します。
機械学習支援コード補完を使用する
機械学習モデルを利用して、候補リストで最も適切なアイテムを上位にランク付けできます。
これを行うには、設定 / 環境設定ダイアログで Ctrl+Alt+S をエディター | 一般 | コード補完に移動し、Machine Learning 支援による補完で機械学習に基づいたランク補完の提案オプションを有効にします。
IntelliJ IDEA で補完がどのように機能するかについて詳しくは、このビデオを参照してください。
トラブルシューティング
コード補完が機能しない場合は、次のいずれかの理由が考えられます。
省電力モードがオンです(ファイル | 省電力モード)。これをオンにすると、エラーハイライト、オンザフライインスペクション、コード補完などのバックグラウンド操作を排除してラップトップの電力消費を最小限に抑えられます。
JDK はプロジェクト用に構成されていません。
ファイルがコンテンツルートに存在せず、ビルドパスにバインドされていないため、コード補完に必要なクラス定義とリソースを取得できません。
補完候補一覧に表示するクラスとメソッドを含むファイルは、プレーンテキストファイルとしてマークされます。
補完候補リストに表示したいメソッドを含む外部ライブラリは、依存関係またはグローバルライブラリとして追加されません。
関連ページ:

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

ファイルタイプの関連付けを設定する
IntelliJ IDEA はデフォルトのファイルタイプのセットを認識します。そのようなファイルは、対応する言語の構文に従って解析およびハイライトされます。IntelliJ IDEA が認識できないファイルタイプで作業している場合(たとえば、それが独自開発のファイルタイプである場合)、カスタムファイ...

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

自動インポート
このページでは、Java のインポートについて説明します。Kotlin でのインポートについては、パッケージとインポートを参照してください。まだインポートしていないクラス、静的メソッド、または静的フィールドを使用している場合は、欠落している import ステートメントを追加するように指示するポップ...

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

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