Windows 10のVS Codeで「新しいターミナル」が固まる原因と対処法|統合ターミナルのGPUアクセラレーション無効化

Windows 10でVS Codeの「ターミナル > 新しいターミナル」を開くと、画面が分割されたままフリーズして操作不能になる…。再インストールでも直らない場合、原因は統合ターミナルのGPUアクセラレーションにあることが多いです。安全に切り分けながら復旧する手順をまとめます。

目次

VS Codeで「新しいターミナル」が固まる症状を整理する:症状チェック

このトラブルは「ターミナルが開けない」ではなく、開いた“ように見える”のに内部が壊れている状態になりやすいのが特徴です。具体的には次のような症状がまとまって出ます。

  • メニューの[ターミナル]→[新しいターミナル]を選ぶと、エディターが分割されて下部ペインが出る
  • しかしプロンプト(例:PS C:\\Users\\...)が表示されず、入力も反応が悪い/できない
  • カーソルが黄色のまま、あるいは点滅しないなど、描画が不自然になる
  • 数秒〜数十秒固まった後も回復せず、最終的に[閉じる]で抜けるしかない
  • VS Codeの再インストールをしても改善しない(設定やユーザーデータが残っていると特に)
状況よくある見え方ポイント
ターミナル起動直後分割だけされる/真っ黒「起動処理」は走るが、表示(レンダリング)がこけている可能性
数秒後黄色カーソルのまま/パスが出ない統合ターミナルの描画エンジン(GPU関連)が疑わしい
操作不能ウィンドウ全体が固まる拡張機能よりも、描画・ドライバー・Electron側の問題で起きやすい

原因の本命:統合ターミナルのGPUアクセラレーション

VS Codeの統合ターミナルは、見た目は普通のコンソールでも、内部ではWeb技術(ターミナル表示ライブラリ)で描画しています。ここでGPUアクセラレーション(主にWebGL系)が有効になっていると、環境によっては次のような相性問題が発生します。

  • GPUドライバー更新(Windows Update含む)後に突然起きる
  • マルチモニター、HDR、可変リフレッシュレートなど表示周りの設定変更後に起きる
  • リモートデスクトップ(RDP)や仮想環境で描画パスが変わり起きる
  • GPUが省電力モードに切り替わるタイミングでフリーズしやすい

要するに、ターミナルの「表示を速くするためのGPU機能」が逆に不安定要因になるパターンです。VS Code本体を再インストールしても、ドライバーや表示環境の相性が原因なら再発します。

最優先で試す回避策:統合ターミナルのGPUアクセラレーションを無効化

この症状で最も効果が出やすいのが、統合ターミナルのGPUアクセラレーションをOFFにする方法です。根本原因がドライバー側にあっても、VS Code側の描画パスを切り替えることで安定動作に寄せられます。

設定画面からOFFにする手順

  1. VS Codeを開き、左下の歯車(管理)から[設定]を開く(または Ctrl+,
  2. 検索ボックスにGPU acceleration(またはTerminal › Integrated: Gpu Acceleration)と入力
  3. Terminal › Integrated: Gpu AccelerationOFF(無効)に変更
  4. VS Codeを再起動し、再度[ターミナル]→[新しいターミナル]を試す

settings.jsonで直接指定する方法:確実に反映させたい場合

UIで見つけにくい/設定が反映されているか不安な場合は、settings.jsonに直接書くのが確実です。

  1. コマンドパレット(Ctrl+Shift+P)を開く
  2. Preferences: Open User Settings (JSON) を実行
  3. 次の設定を追記して保存
{
  "terminal.integrated.gpuAcceleration": "off"
}

環境やVS Codeのバージョンによっては値が「on / off / auto」のように扱われます。まずはoffに固定して挙動を確認するのが切り分けとして分かりやすいです。

設定項目おすすめ値期待できる効果副作用(起きるかもしれないこと)
terminal.integrated.gpuAccelerationoff「新しいターミナル」でのフリーズ回避/描画の安定化大量出力時にスクロールが少し重くなる場合がある
terminal.integrated.gpuAccelerationauto環境に応じて自動選択不具合環境だと再発する可能性

なぜOFFで直るのか:仕組みをざっくり理解する

統合ターミナルは、文字の表示・スクロール・カーソル描画などを高頻度で行います。GPUアクセラレーションが有効だと、これらをGPU側に寄せて高速化できますが、GPUドライバーや描画APIの相性によっては、

  • 描画処理が詰まって入力が返ってこない
  • レンダリングスレッドが固まり、VS Code全体が巻き込まれる
  • 「黄色カーソル」など半端な状態で止まる

といった症状になります。OFFにすると、描画がソフトウェア側(CPU側)に寄り、ドライバー依存の不安定要因を減らせるため、結果としてフリーズが収まるケースが多い、というわけです。

改善しない場合にやること:実用チェックリスト

GPUアクセラレーションをOFFにしても直らない場合は、原因が「別の描画問題」や「シェル起動の問題」にずれている可能性があります。ここからは、再現性を保ちながら効率よく切り分ける順番で紹介します。

優先度やること狙い手間
VS Codeを最新版へ更新/再起動既知バグ修正を取り込む
GPUドライバーを更新(メーカー公式推奨)描画系の不具合修正
拡張機能なしで起動して確認拡張がターミナルに干渉していないか確認
既定のシェルを切り替えるシェル側の起動やプロファイルの問題を除外
VS Codeのハードウェアアクセラレーション自体をOFFElectron側のGPU問題を回避
ユーザーデータを一時退避して初期化壊れた設定・キャッシュを除外中〜高

VS Code本体を更新する:突然発生した場合ほど効果が出やすい

Windows UpdateやGPUドライバー更新の直後に起きたなら、VS Code側も更新して既知不具合の修正を取り込みましょう。安定版(Stable)での確認が基本です。

  • ヘルプメニューから更新確認(環境により表記は異なります)
  • 更新後は必ずVS Codeを再起動し、ターミナルを新規作成して再現するか確認

GPUドライバーを「Windows Update任せ」にしない

この手のフリーズは、Windows Updateが配布するドライバーと相性が出ることがあります。可能ならNVIDIA/AMD/Intelの公式サイトやメーカー配布のドライバーに揃えると安定するケースが多いです。

  • ノートPCは、メーカー(PCベンダー)の推奨ドライバーが最優先
  • デスクトップGPUは、GPUベンダー公式の最新版へ
  • 更新後は再起動し、再現テストは必ず「新しいターミナル」で行う

拡張機能を無効化して切り分ける

Python拡張、Git関連、プロンプト装飾、ターミナル統合系の拡張が、ターミナル起動に干渉することもあります。次の方法で「拡張が原因か」を一発で切り分けできます。

  • コマンドパレットで Help: Restart With Extensions Disabled(拡張機能を無効化して再起動)を実行
  • その状態で[新しいターミナル]を開き、症状が再現するか確認

拡張なしで直るなら、最近追加した拡張やアップデートされた拡張が怪しいため、1つずつ有効化して原因を特定します。

既定のシェルを切り替えて確認する

統合ターミナルが固まっているように見えて、実は起動したシェル(PowerShell等)のプロファイルが重いことがあります。特に、プロンプト装飾(例:oh-my-posh、starship)、起動時にネットワークアクセスするスクリプト、過剰な自動補完があると、起動直後に固まったように見えます。

切り分けとしては、まず最小構成のシェルで試すのが効果的です。

  • 一時的に cmd.exe を既定にして試す
  • PowerShellの場合、プロファイル($PROFILE)で重い処理がないか確認
  • WSLやGit Bashを既定にしている場合はいったん外して試す

VS Code(ウィンドウ側)のGPUを無効化する

統合ターミナルのGPUをOFFにしても改善しないなら、VS Code本体(Electron)のGPUアクセラレーションが悪さをしている可能性もあります。ターミナル以外にも描画の乱れや固まりがある場合は、こちらを試す価値があります。

  • 起動オプションで --disable-gpu を付けて起動して挙動を見る
  • ランタイム設定(argv.json)でハードウェアアクセラレーションを無効化できる場合があります

ただし、この方法は全体の描画パフォーマンスが落ちることもあるため、まずは統合ターミナル側のGPU OFFを優先し、必要な場合だけ追加で実施してください。

ユーザーデータを一時退避して初期化する:最後の切り分け手段

再インストールしても直らないのに、設定を大きく変えた記憶がある場合は、ユーザーデータの破損や設定の組み合わせが原因であることがあります。次のように「戻せる形」で一時退避すると安全です。

  • 設定ファイル(settings.json / keybindings.json)をバックアップする
  • 拡張機能やキャッシュを含むユーザーデータフォルダを別名にして再起動し、初期状態で再現するか確認

初期状態で直るなら、設定を少しずつ戻して「地雷設定」を特定できます。とくにターミナル関連の設定(フォント、レンダラー、プロファイル)を段階的に戻すのがコツです。

現場で役立つ再発防止のコツ

原因がGPUドライバー起因の場合、環境の変化で再発することがあります。開発を止めないために、次の運用をおすすめします。

  • 統合ターミナルのGPUアクセラレーションは、安定するならOFFのまま運用する
  • GPUドライバー更新は「Windows Update直後」に一度ターミナル動作を確認する
  • プロンプト装飾や起動スクリプトは、重い処理(ネットワークアクセス、巨大なgit status等)を避ける
  • 拡張機能は必要最小限にし、更新後に不具合が出たらすぐ切り戻せるよう把握しておく

不具合報告や相談をするときに揃える情報

社内ITやコミュニティ、GitHub issueに相談する場合、情報が揃っていると解決が早いです。最低限、次をメモしておくとやり取りがスムーズになります。

  • Windowsのエディションとバージョン(例:Windows 10 Pro 22H2)
  • VS Codeのバージョン(Help > About などで確認)
  • GPUの種類(Intel/NVIDIA/AMD)とドライバーバージョン
  • 既定のシェル(PowerShell / cmd / Git Bash / WSL など)
  • terminal.integrated.gpuAcceleration の設定値
  • 拡張機能を無効化しても再現するか

「いつから発生したか(直前に更新したものがあるか)」も重要なヒントになります。突然発生したなら、OS更新・ドライバー更新・VS Code更新・拡張更新のどれかがトリガーになっている可能性が高いです。

よくある質問:FAQ

GPUアクセラレーションをOFFにすると遅くなりますか?

大量ログを高速スクロールするようなケースでは、環境によっては体感で差が出る場合があります。ただ、普段のPython開発(実行ログ、仮想環境の操作、gitコマンド)程度なら、安定性のメリットの方が大きいことが多いです。

再インストールしても直らないのはなぜですか?

VS Codeは設定や拡張機能、ユーザーデータが別領域に残るため、再インストールだけでは「壊れた設定」や「相性の悪い状態」が引き継がれることがあります。また、根っこがGPUドライバーやOS側にある場合は、アプリを入れ直しても症状が続きます。

「ターミナルだけ」が固まるのに、VS Code全体がフリーズします

統合ターミナルはVS Codeのウィンドウと同じ描画・イベント処理の流れに組み込まれています。そのため、ターミナルの描画が詰まると、結果としてVS Code全体が反応しなくなったように見えることがあります。

まとめ:まずはターミナルGPUをOFF、次に環境を切り分ける

Windows 10環境でVS Codeの「新しいターミナル」が固まる症状は、統合ターミナルのGPUアクセラレーションが引き金になっていることが少なくありません。設定でGPUアクセラレーションをOFFにして再起動するだけで改善するケースが多いので、最初に試す価値があります。

それでも改善しない場合は、ドライバー更新、拡張機能の無効化、シェルの切り替え、ユーザーデータ初期化の順で切り分けると、最短で原因にたどり着けます。開発が止まる前に、安定する構成を作っておきましょう。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次