問題:起動しないターミナル
誰にでも起こり得ることです。プロジェクトの途中で、サーバーを立ち上げようと `Ctrl + `` を押したものの……何も起きない。ブリンキングカーソルの代わりに、ターミナルパネルが一瞬点滅して消えてしまう。そして、イライラさせるような通知だけが残ります:
The terminal process terminated with exit code: [X]
終了コード [X] が解決の鍵となります。単純な 1(一般的なエラー)や 127(コマンドが見つからない)、あるいは 3221225477 のような不可解な文字列が表示されるかもしれません。この最後のコードは特に Windows で一般的で、通常は権限の競合やメモリの競合を意味する「Status Access Violation」です。番号が何であれ、これが修正されるまでワークフローは止まったままになります。
分析:なぜターミナルはクラッシュするのか?
VS Code は実際にはコマンドを実行していません。PowerShell、CMD、Zsh といった外部シェルのウィンドウ、つまり「ラッパー」として機能しています。ターミナルを開くと、VS Code はバックグラウンドでこれらのプログラムのいずれかを起動しようとします。起動中にそのシェルが問題に遭遇すると、即座にシャットダウンします。その結果、VS Code はプロセスが「終了した(terminated)」と報告するのです。
これは通常、いくつかの特定の理由で発生します:
- パスの破損: シェルの
.exeやバイナリファイルを削除または移動したが、VS Code がまだ古い場所を探している。 - 権限によるブロック: アンチウイルスソフトや Windows の「互換モード」が、シェルを別のアプリケーション内で入れ子にして実行するのを妨げている。
- レガシー設定: VS Code を更新したが、
settings.jsonが依然として3年前の古い設定ロジックを使用している。 - 環境変数の肥大化: システムの
PATH変数が 2,048 文字の制限を超えており、初期化中にシェルが処理しきれなくなっている。
クイック修正:デフォルトプロファイルのリセット
まずは最も簡単な解決策から始めましょう。VS Code が、現在のセットアップともはや互換性のないシェルを起動しようとしている可能性があります。別のプロファイルに切り替えることで、不具合が解消されることがよくあります。
Ctrl + Shift + P(Mac の場合はCmd + Shift + P)でコマンドパレットを開きます。- **「Terminal: Select Default Profile(ターミナル: デフォルト プロファイルの選択)」**を検索します。
- デフォルトを切り替えます。PowerShell を使用していた場合は、Command Prompt や Git Bash を試してください。
- 停止しているターミナルをすべて終了し、新しいターミナルを開きます。
新しいシェルが閉じずに開いたままになれば、問題は元のシェルの設定に特有のものであることがわかります。
恒久的な修正 1:settings.json のクリーンアップ
古い設定が最も頻繁な原因です。古いバージョンの VS Code では terminal.integrated.shell.windows が使用されていましたが、これは現在非推奨となっています。設定にこれらの古い行が存在すると、最新のプロファイルシステムと競合します。
- コマンドパレットを開き、**「Preferences: Open User Settings (JSON)(基本設定: ユーザー設定 (JSON) を開く)」**を検索します。
shellという単語を含む行を探します。- それらの古い行を削除し、最新の構造に置き換えます。以下のようになります:
"terminal.integrated.profiles.windows": {
"PowerShell": {
"source": "PowerShell",
"icon": "terminal-powershell"
}
},
"terminal.integrated.defaultProfile.windows": "PowerShell"
恒久的な修正 2:Windows の互換性の修正(終了コード 3221225477)
長い終了コード 3221225477 が表示される場合、Windows がプロセスをブロックしている可能性があります。これは以前、VS Code を管理者として実行するように設定したり、古いバージョンの Windows の互換モードに設定したりした場合によく発生します。
- デスクトップまたは
C:\Users\[You]\AppData\Local\Programs\Microsoft VS Codeにある VS Code のショートカットを探します。 Code.exeファイルを右クリックし、プロパティを選択します。- 互換性タブに移動します。
- **「互換モードでこのプログラムを実行する」**のチェックを外します。
- **「管理者としてこのプログラムを実行する」**のチェックを外します。
- 「適用」をクリックし、コンピュータを再起動して、もう一度ターミナルを試してください。
恒久的な修正 3:エディタ外でのテスト
原因が .zshrc、.bash_profile、PowerShell の $PROFILE といったシェルの個人用設定ファイルにあることもあります。これらのスクリプトに構文エラーがあると、プロンプトが表示される前にシェルがクラッシュします。
これをテストするには、コンピュータのネイティブターミナル(スタンドアロンの PowerShell や Terminal.app)を開いてください。そこでもクラッシュする場合は、問題は VS Code ではありません。通常ユーザーのホームディレクトリにあるプロファイルスクリプトを編集し、壊れたコマンドやパスを修正する必要があります。
検証:本当に修正されたか?
一度開いたからといって、正常に動作していると思い込まないでください。完全に安定しているか確認するために、以下の手順に従ってください:
- ターミナルパネルのゴミ箱アイコンをクリックして、すべてのセッションをクリアします。
- VS Code を再起動します。
npm installやls -Rなど、メモリを消費するコマンドを実行します。- ターミナルがこれらの操作に耐えられれば、問題は解決しています。
まだエラーが表示されますか? アンチウイルスソフトのログを確認してください。Bitdefender や Sophos などのプログラムは、conpty.exe(Windows の疑似コンソール)を不審なものとしてフラグを立てることがあります。VS Code を「除外リスト」に追加することが、安定した環境への最後のハードルとなることがよくあります。

