Visual Studioでソリューション読み込み時に前回開いていたドキュメントが再オープンされない原因と対処法(.vs削除/tear-off回避)

Visual Studio 2019/2022で「ソリューション読み込み時にドキュメントを再度開く(Reopen Documents on Solution load)」を有効にしているのに、前回開いていたコードやデザイナが起動時に復元されない――。本記事では、既知不具合として起きやすい条件、tear-off(タブを別ウィンドウに切り離す)を絡めた回避策、.vsフォルダー再生成など、実務で効く対処を具体的に整理します。

目次

現象の概要:何が「復元されない」のか

本来、Visual Studioの設定「ソリューション読み込み時にドキュメントを再度開く(Reopen Documents on Solution load)」が有効であれば、ソリューションを開いたタイミングで、前回終了時に開いていたドキュメント(コード、XAML、テキスト、デザイナ等)が自動で再オープンされます。

ところが、特定の条件下では次のような状態になります。

  • ソリューションは開くのに、エディタのタブが1つも復元されない
  • 一部のウィンドウ配置だけ復元されるが、肝心のファイルは開かれない
  • 昨日は復元されたのに、今日は復元されないなど、再現がランダムに見える
  • .vsフォルダーを削除しても改善しないケースがある

まずは「どの対処から試すべきか」早見表

状況起きやすい原因まず試す対処次に試す対処
タブを別ウィンドウに切り離して使っている(複数モニター)tear-offレイアウトがトリガーになる既知不具合終了前にtear-offウィンドウを閉じる.vsフォルダー再生成
VSが固まった/クラッシュ後から復元されない.vs(.suo等)の破損.vsフォルダー再生成ウィンドウレイアウトのリセット、拡張機能切り分け
設定が有効か自信がない(PCを変えた/設定移行した)オプションが無効、または別設定と干渉オプションの確認VS更新、ユーザーデータ初期化の検討
特定ソリューションだけ起きるソリューション固有のキャッシュ破損.vsフォルダー再生成フォルダー配置・権限・同期ツールの影響確認

原因として濃厚:Visual Studio側の既知不具合の可能性

この現象は「設定ミス」や「使い方の問題」に見えますが、開発者コミュニティ等で同種の報告が複数あり、Visual Studio本体の挙動が崩れる既知不具合として扱われることがあります。特に、次の条件が重なると再現しやすい傾向があります。

  • Visual Studio 2019(特定の更新以降)で発生し始めた
  • Visual Studio 2022でも条件次第で類似現象が出る/再発報告がある
  • 複数モニター運用で、タブを切り離した「別ウィンドウ(tear-off)」を多用している
  • VSのハング・クラッシュ直後に発生し、その後ランダム化する

つまり、「正しい設定なのに復元されない」こと自体が起こり得るため、対処は「設定を疑う」だけでは足りません。現場では「再現条件の回避」と「壊れた状態のリセット」を組み合わせるのが現実的です。

最優先の回避策:tear-off(タブ切り離し)を閉じてから終了する

複数モニターや大画面で作業する際、エディタタブをドラッグして別ウィンドウ化(tear-off)し、モニターごとに配置して使うことがあります。この状態でVisual Studioを終了すると、次回起動時にドキュメント復元が失敗し、「何も再オープンされない」状態になりやすい、というパターンが知られています。

症状の出方(典型例)

  • メインウィンドウ以外に、エディタの別ウィンドウがぶら下がっている
  • そのまま[ファイル]→[終了]でVSを閉じる
  • 次回起動でソリューションは開くが、前回のタブが復元されない(ゼロ件、または一部のみ)

ワークアラウンド手順(最短で効く対処)

  1. Visual Studioを終了する前に、切り離したエディタウィンドウ(tear-off)をすべて閉じる
  2. メインウィンドウ内にタブが残った状態にする(可能ならタブを戻す)
  3. [ファイル]→[終了]で終了する
  4. 次回ソリューションを開き、前回のドキュメントが再オープンされるか確認する

運用のコツ:tear-offを使いながら被害を減らす

tear-off自体が悪いというより、「終了時の状態」がトリガーになることがあるため、次の運用が効きます。

  • 終業前・休憩前など“区切り”のタイミングでtear-offを閉じてから終了する習慣にする
  • 複数画面での編集は、tear-offではなく同一ウィンドウ内のタブグループ分割(縦/横分割)で代替できないか検討する
  • ノートPC+外部モニターの抜き差しが多い場合は、終了前にレイアウトを単一モニター寄りに戻す(座標ズレの影響を受けにくくする)

定番の改善策:ソリューションの .vs フォルダーを削除して再生成する

tear-offを使っていないのに発生する場合や、クラッシュ後から挙動が壊れた場合は、ソリューション固有のキャッシュ(.vsフォルダー)に保存されている情報が破損している可能性があります。.vsを削除して再生成させることで、ウィンドウ復元・ドキュメント再オープンが回復したという報告が多い対処です。

.vsフォルダーに入っているもの(ざっくり)

  • 直近で開いていたファイル情報
  • ウィンドウレイアウト
  • ソリューションユーザーオプション(.suo等)

ソースコードやプロジェクト本体は消えませんが、ユーザー単位の状態はリセットされる可能性があります。

削除手順(安全にやる)

  1. Visual Studioを完全に終了する(タスクマネージャーでVSが残っていないことを確認)
  2. 対象ソリューションの.slnがあるフォルダーを開く
  3. 隠しフォルダー .vs を削除する(見えない場合はエクスプローラーの表示設定で隠し項目を表示)
  4. 再度Visual Studioでソリューションを開く(.vsは自動で再生成される)
  5. ドキュメントをいくつか開いた状態でVSを終了 → 再起動し、復元されるか確認する

.vs削除の影響と注意点

項目影響対策・考え方
ブレークポイント消える/戻る可能性がある重要なブレークポイント運用がある場合は、タスクの区切りで見直す
ウィンドウレイアウト初期化される「一度まっさらに戻す」ことが目的なので問題になりにくい
最近開いたファイルの履歴初期化される必要なら「作業メモ(開いていたファイル名)」を残してから削除する
ソースコード/プロジェクト消えない.vsはキャッシュ・ユーザー状態のため、リポジトリの実体には影響しない

念のための設定確認:Reopen Documents が本当に有効か

この問題はバグやキャッシュ破損が原因になりやすい一方で、設定が無効だと当然復元されません。同じ症状に見えて実は設定だった、というケースを避けるため、最低限ここだけは確認しておくのがおすすめです。

確認手順

  1. [ツール]→[オプション]→[環境]を開く
  2. 次の項目が有効になっているか確認する
  • Reopen Documents on Solution load(日本語環境では「ソリューション読み込み時にドキュメントを再度開く」相当)
  • 必要に応じて Restore Solution Explorer project hierarchy state on solution load(ソリューションエクスプローラーの展開状態も復元したい場合)

ありがちな落とし穴

  • 設定移行(PC移行・同期・インポート)で、オプションが意図せずオフになっている
  • ソリューションを「フォルダーで開く」運用と混在していて、期待する復元タイミングがずれる
  • 複数インスタンス(同じソリューションを2つ開く等)で終了した側の状態が残り、復元が不安定に見える

それでも直らない場合の追加トラブルシュート

tear-off回避と .vs再生成で改善しない場合、環境側(拡張機能やレイアウト情報の破損、OSの画面構成の変化など)が絡んでいる可能性があります。影響範囲が大きい順に、段階的に切り分けるのが安全です。

ウィンドウレイアウトをリセットする

ウィンドウ配置の情報が崩れていると、ドキュメント復元も連鎖して失敗することがあります。まずはUIのレイアウトを既定に戻し、復元処理が正常に走る状態を作ります。

  • メニューからウィンドウレイアウトのリセット(類似項目)を実行
  • その後、ソリューションを開き直して挙動を確認

拡張機能(Extensions)を疑う:一時的に無効化して確認

エディタやドキュメント管理に干渉する拡張機能(タブ管理、セッション管理、Git連携強化など)があると、復元に影響する場合があります。心当たりがある場合は、次の順で切り分けます。

  • 最近入れた拡張機能を無効化して再起動
  • 問題が止まったら、拡張機能を1つずつ戻して原因を特定

「VSの更新で直ったと思ったら再発した」ケースでは、更新そのものより拡張機能の互換性が影響していた、というパターンもあります。

ユーザーデータの初期化を検討する(影響は大きい)

どうしても戻らない場合、Visual Studioのユーザー状態が広範囲に壊れている可能性があります。これは最終手段寄りですが、環境の整合性を取り戻せることがあります。

例として、Developer Command Prompt等からの起動オプションを使う方法があります(実行前に、設定のエクスポートや影響範囲の確認を推奨)。

devenv /ResetSettings
devenv /ResetUserData

この系統は環境全体に影響するため、チームルールや自身の開発環境の戻し方(キーバインド、テーマ、拡張機能)を把握したうえで実施してください。

再発を減らすための「安定運用」チェックリスト

この問題は「一度直して終わり」ではなく、条件が揃うと再発することがあります。日々の運用でリスクを下げるポイントをまとめます。

対策狙い具体例
Visual Studioを安定版の最新へ保つ既知不具合の修正取り込み更新後に復元が安定するケースがあるため、放置しない
tear-offを閉じてから終了復元失敗のトリガー回避外部モニターを抜く前、スリープ前に必ず戻す
クラッシュ後は早めに .vs を疑う破損状態の固定化を防ぐハングで強制終了したら、復元が怪しい時点で .vs を再生成
同期ツール配下のソリューション運用を見直すキャッシュの競合・遅延を避けるOneDrive等の同期対象にソリューションを置く場合、.vs の扱いに注意
画面構成の変化を減らす座標ズレによるレイアウト破綻回避モニター解像度/拡大率を頻繁に変えない、RDP利用時は終了前に単一画面へ戻す

よくある質問

前回のファイルが開かないのは「設定のせい」ではないのですか?

設定が原因のケースもありますが、「設定は有効なのに復元されない」状態が実際に起きることがあります。特にtear-offを絡めた複数ウィンドウ運用や、クラッシュ後に発生するケースでは、Visual Studio側の不具合やキャッシュ破損を疑った方が早く解決しやすいです。

.vsフォルダーを削除すると、ソースコードは消えますか?

消えません。.vsはソリューションのユーザー状態やキャッシュを保持する領域で、プロジェクトやソースコード本体とは別です。ただし、ブレークポイントやウィンドウレイアウトなどはリセットされる可能性があるため、影響を理解したうえで実施してください。

「復元されない」と「タブが消えた」は同じ現象ですか?

体感としては近いですが、原因が異なることがあります。復元設定が効いていない/復元処理が失敗している場合は「起動時に開かない」が中心です。一方、作業中にタブが消える、開いていたはずのファイルが突然閉じるように見える場合は、クラッシュ・拡張機能・レイアウト破綻など別要因が混ざっている可能性があります。まずは「次回起動時の復元」に絞って、tear-off回避と .vs再生成で切り分けるのが近道です。

対処のおすすめ順は?

実務でのおすすめは次の順です。

  • tear-offを使っているなら、終了前にtear-offを閉じる(最も低コスト)
  • 改善しない/クラッシュ後なら、.vsフォルダーを削除して再生成(効果が出やすい)
  • オプション確認(Reopen Documents on Solution loadが有効か)
  • レイアウトのリセット、拡張機能の切り分け
  • 最終手段としてユーザーデータ初期化の検討

まとめ:現場で効くポイントは「tear-off回避」と「.vs再生成」

Visual Studioで「ソリューション読み込み時にドキュメントを再度開く(Reopen Documents on Solution load)」が有効なのに、前回開いていたドキュメントが再オープンされない問題は、特にtear-off(タブを別ウィンドウに切り離したレイアウト)や、クラッシュ後のキャッシュ破損が絡むと発生しやすくなります。

  • 終了前にtear-offウィンドウを閉じるだけで改善するケースがある
  • 改善しない場合は.vsフォルダーを削除して再生成するのが有効
  • あわせて、設定(Reopen Documents on Solution load)確認と、VS更新・拡張機能切り分けで再発率を下げる

「開発を再開するたびにファイルを探し直す」時間は積み重なるほど痛いので、まずは最短で効く手順から試し、安定運用の型を作るのがおすすめです。

この記事を書いた人

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

コメント

コメントする

目次