VSCode で IntelliSense(コード補完)が効かない
言語拡張や言語サーバが起動していない、ファイルが正しい言語モードでない、tsconfig/jsconfig がプロジェクトを認識していないと補完候補が出ない。
言語サーバの状態とプロジェクト設定を順に確認する。
#vscode#intellisense#completion#language-server#settings
要約
VSCode で IntelliSense(コード補完)が出ない ときは、補完を供給する 言語サーバが動いていない か、ファイルが正しい言語として認識されていない かのどちらかが大半。
言語拡張の有無、言語サーバの状態、言語モード、プロジェクト設定の順に切り分けると早い。
よくある原因
- 言語拡張が無い / 無効: Python なら
ms-python.python、TypeScript は標準同梱だが別プロファイルで無効化されていることがある - 言語サーバのクラッシュ: Pylance や tsserver が落ちると補完だけ静かに止まる
- 言語モードのズレ: ファイルが
Plain Text扱いになっていて、言語機能が一切働かない - プロジェクト未認識:
tsconfig.json/jsconfig.jsonが無く、import 解決や型情報が効かない
解決策
1. 拡張機能を入れて再読み込み
Ctrl+Shift+X で対象言語の拡張機能を確認・インストールし、Developer: Reload Window を実行する。
プロファイルを使っている場合は、有効なプロファイルに拡張が入っているかも確認する。
2. 言語サーバを再起動する
Ctrl+Shift+P -> TypeScript: Restart TS Server
Ctrl+Shift+P -> Python: Restart Language Server公式の IntelliSense ドキュメント のとおり、補完は言語サーバが供給する。Output パネルで対象サーバのログを開くとクラッシュ原因が分かる。
3. 言語モードを合わせる
ステータスバー右下の言語表示をクリックし、Change Language Mode で正しい言語を選ぶ。
拡張子が独自の場合は files.associations で言語に関連付ける。
4. プロジェクト設定を置く
{
"compilerOptions": { "module": "esnext", "baseUrl": "." },
"include": ["src/**/*"]
}素の JavaScript でも、プロジェクト直下に jsconfig.json を置くと VSCode が対象範囲と解決方法を把握でき、import 補完が効くようになる(公式の jsconfig ガイド)。