diff --git a/src/vs/workbench/contrib/debug/browser/breakpointsView.ts b/src/vs/workbench/contrib/debug/browser/breakpointsView.ts index 6f82df1624a..d6dec6a1cf0 100644 --- a/src/vs/workbench/contrib/debug/browser/breakpointsView.ts +++ b/src/vs/workbench/contrib/debug/browser/breakpointsView.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import * as dom from '../../../../base/browser/dom.js'; -import { IKeyboardEvent } from '../../../../base/browser/keyboardEvent.js'; +import { IKeyboardEvent, StandardKeyboardEvent } from '../../../../base/browser/keyboardEvent.js'; import { ActionBar } from '../../../../base/browser/ui/actionbar/actionbar.js'; import { AriaRole } from '../../../../base/browser/ui/aria/aria.js'; import { getDefaultHoverDelegate } from '../../../../base/browser/ui/hover/hoverDelegateFactory.js'; @@ -278,6 +278,21 @@ export class BreakpointsView extends ViewPane { } })); + this._register(this.tree.onKeyDown(e => { + const event = new StandardKeyboardEvent(e); + if (event.equals(KeyCode.Space) && !dom.isEditableElement(e.target as HTMLElement)) { + const focused = this.tree.getFocus(); + if (focused.length > 0) { + const element = focused[0]; + if (element && !(element instanceof BreakpointsFolderItem)) { + this.debugService.enableOrDisableBreakpoints(!element.enabled, element); + event.preventDefault(); + event.stopPropagation(); + } + } + } + })); + // Track collapsed state and update size (items are expanded by default) this._register(this.tree.onDidChangeCollapseState(e => { const element = e.node.element;