diff --git a/src/vs/base/browser/dom.ts b/src/vs/base/browser/dom.ts index de0524c037e..3a6cc1c87ad 100644 --- a/src/vs/base/browser/dom.ts +++ b/src/vs/base/browser/dom.ts @@ -908,7 +908,7 @@ export const EventHelper = { export interface IFocusTracker extends Disposable { onDidFocus: Event; onDidBlur: Event; - refreshState?(): void; + refreshState(): void; } export function saveParentsScrollTop(node: Element): number[] { diff --git a/src/vs/editor/browser/widget/codeEditorWidget.ts b/src/vs/editor/browser/widget/codeEditorWidget.ts index acb8fb98c0c..be2140eea29 100644 --- a/src/vs/editor/browser/widget/codeEditorWidget.ts +++ b/src/vs/editor/browser/widget/codeEditorWidget.ts @@ -2007,6 +2007,12 @@ class CodeEditorWidgetFocusTracker extends Disposable { this._hasFocus = false; this._onChange.fire(undefined); })); + this._register(dom.addDisposableListener(domElement, 'focusin', () => { + this._domFocusTracker.refreshState(); + })); + this._register(dom.addDisposableListener(domElement, 'focusout', () => { + this._domFocusTracker.refreshState(); + })); } public hasFocus(): boolean {