Skip to content

Commit 2d2f5bd

Browse files
authored
debug: address triggered breakpoint feedback (microsoft#203363)
Fixes microsoft#203154 Fixes microsoft#203155 Fixes microsoft#203156 Fixes microsoft#203158
1 parent 905ed4f commit 2d2f5bd

File tree

3 files changed

+17
-5
lines changed

3 files changed

+17
-5
lines changed

src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -457,7 +457,7 @@ export class BreakpointEditorContribution implements IBreakpointEditorContributi
457457
));
458458
actions.push(new Action(
459459
'addTriggeredBreakpoint',
460-
nls.localize('addTriggeredBreakpoint', "Add Triggered Breakpoint.."),
460+
nls.localize('addTriggeredBreakpoint', "Add Triggered Breakpoint..."),
461461
undefined,
462462
true,
463463
() => Promise.resolve(this.showBreakpointWidget(lineNumber, column, BreakpointWidgetContext.TRIGGER_POINT))

src/vs/workbench/contrib/debug/browser/breakpointWidget.ts

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ export class BreakpointWidget extends ZoneWidget implements IPrivateBreakpointWi
8484
private inputContainer!: HTMLElement;
8585
private selectBreakpointContainer!: HTMLElement;
8686
private input!: IActiveCodeEditor;
87+
private selectBreakpointBox!: SelectBox;
8788
private toDispose: lifecycle.IDisposable[];
8889
private conditionInput = '';
8990
private hitCountInput = '';
@@ -205,7 +206,7 @@ export class BreakpointWidget extends ZoneWidget implements IPrivateBreakpointWi
205206
{ text: nls.localize('expression', "Expression") },
206207
{ text: nls.localize('hitCount', "Hit Count") },
207208
{ text: nls.localize('logMessage', "Log Message") },
208-
{ text: nls.localize('triggeredBy', "Wait For Breakpoint") },
209+
{ text: nls.localize('triggeredBy', "Wait for Breakpoint") },
209210
], this.context, this.contextViewService, defaultSelectBoxStyles, { ariaLabel: nls.localize('breakpointType', 'Breakpoint Type') });
210211
this.selectContainer = $('.breakpoint-select-container');
211212
selectBox.render(dom.append(container, this.selectContainer));
@@ -228,7 +229,7 @@ export class BreakpointWidget extends ZoneWidget implements IPrivateBreakpointWi
228229

229230
this.updateContextInput();
230231
// Due to an electron bug we have to do the timeout, otherwise we do not get focus
231-
setTimeout(() => this.input.focus(), 150);
232+
setTimeout(() => this.focusInput(), 150);
232233
}
233234

234235
private createTriggerBreakpointInput(container: HTMLElement) {
@@ -256,7 +257,7 @@ export class BreakpointWidget extends ZoneWidget implements IPrivateBreakpointWi
256257
], select);
257258
});
258259

259-
const selectBreakpointBox = new SelectBox([{ text: nls.localize('triggerByLoading', 'Loading...'), isDisabled: true }], 0, this.contextViewService, defaultSelectBoxStyles, { ariaLabel: nls.localize('selectBreakpoint', 'Select breakpoint') });
260+
const selectBreakpointBox = this.selectBreakpointBox = new SelectBox([{ text: nls.localize('triggerByLoading', 'Loading...'), isDisabled: true }], 0, this.contextViewService, defaultSelectBoxStyles, { ariaLabel: nls.localize('selectBreakpoint', 'Select breakpoint') });
260261
selectBreakpointBox.onDidSelect(e => {
261262
if (e.index === 0) {
262263
this.triggeredByBreakpointInput = undefined;
@@ -295,7 +296,7 @@ export class BreakpointWidget extends ZoneWidget implements IPrivateBreakpointWi
295296
this.setInputMode();
296297
const value = this.getInputValue(this.breakpoint);
297298
this.input.getModel().setValue(value);
298-
this.input.focus();
299+
this.focusInput();
299300
}
300301
}
301302

@@ -455,6 +456,14 @@ export class BreakpointWidget extends ZoneWidget implements IPrivateBreakpointWi
455456
this.dispose();
456457
}
457458

459+
private focusInput() {
460+
if (this.context === Context.TRIGGER_POINT) {
461+
this.selectBreakpointBox.focus();
462+
} else {
463+
this.input.focus();
464+
}
465+
}
466+
458467
override dispose(): void {
459468
super.dispose();
460469
this.input.dispose();

src/vs/workbench/contrib/debug/browser/media/debug.contribution.css

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,9 @@
3131
margin-top: -1px;
3232
}
3333

34+
35+
.codicon-debug-breakpoint-conditional.codicon-debug-stackframe-focused::after,
36+
.codicon-debug-breakpoint-conditional.codicon-debug-stackframe::after,
3437
.codicon-debug-breakpoint.codicon-debug-stackframe-focused::after,
3538
.codicon-debug-breakpoint.codicon-debug-stackframe::after {
3639
content: '\eb8a';

0 commit comments

Comments
 (0)