diff --git a/src/vs/workbench/parts/debug/browser/breakpointsView.ts b/src/vs/workbench/parts/debug/browser/breakpointsView.ts index 2a869ab101f3d8a0fd04da435ac3985c934aaa9b..33605695d12ceff23dac9633db6c2b18dbee3b78 100644 --- a/src/vs/workbench/parts/debug/browser/breakpointsView.ts +++ b/src/vs/workbench/parts/debug/browser/breakpointsView.ts @@ -91,17 +91,29 @@ export class BreakpointsView extends ViewletPanel { this.disposables.push(this.list.onOpen(e => { let isSingleClick = false; let isDoubleClick = false; + let isMiddleClick = false; let openToSide = false; const browserEvent = e.browserEvent; if (browserEvent instanceof MouseEvent) { isSingleClick = browserEvent.detail === 1; isDoubleClick = browserEvent.detail === 2; + isMiddleClick = browserEvent.button === 1; openToSide = (browserEvent.ctrlKey || browserEvent.metaKey || browserEvent.altKey); } const focused = this.list.getFocusedElements(); const element = focused.length ? focused[0] : undefined; + + if (isMiddleClick) { + if (element instanceof Breakpoint) { + this.debugService.removeBreakpoints(element.getId()); + } else if (element instanceof FunctionBreakpoint) { + this.debugService.removeFunctionBreakpoints(element.getId()); + } + return; + } + if (element instanceof Breakpoint) { openBreakpointSource(element, openToSide, isSingleClick, this.debugService, this.editorService).done(undefined, onUnexpectedError); }