提交 d6b4af10 编写于 作者: I isidor

debug: column breakpoints

#14784
上级 09356b44
......@@ -35,7 +35,7 @@ class ToggleBreakpointAction extends EditorAction {
const position = editor.getPosition();
const modelUri = editor.getModel().uri;
const bp = debugService.getModel().getBreakpoints()
.filter(bp => bp.lineNumber === position.lineNumber && bp.uri.toString() === modelUri.toString()).pop();
.filter(bp => bp.lineNumber === position.lineNumber && bp.column === position.column && bp.uri.toString() === modelUri.toString()).pop();
if (bp) {
return debugService.removeBreakpoints(bp.getId());
......
......@@ -792,6 +792,7 @@ export class Model implements debug.IModel {
const bpData = data[bp.getId()];
if (bpData) {
bp.lineNumber = bpData.line ? bpData.line : bp.lineNumber;
bp.column = bpData.column ? bpData.column : bp.column;
bp.verified = bpData.verified;
bp.idFromAdapter = bpData.id;
bp.message = bpData.message;
......
......@@ -131,11 +131,11 @@ export class DebugEditorContribution implements IDebugEditorContribution {
getActionsContext: () => breakpoint
});
} else {
const breakpoint = this.debugService.getModel().getBreakpoints()
.filter(bp => bp.uri.toString() === uri.toString() && bp.lineNumber === lineNumber).pop();
const breakpoints = this.debugService.getModel().getBreakpoints()
.filter(bp => bp.uri.toString() === uri.toString() && bp.lineNumber === lineNumber);
if (breakpoint) {
this.debugService.removeBreakpoints(breakpoint.getId());
if (breakpoints.length) {
breakpoints.forEach(bp => this.debugService.removeBreakpoints(bp.getId()));
} else if (canSetBreakpoints) {
this.debugService.addBreakpoints(uri, [{ lineNumber }]);
}
......
......@@ -940,7 +940,7 @@ export class DebugService implements debug.IDebugService {
return;
}
const data: { [id: string]: { line?: number, verified: boolean } } = {};
const data: { [id: string]: { line?: number, column?: number, verified: boolean } } = {};
for (let i = 0; i < breakpointsToSend.length; i++) {
data[breakpointsToSend[i].getId()] = response.body.breakpoints[i];
}
......
......@@ -1258,6 +1258,9 @@ export class BreakpointsRenderer implements IRenderer {
data.name.textContent = getPathLabel(paths.basename(breakpoint.uri.fsPath), this.contextService);
data.lineNumber.textContent = breakpoint.lineNumber.toString();
if (breakpoint.column) {
data.lineNumber.textContent += `:${breakpoint.column}`;
}
data.filePath.textContent = getPathLabel(paths.dirname(breakpoint.uri.fsPath), this.contextService);
data.checkbox.checked = breakpoint.enabled;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册