VS Code IntelliSenseが機能しない「Language server is not ready yet」を修正する方法

intermediate💻 VS Code2026-03-19| VS Code 1.80以降(Windows 10/11、macOS 13以降、Ubuntu 22.04)— Python、TypeScript、C++、Javaなどの言語拡張機能に影響

Error Message

Language server is not ready yet. Wait for it to fully load.
#vscode#intellisense#language-server#autocomplete

エラーの内容

ファイルを開いたとき、関数にホバーしたとき、またはオートコンプリートをトリガーしたとき — 候補が表示される代わりに、以下のメッセージが出ます:

Language server is not ready yet. Wait for it to fully load.

IntelliSense が機能しない。ホバードキュメントも、オートコンプリートも、定義へのジャンプも使えない。レビュー中やデバッグ中にこれが起きると、非常に辛い状況になります。

原因

VS Code は言語インテリジェンスを、言語サーバー(LSP)と呼ばれる別プロセスに委譲しています。このメッセージが表示される場合、言語サーバーは以下のいずれかの状態にあります:

  • 起動時にクラッシュし、復帰できていない
  • 大規模プロジェクトのインデックス作成中 — 5,000ファイル以上のコードベースでは最初の2〜3分は正常だが、それ以上かかっている場合は問題
  • 正しいランタイム(Pythonインタープリター、Node.js、JDKなど)が見つからなかった
  • メモリまたはCPUの制限に達して停止した
  • 拡張機能のキャッシュが破損している

原因ごとに対処法が異なります。まず修正1を試してください — ほとんどの場合、これだけで解決します。

修正1:言語サーバーを再起動する(最速)

まず最初に — VS Code 自体を再起動せずに、特定の言語サーバーだけを再起動します。

コマンドパレット(Ctrl+Shift+P / Cmd+Shift+P)を開いて、以下を実行します:

Python: Restart Language Server
TypeScript: Restart TS Server
Java: Clean Workspace
C/C++: Reset IntelliSense Database

使用する言語によってコマンドが異なります。Python の場合は Python: Restart Language Server、TypeScript/JavaScript の場合は TypeScript: Restart TS Server です。

10〜15秒待ってから、シンボルにホバーしてください。IntelliSense が反応すれば完了です。

修正2:言語サーバーの出力ログを確認する

再起動しても解決しない場合は、サーバーが実際に何を報告しているか確認します。出力パネルを開きます:

View → Output  (または Ctrl+Shift+U)

右側のドロップダウンから使用している言語サーバー(例:PylanceTypeScript and JavaScript Language FeaturesJava Language Server)を選択します。

以下のような行を探してください:

Error: spawn python ENOENT
Failed to start language server
Java home not found
Cannot find module 'typescript'

これにより、何が壊れているか正確にわかります。よくある原因:

  • ENOENT → ランタイムが見つからない(インタープリターのパスが間違っている)
  • Cannot find module → npm/pip パッケージが不足している
  • Java home not found → JAVA_HOME が設定されていない
  • Out of memory → ヒープを増やす(修正5を参照)

修正3:正しいインタープリター/ランタイムを選択する

間違ったまたは存在しないランタイムが最もよくある原因です。VS Code が存在しない Python を参照していたり、バージョンが古すぎる Node、または見つけられない JDK を指している場合があります。

Python(Pylance / Python拡張機能)

Ctrl+Shift+P → Python: Select Interpreter

正しい仮想環境またはシステムの Python を選択します。以下で確認できます:

which python3
python3 --version

次に .vscode/settings.json に固定します:

{
  "python.defaultInterpreterPath": "/usr/bin/python3"
}

TypeScript/JavaScript

プロジェクト独自の TypeScript がインストールされている場合、それを使うよう VS Code に指定します:

Ctrl+Shift+P → TypeScript: Select TypeScript Version → Use Workspace Version

Java

JAVA_HOME を設定して VS Code を再起動します:

export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH

修正4:拡張機能キャッシュをクリアする

VS Code のアップデート後、古いキャッシュファイルが残って言語サーバーが壊れた状態になることがあります。ワークスペースストレージフォルダーを削除し、VS Code に再構築させます。

Windows

%APPDATA%\Code\User\workspaceStorage\

workspaceStorage 内のすべてのフォルダーを削除します(削除しても安全 — VS Code が再生成します)。

macOS

rm -rf ~/Library/Application\ Support/Code/User/workspaceStorage/*

Linux

rm -rf ~/.config/Code/User/workspaceStorage/*

クリア後、VS Code をリロード(Ctrl+Shift+P → Developer: Reload Window)して、インデックスの再構築が完了するまで待ちます。

修正5:言語サーバーのメモリを増やす(Java / 大規模プロジェクト)

Java や大規模な TypeScript プロジェクトでは、言語サーバーがヒープメモリを使い果たしてフリーズすることがあります。デフォルトの制限は、モノレポや10,000ファイル以上のコードベースには低すぎます。

Java Language Server

.vscode/settings.json に以下を追加:

{
  "java.jdt.ls.vmargs": "-XX:+UseG1GC -XX:+UseStringDeduplication -Xmx2G"
}

TypeScript Server

{
  "typescript.tsserver.maxTsServerMemory": 4096
}

設定変更後は言語サーバーを再起動してください。

修正6:言語拡張機能を再インストールする

ここまで試して解決しない場合、拡張機能自体が破損している可能性があります — 不完全なアップデートで半壊状態になることがあります。完全に削除してクリーンに再インストールします。

# CLI でアンインストール
code --uninstall-extension ms-python.python
code --uninstall-extension ms-python.vscode-pylance

# 再インストール
code --install-extension ms-python.python
code --install-extension ms-python.vscode-pylance

または拡張機能サイドバーから:対象の拡張機能 → 歯車アイコン → アンインストール、その後再インストールします。

修正7:競合する拡張機能を確認する

同じ言語を扱う2つの拡張機能が競合すると、言語サーバーがまったく起動できなくなることがあります。これは特定が難しく — 明確なエラーメッセージもなく、ただずっと停止したままになります。

Ctrl+Shift+P → Developer: Start Extension Bisect

これにより、有効な拡張機能を二分探索して競合しているものを特定します。プロンプトに従って進めてください — 3〜5ラウンドで原因を特定できます。

修正の確認

簡単な動作確認 — IntelliSense が以下のすべてに応答するはずです:

  • 関数にホバー — シグネチャとドキュメントが表示される
  • メソッド名を途中まで入力 — オートコンプリートの候補が表示される
  • シンボルを右クリック → 定義へ移動が正しくナビゲートする
  • ステータスバー(画面下部)を確認 — 言語サーバー名(例:Pylance)に警告アイコンがない

出力パネルを開いて、言語サーバーが以下のようなログを出力していることも確認できます:

Language server started successfully
Server ready

予防策

  • VS Code のバージョンを固定する — 大規模プロジェクトでは、メジャーアップデートで言語サーバーが一時的に壊れることがあります
  • .vscode/settings.json をコミットする — インタープリターのパスを含めておくと、チームメンバーが初回クローン時に同じ問題に当たらずに済みます
  • 拡張機能を最新に保つ — 言語サーバーのバグは頻繁にパッチされます
  • 重いディレクトリをインデックスから除外する — 起動の遅延を防げます:
{
  "python.analysis.exclude": ["**/node_modules", "**/.venv", "**/dist"],
  "files.watcherExclude": {
    "**/node_modules/**": true,
    "**/.git/**": true
  }
}

Related Error Notes