Merge pull request #119817 from yannickowow/master
Show current DataBreakpoint access type in "Breakpoints" view (#119588)
This commit is contained in:
commit
c318085f38
2 changed files with 16 additions and 4 deletions
|
@ -326,6 +326,10 @@ interface IFunctionBreakpointTemplateData extends IBaseBreakpointWithIconTemplat
|
|||
condition: HTMLElement;
|
||||
}
|
||||
|
||||
interface IDataBreakpointTemplateData extends IBaseBreakpointWithIconTemplateData {
|
||||
accessType: HTMLElement;
|
||||
}
|
||||
|
||||
interface IFunctionBreakpointInputTemplateData {
|
||||
inputBox: InputBox;
|
||||
checkbox: HTMLInputElement;
|
||||
|
@ -573,7 +577,7 @@ class FunctionBreakpointsRenderer implements IListRenderer<FunctionBreakpoint, I
|
|||
}
|
||||
}
|
||||
|
||||
class DataBreakpointsRenderer implements IListRenderer<DataBreakpoint, IBaseBreakpointWithIconTemplateData> {
|
||||
class DataBreakpointsRenderer implements IListRenderer<DataBreakpoint, IDataBreakpointTemplateData> {
|
||||
|
||||
constructor(
|
||||
@IDebugService private readonly debugService: IDebugService,
|
||||
|
@ -588,8 +592,8 @@ class DataBreakpointsRenderer implements IListRenderer<DataBreakpoint, IBaseBrea
|
|||
return DataBreakpointsRenderer.ID;
|
||||
}
|
||||
|
||||
renderTemplate(container: HTMLElement): IBaseBreakpointWithIconTemplateData {
|
||||
const data: IBreakpointTemplateData = Object.create(null);
|
||||
renderTemplate(container: HTMLElement): IDataBreakpointTemplateData {
|
||||
const data: IDataBreakpointTemplateData = Object.create(null);
|
||||
data.breakpoint = dom.append(container, $('.breakpoint'));
|
||||
|
||||
data.icon = $('.icon');
|
||||
|
@ -603,11 +607,12 @@ class DataBreakpointsRenderer implements IListRenderer<DataBreakpoint, IBaseBrea
|
|||
dom.append(data.breakpoint, data.checkbox);
|
||||
|
||||
data.name = dom.append(data.breakpoint, $('span.name'));
|
||||
data.accessType = dom.append(data.breakpoint, $('span.access-type'));
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
renderElement(dataBreakpoint: DataBreakpoint, _index: number, data: IBaseBreakpointWithIconTemplateData): void {
|
||||
renderElement(dataBreakpoint: DataBreakpoint, _index: number, data: IDataBreakpointTemplateData): void {
|
||||
data.context = dataBreakpoint;
|
||||
data.name.textContent = dataBreakpoint.description;
|
||||
const { icon, message } = getBreakpointMessageAndIcon(this.debugService.state, this.debugService.getModel().areBreakpointsActivated(), dataBreakpoint, this.labelService);
|
||||
|
@ -622,6 +627,12 @@ class DataBreakpointsRenderer implements IListRenderer<DataBreakpoint, IBaseBrea
|
|||
if (session && !session.capabilities.supportsDataBreakpoints) {
|
||||
data.breakpoint.title = localize('dataBreakpointsNotSupported', "Data breakpoints are not supported by this debug type");
|
||||
}
|
||||
if (dataBreakpoint.accessType) {
|
||||
const accessType = dataBreakpoint.accessType === 'read' ? localize('read', "Read") : dataBreakpoint.accessType === 'write' ? localize('write', "Write") : localize('access', "Access");
|
||||
data.accessType.textContent = accessType;
|
||||
} else {
|
||||
data.accessType.textContent = '';
|
||||
}
|
||||
}
|
||||
|
||||
disposeTemplate(templateData: IBaseBreakpointWithIconTemplateData): void {
|
||||
|
|
|
@ -319,6 +319,7 @@
|
|||
justify-content: center;
|
||||
}
|
||||
|
||||
.debug-pane .debug-breakpoints .breakpoint > .access-type,
|
||||
.debug-pane .debug-breakpoints .breakpoint > .file-path,
|
||||
.debug-pane .debug-breakpoints .breakpoint > .condition {
|
||||
opacity: 0.7;
|
||||
|
|
Loading…
Reference in a new issue