VS Codeの「Command not found」エラーを修正する方法

beginner💻 VS Code2026-06-25| Windows、macOS、またはLinux上のVisual Studio Code。通常、コマンドパレット(Ctrl+Shift+P / Cmd+Shift+P)経由で実行された際に発生。

Error Message

Command 'extension.commandName' not found
#vscode#拡張機能開発#トラブルシューティング#javascript

問題の概要コマンド(「Live Server」やPrettierのフォーマットなど)を実行しようとすると、VS Codeに「Command not found」というアラートが表示されることがあります。これは非常に紛らわしいエラーです。サイドバーでは拡張機能が「インストール済み」と表示されているのに、エディタ上では存在しないかのように振る舞います。これは、VS Codeが拡張機能のマニフェストからコマンド名を認識しているものの、実際のバックグラウンドプロセス(拡張機能ホスト)がエンジンへの接続に失敗しているために起こります。

原因ボタンとコードの間のリンクが切れてしまう原因には、以下のようないくつかの問題が考えられます。

  • 拡張機能ホストプロセスがバックグラウンドでサイレントにクラッシュした。- 特定のNode.jsバージョンやPythonインタープリタなどの依存関係が不足しており、アクティベーションがブロックされた。- package.jsonactivationEventsセクションにタイポ(入力ミス)がある。- アップデートの失敗により、ローカルの拡張機能キャッシュが破損した。- 拡張機能が現在のVS Codeのバージョンに対して新しすぎる(または古すぎる)。## ステップバイステップの修正方法### 1. ウィンドウの再読み込み(Developer Reload)を実行するアプリを閉じて開き直すだけでは不十分な場合があります。「ウィンドウの再読み込み」は、ワークスペース全体を終了させることなく、拡張機能ホストのみをターゲットに再起動します。これは、一時的な不具合の90%を解決する最も速い方法です。
  • Ctrl+Shift+P (Windows/Linux) または Cmd+Shift+P (macOS) を押します。- Developer: Reload Window と入力して Enter を押します。拡張機能が初期化されるまで数秒待ちます。これでコマンドが機能するようになれば、単にプロセスがハングしていただけと考えられます。

2. 拡張機能ホストのログを確認するエラーが解消されない場合、VS Codeは何が問題なのかを具体的に示しているはずです。どこを見ればよいかを知る必要があります。

  • 表示 > 出力View > Output)から出力パネルを開きます。- パネル右上のドロップダウンメニューを「タスク」から拡張機能ホストExtension Host)に切り替えます。- 赤いテキストを探します。Module not foundActivation failed といった表示があるはずです。例えば、git バイナリが見つからないというエラーが出ている場合、拡張機能自体が壊れているのではなく、システムのパス設定に問題があることがわかります。

3. 再インストールして破損したファイルをクリアするアップデートが途中で失敗し、ファイルが不完全な状態で残ることがあります。クリーンな再インストールで解決することがよくあります。

  • 拡張機能ビューを開きます(Ctrl+Shift+X)。- 対象の拡張機能(例:「C# Dev Kit」や「ESLint」)を見つけ、アンインストールをクリックします。- VS Codeを再起動します。古いファイルが完全に解放されるようにするために、このステップは非常に重要です。- 拡張機能を検索し、インストールをクリックします。### 4. VS Codeのキャッシュを削除するVS Codeは起動を高速化するために、拡張機能のメタデータを CachedData フォルダに保存しています。このフォルダの同期が取れなくなると、存在しないファイルを指し示すことがあります。これを削除しても安全です。VS Codeは次回の起動時に自動的に再構築します。 Windowsの場合:
rmdir /s /q %APPDATA%\Code\CachedData

macOS/Linuxの場合:

rm -rf ~/Library/Application\ Support/Code/CachedData # macOS用
rm -rf ~/.config/Code/CachedData # Linux用

5. 拡張機能開発者の場合:マニフェストを検証する拡張機能を開発中で、自作のコマンドが実行されない場合は、package.json を確認してください。コマンドは2つの異なる場所で登録する必要があります。

まず、contributes.commands でUIのエントリを定義します。

"contributes": {
  "commands": [
    {
      "command": "myExtension.helloWorld",
      "title": "ハローワールド"
    }
  ]
}

次に、VS Codeに対していつコードをロードするかを伝えます。バージョン1.74以降、VS Codeは「遅延読み込み」が改善されましたが、デバッグの際は activationEvents に明示的にコマンドをリストするのが最も確実です。

"activationEvents": [
  "onCommand:myExtension.helloWorld"
]

最後に、main フィールドが実際のコンパイル済みスクリプト(例:./out/extension.js)を指しており、存在しないソースファイルを指していないか確認してください。

動作確認全てが正常に戻ったか確認するには、開発者ツールヘルプ > 開発者ツールの切り替え)を開きます。コンソールConsole)タブに切り替え、コマンドを実行してください。正常に動作すればコンソールは何も表示されません。失敗した場合は、クラッシュの原因となっているコードの行を特定するのに役立つ詳細なスタックトレースが表示されます。

プロのアドバイス- バージョン要件を確認する: 一部の拡張機能は VS Code 1.80以降を必要とします。古い「長期サポート(LTS)」バージョンを使用している場合、拡張機能のロードに失敗することがあります。- 競合に注意する: 「Prettier」と「Prettier - Code formatter」の両方をインストールしていると、コマンドIDの衝突が発生する可能性があります。どちらか一方のみを使用してください。- 環境変数: 拡張機能が nodenpm に依存している場合、それらのツールがパス(PATH)に通っているターミナルから VS Code を起動したか確認してください。

Related Error Notes