チェックポイントと編集リクエストによる変更の取り消し
Visual Studio Codeでのチャットセッションの結果、ワークスペース内の1つ以上のファイルが変更されることがあります。VS Codeでは、これらの変更を元に戻したり修正したりする2つの方法を提供しています。
- 以前のリクエストを編集する: すでに送信したプロンプトを修正します。VS Codeはそのリクエストおよびそれ以降のすべてリクエストによって行われた変更を元に戻し、編集したプロンプトを再送信します。リクエストを言い換えて異なる結果を得たい場合に使用します。
- チェックポイントを復元する: 会話内の特定の時点まで、すべてのファイルの変更をロールバックします。プロンプトを変更せずに、既知の正常な状態に戻したい場合に使用します。
どちらの機能も、個別の編集を受け入れるか拒否するかを選択できるレビューワークフローを補完するものです。一連の変更をまとめて一度に取り消したい場合は、チェックポイントと編集機能を使用してください。
以前のチャットリクエストを編集する
会話履歴内の各チャットリクエストは編集可能です。以前のチャットリクエストを編集すると、その編集済みリクエストが新しいリクエストとして言語モデルに送信され、元のリクエストおよびそれ以降のリクエストによって行われたファイルの変更は取り消されます。
以前のチャットリクエストを編集するには、チャットビューで変更したいリクエストを選択し、再送信します。編集機能は chat.editRequests 設定で構成または無効化できます。
チェックポイントを使用してファイルの変更を取り消す
チャットのチェックポイントは、ワークスペースの状態を過去の時点に復元する方法を提供します。チャットによる対話の結果、複数のファイルにまたがって変更が行われた場合に役立ちます。
チェックポイントが有効な場合、VS Codeは各チャットリクエストが処理される前に、影響を受けるファイルのスナップショットを自動的に作成します。つまり、会話内の各チャットリクエストには、復元可能な対応するチェックポイントが存在します。
チェックポイントを有効にするには、 chat.checkpoints.enabled 設定を構成してください。
チェックポイントを復元する
チェックポイントを復元すると、VS Codeはそのチェックポイントの時点のワークスペース状態に戻ります。つまり、そのチェックポイント以降に行われたファイルへの変更はすべて取り消されます。
ワークスペースを以前のチェックポイントに復元するには:
-
チャットビューで、チャットセッション内の以前のチャットリクエストに移動します。
-
そのチャットリクエストにカーソルを合わせ、チェックポイントの復元を選択します。

-
チェックポイントを復元し、その時点以降に行われたファイルの変更を取り消すことを確認します。
チャットリクエストが会話履歴から削除され、ワークスペースのファイルがチェックポイント時点の状態に復元されることに注意してください。
復元後のやり直し
以前のチェックポイントに復元した後、取り消された変更をやり直す(リドゥする)ことができます。これは、誤ってチェックポイントに復元してしまった場合に便利です。
チェックポイント復元後に変更をやり直すには、チャットビューでやり直しを選択します。

チェックポイントでのファイル変更を確認する
各チャットリクエストの影響を理解し、どのチェックポイントに復元すべきかを判断しやすくするには、 chat.checkpoints.showFileChanges 設定を有効にしてください。これにより、各チャットリクエストの終了時に変更されたファイルのリストと、各ファイルで追加・削除された行数が表示されます。

チェックポイントからフォークする
チェックポイントから会話をフォークすることで、その時点までの会話を含む、新しく独立したセッションを作成できます。元の会話を保持したまま、別の手法を試したい場合に便利です。
チェックポイントからフォークするには、チャットリクエストにカーソルを合わせ、会話のフォークボタンを選択します。チャットセッションのフォークの詳細については、こちらをご覧ください。
よくある質問
チェックポイントはGitのバージョン管理に代わるものですか?
いいえ。チェックポイントはチャットセッション内での迅速な反復作業のために設計された一時的なものです。Gitを補完するものであり、代わりになるものではありません。永続的なバージョン管理やコラボレーションにはGitを使用してください。チェックポイントは、アクティブなチャットセッション中の試行錯誤に最適です。