@@ -26,9 +26,6 @@ import { IProgress, Progress } from '../../../../platform/progress/common/progre
26
26
import { ITelemetryService } from '../../../../platform/telemetry/common/telemetry.js' ;
27
27
import { CodeActionFilter , CodeActionItem , CodeActionKind , CodeActionSet , CodeActionTrigger , CodeActionTriggerSource , filtersAction , mayIncludeActionsOfKind } from '../common/types.js' ;
28
28
import { HierarchicalKind } from '../../../../base/common/hierarchicalKind.js' ;
29
- import { raceTimeout } from '../../../../base/common/async.js' ;
30
-
31
-
32
29
33
30
export const codeActionCommandId = 'editor.action.codeAction' ;
34
31
export const quickFixCommandId = 'editor.action.quickFix' ;
@@ -123,10 +120,9 @@ export async function getCodeActions(
123
120
124
121
const disposables = new DisposableStore ( ) ;
125
122
const promises = providers . map ( async provider => {
123
+ const handle = setTimeout ( ( ) => progress . report ( provider ) , 1250 ) ;
126
124
try {
127
- const codeActionsPromise = Promise . resolve ( provider . provideCodeActions ( model , rangeOrSelection , codeActionContext , cts . token ) ) ;
128
-
129
- const providedCodeActions = await raceTimeout ( codeActionsPromise , 1250 , ( ) => progress . report ( provider ) ) ;
125
+ const providedCodeActions = await provider . provideCodeActions ( model , rangeOrSelection , codeActionContext , cts . token ) ;
130
126
131
127
if ( providedCodeActions ) {
132
128
disposables . add ( providedCodeActions ) ;
@@ -148,6 +144,8 @@ export async function getCodeActions(
148
144
}
149
145
onUnexpectedExternalError ( err ) ;
150
146
return emptyCodeActionsResponse ;
147
+ } finally {
148
+ clearTimeout ( handle ) ;
151
149
}
152
150
} ) ;
153
151
0 commit comments