目次
Copilot Agentを使っていて、VS Codeでファイルやディレクトリを削除したのに元に戻ってしまう、変更が反映されないという問題に遭遇しました。同じ問題で困っている方の参考になれば。
問題:削除したファイルが勝手に復活する
VS CodeのExplorerからディレクトリを削除しても、VS Codeを再起動すると復活してしまう現象が発生。最初は拡張機能やキャッシュの問題かと思って調べていましたが...
原因:Copilot Agentが独自にファイル状態を管理している
実はCopilot Agent自体が原因でした。
重要なのは、Copilot AgentがVS Codeとは独立してファイルの状態を管理しているということです。
上のスクリーンショットのように、Copilot Agentは変更されたファイルを一覧表示し、各ファイルに対して:
- 保持ボタン
- 元に戻すボタン
- ×ボタン(変更を破棄)
を提供しています。
問題の核心:
- VS Codeでファイルを削除しても、Copilot Agentの履歴には残り続ける
- 「保持」「元に戻す」「×」のいずれかを押さない限り、Copilot Agentは古い状態を保持し続ける
- この状態でVS Codeを再起動すると、Copilot Agentが「正しい状態」として復元してしまう
つまり、VS CodeのファイルシステムではなくCopilot Agentがコンテキストやファイル状態を管理しているため、VS Code側での操作だけでは完全に削除されないのです。
対処法
1. Copilot Agentで明示的にファイル変更を処理する
最も重要: ファイルを削除した後、必ずCopilot Agentの変更リストで該当ファイルの×ボタンをクリックして、変更を破棄してください。
「保持」や「元に戻す」を何も押さずに放置すると、ファイルの変更が反映されません。
2. すべての変更を確認・処理する
Copilot Agentの変更リストに表示されているすべてのファイルについて、適切なアクション(保持・元に戻す・破棄)を実行してください。
3. VS Codeの再起動
すべての変更を処理した後、VS Codeを再起動すると確実に反映されます。
まとめ
Copilot AgentはVS Codeとは独立してファイル状態やコンテキストを管理しています。これにより、VS Codeでファイルを削除してもCopilot Agent側で適切に処理しない限り、変更が反映されない問題が発生します。
重要なポイント:
- VS Codeのファイルシステム ≠ Copilot Agentの管理状態
- ファイル操作後は必ずCopilot Agentの変更リストを確認
- 各ファイルの×ボタンで明示的に変更を破棄する
この仕組みを理解すれば、Copilot Agentとスムーズに連携できるようになります。