diff --git a/src/vs/platform/quickinput/browser/quickInputList.ts b/src/vs/platform/quickinput/browser/quickInputList.ts index 70612a06a835d..aac73b3a9a12e 100644 --- a/src/vs/platform/quickinput/browser/quickInputList.ts +++ b/src/vs/platform/quickinput/browser/quickInputList.ts @@ -18,6 +18,7 @@ import { range } from 'vs/base/common/arrays'; import { ThrottledDelayer } from 'vs/base/common/async'; import { compareAnything } from 'vs/base/common/comparers'; import { memoize } from 'vs/base/common/decorators'; +import { isCancellationError } from 'vs/base/common/errors'; import { Emitter, Event } from 'vs/base/common/event'; import { IMatch } from 'vs/base/common/filters'; import { IMarkdownString } from 'vs/base/common/htmlContent'; @@ -410,11 +411,18 @@ export class QuickInputList { ) { return; } - await delayer.trigger(async () => { - if (e.element) { - this.showHover(e.element); + try { + await delayer.trigger(async () => { + if (e.element) { + this.showHover(e.element); + } + }); + } catch (e) { + // Ignore cancellation errors due to mouse out + if (!isCancellationError(e)) { + throw e; } - }); + } })); this.disposables.push(this.list.onMouseOut(e => { // onMouseOut triggers every time a new element has been moused over