提交 1710d4eb 编写于 作者: I isidor

improve call stack running / stopped msgs

fixes #14428
fixes #14422
上级 89a3129e
......@@ -60,7 +60,8 @@
}
.debug-viewlet .monaco-tree .monaco-tree-row.selected .line-number,
.debug-viewlet .monaco-tree .monaco-tree-row.selected .thread > .state > .label {
.debug-viewlet .monaco-tree .monaco-tree-row.selected .thread > .state > .label,
.debug-viewlet .monaco-tree .monaco-tree-row.selected .process > .state > .label {
background-color: #ffffff;
color: #666;
}
......@@ -123,11 +124,13 @@
color: inherit;
}
.debug-viewlet .debug-call-stack .thread {
.debug-viewlet .debug-call-stack .thread,
.debug-viewlet .debug-call-stack .process {
display: flex;
}
.debug-viewlet .debug-call-stack .thread > .state {
.debug-viewlet .debug-call-stack .thread > .state,
.debug-viewlet .debug-call-stack .process > .state {
flex: 1;
text-align: right;
overflow: hidden;
......@@ -136,7 +139,8 @@
text-transform: uppercase;
}
.debug-viewlet .debug-call-stack .thread > .state > .label {
.debug-viewlet .debug-call-stack .thread > .state > .label,
.debug-viewlet .debug-call-stack .process > .state > .label {
background: rgba(136, 136, 136, 0.3);
border-radius: 2px;
font-size: 0.8em;
......
......@@ -395,6 +395,8 @@ interface IThreadTemplateData {
interface IProcessTemplateData {
process: HTMLElement;
name: HTMLElement;
state: HTMLElement;
stateLabel: HTMLSpanElement;
}
interface IErrorTemplateData {
......@@ -451,6 +453,8 @@ export class CallStackRenderer implements IRenderer {
let data: IProcessTemplateData = Object.create(null);
data.process = dom.append(container, $('.process'));
data.name = dom.append(data.process, $('.name'));
data.state = dom.append(data.process, $('.state'));
data.stateLabel = dom.append(data.state, $('span.label'));
return data;
}
......@@ -504,13 +508,18 @@ export class CallStackRenderer implements IRenderer {
private renderProcess(process: debug.IProcess, data: IProcessTemplateData): void {
data.process.title = nls.localize({ key: 'process', comment: ['Process is a noun'] }, "Process");
data.name.textContent = process.name;
const stoppedThread = process.getAllThreads().filter(t => t.stopped).pop();
data.stateLabel.textContent = stoppedThread ? nls.localize('paused', "Paused")
: nls.localize({ key: 'running', comment: ['indicates state'] }, "Running");
}
private renderThread(thread: debug.IThread, data: IThreadTemplateData): void {
data.thread.title = nls.localize('thread', "Thread");
data.name.textContent = thread.name;
data.stateLabel.textContent = thread.stopped ? nls.localize('paused', "paused")
: nls.localize({ key: 'running', comment: ['indicates state'] }, "running");
data.stateLabel.textContent = thread.stopped ? nls.localize('pausedOn', "Paused on {0}", thread.stoppedDetails.reason)
: nls.localize({ key: 'running', comment: ['indicates state'] }, "Running");
}
private renderError(element: string, data: IErrorTemplateData) {
......
......@@ -268,7 +268,7 @@ export class CallStackView extends CollapsibleViewletView {
this.tree.expandAll([thread.process, thread]).done(() => {
const focusedStackFrame = this.debugService.getViewModel().focusedStackFrame;
this.tree.setSelection([focusedStackFrame]);
if (thread.stoppedDetails && thread.stoppedDetails.reason) {
if (thread.stoppedDetails && thread.stoppedDetails.reason && this.debugService.getModel().getProcesses().length === 1) {
this.pauseMessageLabel.text(nls.localize('debugStopped', "Paused on {0}", thread.stoppedDetails.reason));
if (thread.stoppedDetails.text) {
this.pauseMessageLabel.title(thread.stoppedDetails.text);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册