@@ -150,12 +150,6 @@ export class UserFeedbackService implements IUserFeedbackService {
150
150
} ) ;
151
151
}
152
152
153
- const outcomes = new Map ( [
154
- [ vscode . ChatEditingSessionActionOutcome . Accepted , 'accepted' ] ,
155
- [ vscode . ChatEditingSessionActionOutcome . Rejected , 'rejected' ] ,
156
- [ vscode . ChatEditingSessionActionOutcome . Saved , 'saved' ]
157
- ] ) ;
158
-
159
153
/* __GDPR__
160
154
"panel.edit.feedback" : {
161
155
"owner": "joyceerhl",
@@ -191,6 +185,32 @@ export class UserFeedbackService implements IUserFeedbackService {
191
185
}
192
186
}
193
187
break ;
188
+ case 'chatEditingHunkAction' : {
189
+ const outcome = outcomes . get ( e . action . outcome ) ;
190
+ if ( outcome ) {
191
+
192
+ const properties = {
193
+ requestId : result . metadata ?. responseId ?? '' ,
194
+ languageId : document ?. languageId ?? '' ,
195
+ outcome,
196
+ } ;
197
+ const measurements = {
198
+ hasRemainingEdits : e . action . hasRemainingEdits ? 1 : 0 ,
199
+ isNotebook : this . notebookService . hasSupportedNotebooks ( e . action . uri ) ? 1 : 0 ,
200
+ isNotebookCell : e . action . uri . scheme === Schemas . vscodeNotebookCell ? 1 : 0 ,
201
+ lineCount : e . action . lineCount
202
+ } ;
203
+
204
+ sendUserActionTelemetry (
205
+ this . telemetryService ,
206
+ document ?? vscode . window . activeTextEditor ?. document ,
207
+ properties ,
208
+ measurements ,
209
+ 'edit.hunk.action'
210
+ ) ;
211
+ }
212
+ break ;
213
+ }
194
214
}
195
215
196
216
if ( e . action . kind === 'copy' || e . action . kind === 'insert' ) {
@@ -554,3 +574,9 @@ function reportInlineEditSurvivalEvent(res: EditSurvivalResult, sharedProps: Tel
554
574
didBranchChange : res . didBranchChange ? 1 : 0 ,
555
575
} ) ;
556
576
}
577
+
578
+ const outcomes = new Map ( [
579
+ [ vscode . ChatEditingSessionActionOutcome . Accepted , 'accepted' ] ,
580
+ [ vscode . ChatEditingSessionActionOutcome . Rejected , 'rejected' ] ,
581
+ [ vscode . ChatEditingSessionActionOutcome . Saved , 'saved' ]
582
+ ] ) ;
0 commit comments