diff --git a/src/vs/workbench/parts/markers/electron-browser/markersPanel.ts b/src/vs/workbench/parts/markers/electron-browser/markersPanel.ts index 913ce14a87312e21600807566d8b0cec43c35cd2..fbb6bf0c6ef4877dd2d03325ff3b99eb0caa26e7 100644 --- a/src/vs/workbench/parts/markers/electron-browser/markersPanel.ts +++ b/src/vs/workbench/parts/markers/electron-browser/markersPanel.ts @@ -204,7 +204,10 @@ export class MarkersPanel extends Panel { ariaLabel: Messages.MARKERS_PANEL_ARIA_LABEL_PROBLEMS_TREE }); - Constants.MarkerFocusContextKey.bindTo(this.tree.contextKeyService); + const markerFocusContextKey = Constants.MarkerFocusContextKey.bindTo(this.tree.contextKeyService); + this._register(this.tree.onDidChangeFocus((e: { focus: any }) => markerFocusContextKey.set(e.focus instanceof Marker))); + const focusTracker = this._register(dom.trackFocus(this.tree.getHTMLElement())); + this._register(focusTracker.onDidBlur(() => markerFocusContextKey.set(false))); const markersNavigator = this._register(new TreeResourceNavigator(this.tree, { openOnFocus: true })); this._register(debounceEvent(markersNavigator.openResource, (last, event) => event, 75, true)(options => {