Visual Studio 2022(17.x)で突然 IntelliSense が沈黙し、生産性が一気に落ちる――そんな“ある日突然”のトラブルを確実に復旧させるための実践ガイドです。17.5.0~17.13.2 で断続的に報告された事象を中心に、原因の切り分けからキャッシュ初期化、設定の再有効化、C++/Boost・C#/XAML 系の個別対処、企業環境特有の落とし穴までを、現場でそのまま使える手順とチェックリストで整理しました。
問題の全体像(概要)
以下の条件で IntelliSense が機能しなくなる/著しく遅くなる事例が多数報告されています。
- 対象バージョン:Visual Studio 2022 17.5.0 ~ 17.13.2 を中心に断続的に発生。
- 代表的な症状:
- 自動補完(Auto List Members)・スニペットが出ない、
.(ドット)でトリガーされない。 - 単語下線(波線の警告・エラー表示)、リネーム、Go To Definition が極端に遅い/無反応。
- C++:Boost ヘッダーで大量の誤検出エラーが出た後、以降の補完や検査が無効化。
- C# / Blazor / MAUI XAML / WPF:似た挙動で無反応になる。
- 新規テンプレートから作成したプロジェクトは正常だが、既存プロジェクトのみ壊れる場合がある。
- 自動補完(Auto List Members)・スニペットが出ない、
発生原因(報告からの集約)
| 区分 | 原因 / 状況 |
|---|---|
| IDE バグ | 17.5 系導入のパーサ不具合により、C++ は Boost のメタプログラミングを契機にクラッシュする例。17.5.3・17.13.3 で修正パッチが展開。 |
| IDE キャッシュ破損 | .vs フォルダー、.suo / .user、ComponentModelCache、C++ ブラウジング DB などが破損し、IntelliSense サービスが停止。 |
| 設定値のリセット | Tools > Options > Text Editor > <言語> > General の Auto List Members / Parameter Information が何らかの理由でオフ化(ポリシー適用やクラッシュ後の巻き戻り等)。 |
| プロジェクト構成 | 旧バージョンで作成した Blazor/MVC/MAUI を 17.5 以降で開いた際、プロジェクトキャッシュ更新に失敗して無反応化。 |
クイックアンサー:最短で直す 8 ステップ
- Visual Studio を終了(バックグラウンドの
devenv.exeが残っていないかタスク マネージャーで確認)。 - ソリューション直下の
.vsフォルダー、*.suo、*.userを削除。 - 必要に応じて該当プロジェクトの
binとobjを削除。 - C++ は Options > Text Editor > C/C++ > Advanced から Recreate Database を Yes にして再生成。
- ユーザープロファイルの
%LOCALAPPDATA%\Microsoft\VisualStudio\<version>\ComponentModelCacheを削除。 - Visual Studio を起動し、Clean → Rebuild。
- Tools > Options > Text Editor > (All Languages/各言語) > General で Auto List Members / Parameter Information を オンに戻す(いったんオフ→オン)。
- 17.5 系は 17.5.3 以上、17.13 系は 17.13.3 以上へ更新(C++/Boost のクラッシュは大半が解消)。
手順詳細
最新版へ更新(17.5→17.5.3 以上/17.13→17.13.3 以上)
根因が IDE 側の不具合の場合、アップデートだけで復旧します。Installer から対象インスタンスを選び、アップデート適用後に一度 OS 再起動を挟むと安定します。
- 更新後、初回起動時は内部キャッシュを再構築します。必ず一度 Clean → Rebuildし、エディタが落ち着くまで(数十秒~数分)待機します。
- 大型更新直後は既存キャッシュとの整合で乱れることがあるため、「キャッシュ初期化 → フル再ビルド」を“儀式化”しておくと再発を抑制できます。
IDE キャッシュの初期化
最も効果が大きいのがキャッシュの再生成です。削除対象とパスを整理します。
| 対象 | 場所 | 削除効果 / 補足 |
|---|---|---|
.vs フォルダー | ソリューション直下 | ソリューション固有の MEF/IDE キャッシュ。破損時の最優先削除対象。 |
*.suo / *.user | ソリューション直下 | ウィンドウ配置やエディタ状態を保持。破損で IntelliSense 開始に失敗する例あり。 |
| C++ ブラウジング DB | ソリューションの .vs 内 | シンボル参照データベース。再生成で参照解決が復旧。 |
| ComponentModelCache | %LOCALAPPDATA%\Microsoft\VisualStudio\<version>\ComponentModelCache | 拡張構成(MEF)のキャッシュ。ここが壊れると補完全般が沈黙。 |
bin / obj | 各プロジェクト直下 | 古い中間生成物の影響排除。Clean → Rebuild の前に削除。 |
安全に削除するための PowerShell スニペット
作業用に使い回せるスクリプトです(Visual Studio は終了してから実行)。
# 実行前に $solutionRoot をソリューションのパスへ変更
$solutionRoot = "C:\work\MySolution"
# devenv の残留プロセスを停止
Get-Process devenv -ErrorAction SilentlyContinue | Stop-Process -Force
# ソリューション直下のキャッシュ系を削除
Get-ChildItem $solutionRoot -Force -Filter ".vs" -Directory | Remove-Item -Recurse -Force -ErrorAction SilentlyContinue
Get-ChildItem $solutionRoot -Force -Include "*.suo","*.user" -Recurse | Remove-Item -Force -ErrorAction SilentlyContinue
Get-ChildItem $solutionRoot -Force -Include "bin","obj" -Directory -Recurse | Remove-Item -Recurse -Force -ErrorAction SilentlyContinue
# ComponentModelCache を削除(該当する全バージョン)
$cmcRoot = Join-Path $env:LOCALAPPDATA "Microsoft\VisualStudio"
Get-ChildItem $cmcRoot -Directory -Filter "17.*" -ErrorAction SilentlyContinue | %{
$p = Join-Path $_.FullName "ComponentModelCache"
if (Test-Path $p) { Remove-Item $p -Recurse -Force -ErrorAction SilentlyContinue }
}
Write-Host "キャッシュ削除完了。VS を起動して Clean → Rebuild を実行してください。"
IntelliSense 設定の再有効化(オフ化の後遺症を戻す)
設定が勝手にオフになる事例があります。以下を再設定してください。
- Tools > Options > Text Editor > All Languages > General
- Statement Completion セクションの Auto List Members と Parameter Information にチェック。
- 言語別設定(C# / C/C++ / Razor/Blazor / XAML)でも同様にオンにする。
症状の目安:「. で出ないが、Ctrl+Space なら出る」場合、ほぼ本設定が原因です。いったん オフ → OK → 再度オン → OK とトグルすると復帰することがあります。
C++/Boost を使うプロジェクトでの特記事項
- 17.5.0~17.5.2 の環境で Boost のテンプレートを大量に含む翻訳単位を開くと、IntelliSense バックエンドが停止する例がありました。17.5.3 以降へ更新することで多くが解消します。
- 更新できない事情がある場合:
- ソリューションを開いた直後に Recreate Database を実行し、データベース再構築を強制。
- 一時的に対象ヘッダーを Excluded From Build にしてエディタを落ち着かせる(編集中のみ)。
- 波線(Squiggles)が重い場合は C/C++ > Advanced で警告表示の遅延・抑制に関わる項目を軽量化(根治ではないため恒久設定は非推奨)。
注意: IntelliSense を恒久的にオフにする回避は、補完・定義ジャンプ等の利便性を丸ごと失います。更新で直せるならそちらを優先してください。
Blazor / MAUI XAML / WPF の無反応を戻す
- Razor/Blazor:Clean → Rebuild 後、Windows > Reset Window Layout を実行し、Razor 言語サービスが復活するか確認。
- MAUI/WPF(XAML):XAML エディタのキャッシュが影響することがあります。bin/obj と .vs を削除してから再ビルド。
- エディタが稼働しない場合、VS Code + 各拡張で一時代替するのも有効です(根本修正は VS の更新・キャッシュ再生成)。
プロジェクト単位でのみ壊れる場合の復旧
- 壊れているソリューション配下だけ
.suo / .user / .vsを削除。 - それでも再現する場合、新規プロジェクトを作成 → 既存コードを段階的に移植。
- 移植フェーズごとにビルド&IntelliSense を確認し、どのファイル/設定で無反応化するか絞り込み。
まだ解消しない場合(総点検)
- Repair(Installer)を実施:IDE 構成の破損を修復。
- devenv /SafeMode で起動:拡張・アドインの干渉を切り分け。
devenv /safemode - 活動ログを採取(クラッシュ兆候の確認):
devenv /log出力は通常%APPDATA%\Microsoft\VisualStudio\<version>\ActivityLog.xml。 - devenv /ResetSkipPkgs:読み飛ばし指定されたパッケージを再有効化。
devenv /ResetSkipPkgs - 設定を既定に戻す(バックアップ推奨):
devenv /ResetSettings - Preview チャネルに切り替え:不具合修正が先行する場合、暫定的に安定することがあります。
- Developer Community へ既存 Issue に投票 or 新規報告:
ActivityLog.xmlやメモリ ダンプ(クラッシュ時)を添付すると対応が早い傾向。
よくある症状別チェックリスト
| 症状 | 確認・対処 |
|---|---|
. で補完が出ないが、Ctrl+Space なら出る | Auto List Members / Parameter Information を再オン(いったんオフ→オン)。キーボード マッピングで Edit.CompleteWord の割当確認。 |
| 赤波線が出ず、警告・エラー検出が止まる | ComponentModelCache と .vs を削除 → 再ビルド。C++ はデータベース再作成を強制。 |
| Go To Definition/リネームが極端に遅い | ブラウジング DB 再生成。拡張機能の競合切り分け(SafeMode)。大型更新直後はキャッシュ再構築まで待機。 |
| 新規プロジェクトは正常、既存だけ壊れる | 該当ソリューションの .suo/.user/.vs を削除。設定ファイル(.editorconfig 等)を差分検証。移植方式で段階復旧。 |
| Boost で大量の誤検出エラー後に沈黙 | 17.5.3 以上/17.13.3 以上へ更新。再現が強い翻訳単位を分割し、データベース再作成を実行。 |
再発防止の運用 Tips
- 更新直後は必ず「キャッシュ初期化 → フル再ビルド」:更新後 1 回だけでよい“儀式”をチーム標準として徹底。
- 拡張を最小限に:エディタ系・分析系の複数常駐は競合しやすい。用途が重なるものは片方に寄せる。
- 巨大翻訳単位の分割(C++):Boost を多用する TU は 1 ファイルが膨らみがち。編集中だけでも分割・プリコンパイル済みヘッダーの見直しで負荷軽減。
- 企業プロキシ下の配慮:オンライン コンポーネント取得失敗は IntelliSense 機能低下の間接原因に。Installer で Use system proxy を明示設定。
- 設定バックアップ:Tools > Import and Export Settings で定期バックアップ。トラブル時は /ResetSettings → 迅速復旧。
診断と提出に役立つ素材の集め方
- 再現手順の最小化:新規ソリューションに 1 つずつファイルを追加し、どの時点で沈黙するかを特定。
- ログ:
devenv /log実行後にActivityLog.xmlを取得。 - ダンプ(クラッシュ時):Windows エラー報告(WER)もしくは procdump 等で採取。
- 環境情報:Help > About のコピー、.NET SDK/ランタイム(
dotnet --info)を添付。
付録 A:キャッシュ/構成ファイル早見表
| 名称 | 役割 | 所在 | 削除可否 |
|---|---|---|---|
| .vs | ソリューション単位の IDE キャッシュ | ソリューション直下 | 安全に削除可(再生成) |
| *.suo / *.user | ユーザー別のウィンドウ/エディタ状態 | ソリューション直下 | 削除可(設定は初期化) |
| ComponentModelCache | 拡張構成(MEF)キャッシュ | %LOCALAPPDATA%\Microsoft\VisualStudio\<version> | 削除可(自動再構築) |
| bin / obj | ビルド生成物/中間ファイル | 各プロジェクト直下 | 削除可(再ビルドで再生成) |
| ブラウジング DB | シンボル検索・参照解決 | .vs 内(C++) | 削除可(Recreate Database で再構築) |
付録 B:一括クリーン用バッチ(複数ソリューション対応)
ルート配下の複数ソリューションをまとめてクリーンする例です。
# 例:D:\repo 配下を一括クリーン
$root = "D:\repo"
Get-Process devenv -ErrorAction SilentlyContinue | Stop-Process -Force
Get-ChildItem $root -Recurse -Include ".vs" -Directory -Force | Remove-Item -Recurse -Force -ErrorAction SilentlyContinue
Get-ChildItem $root -Recurse -Include "*.suo","*.user" -Force | Remove-Item -Force -ErrorAction SilentlyContinue
Get-ChildItem $root -Recurse -Include "bin","obj" -Directory -Force | Remove-Item -Recurse -Force -ErrorAction SilentlyContinue
$cmcRoot = Join-Path $env:LOCALAPPDATA "Microsoft\VisualStudio"
Get-ChildItem $cmcRoot -Directory -Filter "17.*" -ErrorAction SilentlyContinue | %{
$p = Join-Path $_.FullName "ComponentModelCache"
if (Test-Path $p) { Remove-Item $p -Recurse -Force -ErrorAction SilentlyContinue }
}
Write-Host "全ソリューションのキャッシュ削除が完了しました。"
付録 C:企業プロキシ配下での落とし穴
- オンライン コンポーネントやテンプレートの取得失敗は、言語サービスの更新や XAML/Blazor の設計時サービスに影響し、補完の劣化を招くことがあります。
- Installer のネットワーク設定で Use system proxy を明示しておくと失敗率が下がります。
- 証明書配布(HTTPS 復号型プロキシ)やファイアウォールでの URL 許可が必要な場合は、開発端末のルール適用を IT 管理と連携して確認します。
FAQ・誤解の整理
- 再インストールだけでは直らないの?
キャッシュ破損が原因なら、再インストール後も古いキャッシュを読み続けて再発します。キャッシュ削除と設定の再有効化をセットで行ってください。 - Ctrl+Space / Ctrl+J が効くなら放置でいい?
応急処置に過ぎません。.トリガーが効かないのは設定異常のサインで、クラッシュやパフォーマンス低下が背後で起きている可能性があります。 - MAUI/XAML/Blazor の無反応は個別の不具合?
エディタ側の既知課題が残っているケースがあります。更新で改善しない間は VS Code 拡張で代替しつつ、VS 側はキャッシュ初期化・再ビルドで安定化を図ります。 - 17.14 以降でも発生する?
大型アップデート直後は類似トラブルが起きやすい傾向です。アップデート後は キャッシュクリア → フル再ビルド を“初回起動タスク”として習慣化してください。
まとめ(実務での運用指針)
IntelliSense の無反応は「IDE バグ」「キャッシュ破損」「設定リセット」「プロジェクト構成」のいずれか(または複合)で説明できます。最短で直すには、
- VS を更新(17.5.3 / 17.13.3 以上)
- ソリューションとユーザー プロファイルのキャッシュを初期化
- Auto List Members / Parameter Information を再オン
- 言語別に Recreate Database や Clean → Rebuild を徹底
これで大半の環境が復旧します。残る場合は SafeMode・ログ採取・修復(Repair)・Preview の順に切り分け、プロジェクト単位の移植で最小構成から健全性を取り戻すのが確実です。

コメント