Visual Studio の Team Explorer(TFVC)で「元に戻す(Undo)」を実行すると、本来は最後に TF10190 の確認ダイアログが出ます。ところが環境によっては、その確認が画面に出てこないまま Visual Studio が操作不能になることがあります。原因と、最短で確実に直す手順をまとめます。
起きている現象:Team Explorer の「元に戻す」で確認ダイアログが出ない(TF10190)
TFVC(Team Foundation Version Control)を Team Explorer から操作していると、保留中の変更を「元に戻す(Undo)」したときに、通常は確認ダイアログが表示されます。多くの環境では次の流れです。
| 手順 | 通常の動き |
|---|---|
| 保留中の変更を表示 | Team Explorer の「保留中の変更」に対象ファイルが一覧表示される |
| 元に戻すを実行 | 右クリック → 元に戻す(Undo) |
| 対象ファイルを選択 | 1つ目のウィンドウでチェックボックス選択 →「変更の元に戻し」 |
| 最終確認 | 2つ目の確認ダイアログ(例:「チェックアウトの取り消しの確認(Confirm undo checkout)」) メッセージコード:TF10190 |
問題が起きている環境では、この「2つ目の確認ダイアログ」だけが見えません。
- Alt+Tab をしても確認ダイアログが見当たらない
- しかし Visual Studio は「ダイアログが開いている扱い」になり、クリックやキー操作をほとんど受け付けない(操作不能に見える)
- Visual Studio のウィンドウ内をクリックして Enter を押すと処理が進み、結果的に元に戻せてしまう(見えないところで OK が押された状態)
この状態は「作業を続けられない」だけでなく、確認が見えないまま Enter で進むことで誤操作になりやすいのが厄介です。特にチェックアウトの取り消しは影響範囲が大きいので、目に見える形で確認ダイアログを出すところまで直しておくのが安全です。
結論:ダイアログが画面外(存在しないモニター座標)に出ているのがほぼ原因
この症状で最も多い原因は、確認ダイアログが「画面外の座標」に表示されてしまっていることです。Visual Studio はダイアログやツールウィンドウの位置を記憶しますが、外部モニターの接続・取り外し、ドッキングステーションの抜き差し、RDP(リモートデスクトップ)接続、表示倍率(DPI/スケーリング)の変更などが重なると、次のような状況が起こります。
- 以前は「サブディスプレイ」に出していたダイアログ位置を Visual Studio が覚えている
- いまはサブディスプレイが外れていて、その座標が “存在しない画面” になっている
- 結果として、ダイアログは開いているのに画面上に見えず、操作もブロックされる
これが、Alt+Tab に出てこない/見えないのに操作不能という挙動につながります。とくにノート PC + 外部ディスプレイの構成で、外部モニターを外した直後や、会議室のモニターにつないだ後などに起きやすいのが特徴です。
最短で直す:外部モニター切断 + ウィンドウレイアウトのリセット
実際に効果が出やすく、再発もしにくい “決め手” は次の組み合わせです。ポイントは、「いったん画面構成を単純化」してから「Visual Studio の位置情報を初期化」することです。
手順
- 外部モニター(サブディスプレイ)を一時的に外す
- HDMI / DisplayPort / USB-C などのケーブルを抜いて、PC 単体の画面だけにします。
- ノート PC + 外部ディスプレイ構成の場合、ダイアログ位置が「今はつながっていない画面」の座標で保存されていることがよくあります。
- Visual Studio のウィンドウレイアウトをリセットする メニューから [ウィンドウ]→[ウィンドウ レイアウトのリセット] を実行します。
- Visual Studio 内の各ウィンドウ配置・位置情報が初期状態に戻ります。
- 「見えない TF10190 の確認ダイアログ」も、画面内に戻る確率が高いです。
- Team Explorer から再度「元に戻す(Undo)」を実行して確認する
- 保留中の変更 → 右クリック → 元に戻す
- 1つ目のウィンドウで対象ファイル選択 → 「変更の元に戻し」
- TF10190 の確認ダイアログが見える形で出るかを確認します。
- 直ったら必要に応じて外部モニターを再接続する
- 多くのケースで、ここまでで以後は正常に表示され続けます。
- もし再接続後に再発する場合は、後述の「再発防止」の項も併せて見直すと安定します。
この方法が効く理由
外部モニターを外すことで「存在しない座標」を消し、レイアウトをリセットすることで「Visual Studio が持っているウィンドウ位置の記憶」を初期化します。これにより、TF10190 の確認ダイアログが画面内の座標に再配置されやすくなります。
| やっていること | 狙い | 期待できる効果 |
|---|---|---|
| 外部モニターを外す | 画面座標を単純化する | 画面外に出ていたダイアログが「存在する画面」に戻る条件を作る |
| ウィンドウレイアウトをリセット | Visual Studio の記憶している配置情報を初期化 | 見えないダイアログ/ツールウィンドウが初期位置に戻る |
それでも見えないとき:見えないダイアログを強制的に画面内へ戻す方法
基本は「外部モニター切断 + レイアウトリセット」で直ることが多いですが、すぐに直したい/モニターを外せない事情がある場合は、Windows 側の操作で “画面外にあるウィンドウを引っ張ってくる” 方法も有効です。Visual Studio に限らず、見えないダイアログ全般で使えます。
方法1:Alt + Space → 「移動」→ 矢印キーで引き寄せる
- 見えないダイアログが開いている状態(Visual Studio が操作不能な状態)にする
- キーボードで Alt + Space を押す(システムメニューを呼び出す)
- M を押す(移動)
- 矢印キー(←→↑↓)を一度押し、そのままマウスを動かす
- 画面内にダイアログが現れたらクリックして確定、または Enter
ダイアログが完全に画面外でも、移動状態に入れると “マウス移動で引っかかる” ことがあります。
方法2:Win + Shift + ←/→ で別モニターへ移動
複数モニター接続中で「どこか別のモニター側に飛んでいる」場合は、Win + Shift + ←/→ でアクティブウィンドウを隣のモニターへ送れます。タスクバー上の該当ウィンドウをアクティブにしてから試すと成功率が上がります。
方法3:タスクバーから「ウィンドウを移動」する
タスクバーに該当ウィンドウのプレビューが出る場合は、タスクバーのアイコンを右クリックして「移動」が選べることがあります(Windows の設定や状態により挙動は異なります)。
| 手段 | 向いている状況 | コツ |
|---|---|---|
| Alt + Space → M | ダイアログが完全に見えない/Visual Studio が固まったように見える | 矢印キーを一度押してからマウスを動かすと引き寄せやすい |
| Win + Shift + ←/→ | 複数モニター接続中で、別モニターへ飛んでいる可能性が高い | タスクバーで対象をアクティブにしてから実行 |
| 外部モニター切断 + レイアウトリセット | 根本解決したい/再発も抑えたい | まずこれを優先。効果が出やすく安全 |
追加の切り分け:環境全体の問題か、特定の作業対象だけの問題か
表示位置の問題が濃厚とはいえ、念のために「再現条件」を軽く整理しておくと、別要因の可能性を早めに潰せます。以下は、時間をかけずにできる切り分けです。
別ファイルでも起きるか
- 別のファイルをチェックアウトしてから同じ操作(Undo)を試す
- 複数ファイルをまとめて Undo したときだけ起きるか、単体でも起きるかを見る
別ブランチ/別ワークスペース/別チームプロジェクトでも起きるか
- 同じ PC で、別の Team Project Collection や別プロジェクトに切り替えて試す
- 可能なら別ユーザー(別 Windows ユーザー/別 Visual Studio アカウント)でも再現するかを見る
もし「特定の環境(この PC、このユーザー)で常に起きる」なら、やはりウィンドウ位置・設定・拡張機能など “ローカル要因” が本命です。逆に「特定のプロジェクトでだけ起きる」が明確なら、TFVC 側のメタデータや保留状態が絡む可能性も出てくるため、後述の追加対処まで視野に入れます。
拡張機能の影響を疑う:一時的に無効化/セーフモードで確認
Team Explorer 周りは拡張機能(特にソース管理・タスク連携・UI 拡張)が入り込む余地があります。ダイアログが表示されない問題が「ある日突然起き始めた」「特定の拡張を入れてから怪しい」場合は、拡張機能の影響も疑ってください。
拡張機能を一時的に無効化して再現するか確認
- Visual Studio の [拡張機能]→(拡張機能の管理) から、サードパーティ拡張を一時的に無効化
- Visual Studio を再起動
- Team Explorer → 「元に戻す(Undo)」→ TF10190 が見えるかを確認
セーフモードで起動して確認(可能な場合)
より切り分けを速くしたい場合は、セーフモード起動も候補です。ショートカットや「開発者コマンドプロンプト」から devenv /safemode で起動し、同じ操作を試します。セーフモードで症状が消えるなら、拡張機能か周辺コンポーネントの影響が濃厚です。
ただし、今回の「見えない TF10190」はマルチディスプレイ由来が圧倒的に多いため、まずはレイアウトリセットを優先し、その後に拡張機能の切り分けへ進むのが効率的です。
Visual Studio の設定を既定値に戻す:レイアウト以外も含めて初期化する
「ウィンドウ レイアウトのリセット」で改善しない場合は、設定全体に歪みが入っている可能性があります。次の手順は影響範囲が広いので、必要最小限で実施してください(開発環境の設定が戻るため、事前に設定のエクスポートも検討すると安心です)。
すべての設定をリセット
- [ツール]→[設定のインポートとエクスポート]→[すべての設定をリセット]
- 可能なら事前に現在の設定をエクスポートして退避
設定リセットは、レイアウト以外の UI 状態・動作オプションも初期化されるため、レイアウトリセットより強力です。「TF10190 のダイアログだけでなく、他のダイアログも出たり出なかったりする」「Team Explorer 周りの挙動が全体的におかしい」場合に検討します。
Visual Studio の修復/更新:壊れたコンポーネントを戻す
最後の手段として、インストール状態の修復や更新も有効です。特に、アップデート途中で中断した/会社の配布イメージが古い/長期間更新していない環境では、UI 周りの不具合が積み上がっていることがあります。
| 対処 | 内容 | 向いている状況 |
|---|---|---|
| Visual Studio Installer の「修復」 | インストール内容を整合させ、欠損や破損を修正 | 突然おかしくなった/他の機能も不安定 |
| 最新版への更新 | バグ修正・互換性改善を取り込む | 更新を長期間止めている/周辺ツールも更新済み |
ただし、今回の「確認ダイアログが見えない」系は “表示座標の問題” が中心なので、修復・更新は「上の対処をすべて試してもダメなとき」に回して問題ありません。
再発防止:外部ディスプレイ運用で「ダイアログ迷子」を減らすコツ
一度直っても、モニター環境が頻繁に変わると再発することがあります。再発を減らすための現実的な運用ポイントをまとめます。
メインディスプレイの扱いを安定させる
- 普段使うディスプレイを Windows の「メインディスプレイ」に固定する(接続のたびに入れ替えない)
- ノート PC を閉じて外部モニターだけで作業する運用を頻繁に変えない
表示倍率(スケーリング)をむやみに変えない
- 高 DPI 環境で、ディスプレイごとに倍率が違うと、ダイアログ位置がズレやすくなります
- 会議室モニターなど “一時的な接続先” で倍率が大きく変わる場合は特に注意
リモートデスクトップ(RDP)利用時の注意
- RDP での接続/切断でも画面サイズが変わり、ダイアログが画面外に残ることがあります
- RDP 利用後におかしくなったら、まず「ウィンドウレイアウトのリセット」を試すと早いです
“見えないダイアログ” が出たときの安全な対処を決めておく
Enter 連打で進めると、意図しないファイルまで Undo してしまうなどの事故につながります。チーム内で次の対応を共通ルールにしておくと安全です。
| 状況 | 推奨アクション | 避けたいこと |
|---|---|---|
| TF10190 が出ない気配で操作不能 | 外部モニターを外す → レイアウトリセット → 再実行 | 見えないまま Enter で確定 |
| モニターを外せない | Alt + Space → M / Win + Shift + ←→ で移動 | タスクキルで強制終了(作業中の変更が失われる恐れ) |
補足:TF10190「チェックアウトの取り消しの確認」とは何か
TF10190 は、TFVC の「チェックアウトを取り消して変更を元に戻す」操作に関する確認です。Team Explorer での Undo は、単にローカルファイルを戻すだけではなく、TFVC の “チェックアウト状態(保留中の変更)” を取り消す意味を持ちます。そこで最終確認として「本当に取り消しますか?」が出るのが通常の挙動です。
この確認が見えない状態は、単なる UI の不具合に見えても、実際には操作ミスのリスクを増やします。見えないまま処理を進められてしまう環境ほど、早めに「表示される状態」へ戻しておく価値があります。
よくある質問
Git の運用でも同じことが起きますか?
今回の TF10190/Confirm undo checkout は TFVC に紐づく確認ダイアログです。Git の取り消し操作とは挙動が異なります。ただし「ダイアログが画面外に出て見えない」という現象自体は、Visual Studio 全般や他アプリでも起き得ます。
レイアウトリセットで、作業中のコードや保留中の変更は消えますか?
[ウィンドウ レイアウトのリセット]は、基本的に Visual Studio の UI 配置を初期化する操作です。通常はソースコードや TFVC の保留中の変更そのものを消す操作ではありません。ただし、表示や開いているウィンドウ構成は変わるため、作業は一度落ち着いてから実行するのが安全です。
一時しのぎで Enter を押して先に進むのはアリですか?
可能ではありますが推奨しません。確認内容が見えない=取り消す対象や影響範囲を目視できないため、意図しないファイルまで Undo してしまう恐れがあります。まずは「画面内にダイアログを戻す」対処を優先してください。
再発したら毎回、外部モニターを抜く必要がありますか?
多くの場合は一度直せば安定します。ただし、会議室モニター接続や RDP を頻繁に行うなどで画面構成が大きく変わる運用だと再発することがあります。その場合は、再発防止のポイント(メインディスプレイの固定、倍率の安定化、見えないダイアログの移動手順の共有)まで含めて対策すると、手間が大きく減ります。
まとめ:まずは「外部モニター切断 + レイアウトリセット」が最優先
Visual Studio Team Explorer(TFVC)で「元に戻す(Undo)」を実行したのに TF10190 の確認ダイアログが表示されず操作不能になる場合、原因は “ダイアログが画面外に飛んでいる” ことがほとんどです。最短で直すなら、外部モニターを一時的に外してから、[ウィンドウ レイアウトのリセット]を行い、再度 Undo を試してください。補助的に、Alt + Space の移動や Win + Shift + 矢印のショートカットを覚えておくと、次に同様の「見えないダイアログ」に遭遇しても落ち着いて対処できます。

コメント