Skip to content

Commit

Permalink
add trace logging for resolving extra edits lazy, #96779
Browse files Browse the repository at this point in the history
  • Loading branch information
jrieken committed May 13, 2020
1 parent c4f02d6 commit 73d41cd
Showing 1 changed file with 9 additions and 3 deletions.
12 changes: 9 additions & 3 deletions src/vs/editor/contrib/suggest/suggestController.ts
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@ import { EditorOption } from 'vs/editor/common/config/editorOptions';
import * as platform from 'vs/base/common/platform';
import { MenuRegistry } from 'vs/platform/actions/common/actions';
import { CancellationTokenSource } from 'vs/base/common/cancellation';
import { ILogService } from 'vs/platform/log/common/log';
import { StopWatch } from 'vs/base/common/stopwatch';

// sticky suggest widget which doesn't disappear on focus out and such
let _sticky = false;
Expand Down Expand Up @@ -117,6 +119,7 @@ export class SuggestController implements IEditorContribution {
@ICommandService private readonly _commandService: ICommandService,
@IContextKeyService private readonly _contextKeyService: IContextKeyService,
@IInstantiationService private readonly _instantiationService: IInstantiationService,
@ILogService private readonly _logService: ILogService,
) {
this.editor = editor;
this.model = new SuggestModel(this.editor, editorWorker);
Expand Down Expand Up @@ -290,6 +293,7 @@ export class SuggestController implements IEditorContribution {

} else if (!item.isResolved) {
// async additional edits
const sw = new StopWatch(true);
let position: IPosition | undefined;

const docListener = model.onDidChangeContent(e => {
Expand Down Expand Up @@ -319,10 +323,10 @@ export class SuggestController implements IEditorContribution {

tasks.push(item.resolve(cts.token).then(() => {
if (!item.completion.additionalTextEdits || cts.token.isCancellationRequested) {
return;
return false;
}
if (position && item.completion.additionalTextEdits.some(edit => Position.isBefore(position!, Range.getStartPosition(edit.range)))) {
return;
return false;
}
if (didType) {
this.editor.pushUndoStop();
Expand All @@ -336,7 +340,9 @@ export class SuggestController implements IEditorContribution {
if (didType || !(oldFlags & InsertFlags.NoAfterUndoStop)) {
this.editor.pushUndoStop();
}
}).finally(() => {
return true;
}).then(applied => {
this._logService.trace('[suggest] async resolving of edits DONE (ms, applied?)', sw.elapsed(), applied);
docListener.dispose();
typeListener.dispose();
}));
Expand Down

0 comments on commit 73d41cd

Please sign in to comment.