【こーどほかん】

コード補完 とは?

公開:
💡 コードを書くときの「予測変換」

コードを入力している途中で、変数名・関数名や続きのコードを候補として提示し、入力を助ける機能。AIを使わない方式もあり、候補の採用だけで正しい動作が保証されるわけではありません。

📌 このページのポイント
コード補完:候補を選んで入力 例:変数 appleCount が定義済み 入力中 app appleCount 候補一覧から選ぶ 採用後 appleCount 変数名を挿入 実行はまだ別の操作 候補の採用 ≠ 正しい動作の保証
候補を採用して変数名を補う模式例。候補や操作は環境によって異なり、補完後も内容の確認とテストが必要です。
ひよこ ひよこ
コード補完って、入力中に出る候補のこと?
ペンギン先生 ペンギン先生
そうだよ。変数名や関数名、続きのコードを候補として出して、入力を助ける機能なんだ。たとえば定義済みの変数appleCountに対して、appと打つとappleCountが候補に出る、といった使い方だね。
ひよこ ひよこ
文字の予測変換みたい!全部AIが考えているの?
ペンギン先生 ペンギン先生
AIを使わない補完もあるよ。文書中の単語を探す方式や、プログラミング言語の決まりとソースコードを解析して候補を出す方式があるんだ。AIによる補完では、周囲のコードなどを手掛かりに複数行の続きを提案することもあるよ。
ひよこ ひよこ
候補が出たら、そのままコードに入るの?
ペンギン先生 ペンギン先生
一覧から選んで確定したり、薄く表示された続きを採用したりするんだ。必要なければ採用しなくていいよ。操作キーや表示方法は、エディタや設定によって違うんだ。
ひよこ ひよこ
候補を選べば、プログラムも正しく動くのかな?
ペンギン先生 ペンギン先生
そこは別だよ。存在する変数名を選べても、目的に合う変数とは限らないからね。AIの提案も間違うことがある。補完後は内容を読み、期待した動作になるかテストで確かめよう。
ひよこ ひよこ
IntelliSenseっていう名前も見たけど、同じ意味なの?
ペンギン先生 ペンギン先生
VS CodeのIntelliSenseは、コード補完に加えて引数の情報や説明の表示なども含む編集支援の総称だよ。コード補完は、その中の機能の一つとして考えると分かりやすいね。
もっと詳しく知りたい人へ

VS Codeで変数名や関数名の候補が出ないときは?

対象言語の拡張機能と、候補表示の設定を確認しよう。言語サービスが動いていない場合はVS Codeの再起動で改善することがあるよ。JavaScriptのライブラリでは型宣言の不足が原因の場合もあるので、使っているライブラリや言語拡張の説明を確認しよう。単語の候補が出ることと、言語を解析した候補が使えることは別なんだ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「コード補完」って出てきたら「書きかけのコードに候補を出す入力の助っ人」と思えばだいたいOK!
📖 おまけ:英語の意味
「Code Completion」 = コードを補うこと
💬 completionは完成させること。ここではプログラム全体の完成を保証するのではなく、入力途中のコードを補う意味だよ。

参考資料

← 用語集にもどる