AI生成コードの編集内容を確認
Visual Studio Codeでチャットを利用する際、AIはプロジェクト内の複数のファイルにまたがってコード編集を生成できます。この記事では、AIが生成したコード編集の内容を確認し、承諾または破棄する方法について説明します。
保留中の変更
AIによってファイルが変更されると、それらの変更は直接適用され、ディスクに保存されます。VS Codeは、どのファイルに保留中の編集があるかを追跡し、個別に、またはまとめて確認できるようにします。
チャットビューには、編集され、確認待ちとなっているファイルの一覧が表示されます。保留中の編集があるファイルは、エクスプローラービューやエディターのタブで、正方形のドットアイコンによって示されます。

変更されたファイルを開くと、エディターには適用された変更のインラインdiff(差分)が表示されます。
VS Codeを閉じても、保留中の編集の状態は記憶され、VS Codeを再度開いたときに復元されます。
変更の確認
ファイル内のAI生成コード編集を確認するには、次の手順に従います。
-
チャットビューの変更されたファイルリスト、またはエクスプローラービューから、保留中の編集があるファイルを選択して開きます。
-
エディターオーバーレイにある Up(上矢印)および Down(下矢印)コントロールを使用して、ファイル内の各編集箇所を移動します。
-
各編集箇所に対して、以下のいずれかのアクションを選択します。
- Keep(維持)を選択して、編集を承諾します。
- Undo(元に戻す)を選択して、編集を拒否し、変更を元に戻します。
- インラインの変更箇所にホバーすると、ファイル内の他の編集に影響を与えずに、その特定の変更のみを承諾または拒否できます。
-
または、チャットビューからすべてのファイルの変更をまとめて一度に承諾または拒否することもできます。

以下のキーボードショートカットを使用すると、編集箇所の移動や確認が効率化されます。
| アクション | ショートカット |
|---|---|
| 次の編集箇所へ移動 | エディターオーバーレイの Down |
| 前の編集箇所へ移動 | エディターオーバーレイの Up |
ファイル内の編集を維持または元に戻すと、エディターは自動的に保留中の変更がある次の編集箇所(別のファイルの場合もあります)へ移動します。この自動移動を無効にして現在のファイルにとどまるには、 chat.editing.revealNextChangeOnResolve を false に設定してください。
ソース管理の統合
ソース管理ビューで変更をステージングすると、保留中の編集は自動的に承諾されます。一方、変更を破棄すると、保留中の編集も同様に破棄されます。
編集の自動適用
chat.editing.autoAccept 設定を使用して、AIが生成したコード編集を指定した遅延時間後に自動的に承諾するようにVS Codeを設定できます。エディターオーバーレイのコントロールにホバーすると、自動承諾のカウントダウンを停止できます。
すべての編集を自動的に承諾する場合、ソース管理にコミットする前に変更内容を確認することを強くお勧めします。VS CodeにおけるAI利用のセキュリティ上の考慮事項についての詳細をご覧ください。
機密ファイルの編集
ワークスペースの構成設定や環境設定などの機密ファイルへの意図しない編集を防ぐため、VS Codeは編集が適用される前に承認を求めます。チャット内では、提案された変更のdiffビューを確認し、それらを承認するか拒否するかを選択できます。
chat.tools.edits.autoApprove 設定を使用して、どのファイルに承認が必要かを構成します。この設定では、globパターンを使用してワークスペース内のファイルパスを指定します。
以下の構成例では、.vscode フォルダー内のJSONファイルと .env という名前のファイルを除き、すべてのファイルへの編集を自動的に許可します。これらのファイルについては、承認を求めるプロンプトが表示されます。
"chat.tools.edits.autoApprove": {
"**/*": true,
"**/.vscode/*.json": false,
"**/.env": false
}
セッションリストからのファイル変更の確認
セッションが完了し、プロジェクトにコード変更が行われると、セッションリストにそのセッションのファイル変更統計が表示されます。変更を確認するには、リストからセッションを選択してセッション詳細を開きます。

エージェントのタイプに応じて、変更をローカルワークスペースに適用するオプションや、(クラウドエージェントの場合)セッションからブランチをチェックアウトするオプションが利用できます。