@codingame/monaco-vscode-debug-service-override 1.83.2 → 1.83.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +2 -2
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +90 -68
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +5 -26
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +61 -104
- package/vscode/src/vs/workbench/contrib/debug/browser/callStackEditorContribution.js +3 -9
- package/vscode/src/vs/workbench/contrib/debug/browser/callStackView.js +29 -51
- package/vscode/src/vs/workbench/contrib/debug/browser/debug.contribution.js +190 -203
- package/vscode/src/vs/workbench/contrib/debug/browser/debugActionViewItems.js +4 -4
- package/vscode/src/vs/workbench/contrib/debug/browser/debugAdapterManager.js +11 -31
- package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +32 -32
- package/vscode/src/vs/workbench/contrib/debug/browser/debugConfigurationManager.js +5 -5
- package/vscode/src/vs/workbench/contrib/debug/browser/debugConsoleQuickAccess.js +3 -3
- package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorActions.js +21 -48
- package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorContribution.js +2 -5
- package/vscode/src/vs/workbench/contrib/debug/browser/debugHover.js +3 -12
- package/vscode/src/vs/workbench/contrib/debug/browser/debugQuickAccess.js +11 -15
- package/vscode/src/vs/workbench/contrib/debug/browser/debugService.js +28 -80
- package/vscode/src/vs/workbench/contrib/debug/browser/debugSession.js +56 -68
- package/vscode/src/vs/workbench/contrib/debug/browser/debugSessionPicker.js +3 -8
- package/vscode/src/vs/workbench/contrib/debug/browser/debugStatus.js +3 -3
- package/vscode/src/vs/workbench/contrib/debug/browser/debugTaskRunner.js +17 -50
- package/vscode/src/vs/workbench/contrib/debug/browser/debugTitle.js +31 -0
- package/vscode/src/vs/workbench/contrib/debug/browser/debugToolBar.js +9 -4
- package/vscode/src/vs/workbench/contrib/debug/browser/debugViewlet.js +12 -4
- package/vscode/src/vs/workbench/contrib/debug/browser/disassemblyView.js +8 -8
- package/vscode/src/vs/workbench/contrib/debug/browser/exceptionWidget.js +13 -11
- package/vscode/src/vs/workbench/contrib/debug/browser/linkDetector.js +4 -4
- package/vscode/src/vs/workbench/contrib/debug/browser/loadedScriptsView.js +6 -25
- package/vscode/src/vs/workbench/contrib/debug/browser/rawDebugSession.js +9 -12
- package/vscode/src/vs/workbench/contrib/debug/browser/repl.js +15 -21
- package/vscode/src/vs/workbench/contrib/debug/browser/replViewer.js +6 -20
- package/vscode/src/vs/workbench/contrib/debug/browser/statusbarColorProvider.js +5 -17
- package/vscode/src/vs/workbench/contrib/debug/browser/variablesView.js +10 -18
- package/vscode/src/vs/workbench/contrib/debug/browser/watchExpressionsView.js +10 -13
- package/vscode/src/vs/workbench/contrib/debug/browser/welcomeView.js +61 -6
- package/vscode/src/vs/workbench/contrib/debug/common/debugContentProvider.js +6 -9
- package/vscode/src/vs/workbench/contrib/debug/common/debugLifecycle.js +3 -12
- package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +21 -13
- package/vscode/src/vs/workbench/contrib/debug/common/debugSchemas.js +41 -143
- package/vscode/src/vs/workbench/contrib/debug/common/debugSource.js +1 -1
- package/vscode/src/vs/workbench/contrib/debug/common/debugger.js +11 -36
- package/vscode/src/vs/workbench/contrib/debug/common/disassemblyViewInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/debug/common/loadedScriptsPicker.js +1 -1
- package/vscode/src/vs/workbench/contrib/debug/common/replModel.js +1 -1
- package/vscode/src/vs/workbench/services/configurationResolver/browser/baseConfigurationResolverService.js +11 -16
- package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverSchema.js +16 -49
- package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverUtils.js +1 -4
|
@@ -12,7 +12,7 @@ import * as platform from 'monaco-editor/esm/vs/base/common/platform.js';
|
|
|
12
12
|
import * as resources from 'monaco-editor/esm/vs/base/common/resources.js';
|
|
13
13
|
import Severity from 'monaco-editor/esm/vs/base/common/severity.js';
|
|
14
14
|
import { generateUuid } from 'monaco-editor/esm/vs/base/common/uuid.js';
|
|
15
|
-
import {
|
|
15
|
+
import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
|
|
16
16
|
import { IConfigurationService } from 'monaco-editor/esm/vs/platform/configuration/common/configuration.js';
|
|
17
17
|
import { IInstantiationService } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
|
|
18
18
|
import { ILogService } from 'monaco-editor/esm/vs/platform/log/common/log.js';
|
|
@@ -263,7 +263,7 @@ let DebugSession = class DebugSession {
|
|
|
263
263
|
}
|
|
264
264
|
async launchOrAttach(config) {
|
|
265
265
|
if (!this.raw) {
|
|
266
|
-
throw new Error(
|
|
266
|
+
throw new Error(localizeWithPath('vs/workbench/contrib/debug/browser/debugSession', 'noDebugAdapter', "No debugger available, can not send '{0}'", 'launch or attach'));
|
|
267
267
|
}
|
|
268
268
|
if (this.parentSession && this.parentSession.state === 0 ) {
|
|
269
269
|
throw canceled();
|
|
@@ -314,7 +314,7 @@ let DebugSession = class DebugSession {
|
|
|
314
314
|
}
|
|
315
315
|
async restart() {
|
|
316
316
|
if (!this.raw) {
|
|
317
|
-
throw new Error(
|
|
317
|
+
throw new Error(localizeWithPath('vs/workbench/contrib/debug/browser/debugSession', 'noDebugAdapter', "No debugger available, can not send '{0}'", 'restart'));
|
|
318
318
|
}
|
|
319
319
|
this.cancelAllRequests();
|
|
320
320
|
if (this._options.lifecycleManagedByParent && this.parentSession) {
|
|
@@ -326,7 +326,7 @@ let DebugSession = class DebugSession {
|
|
|
326
326
|
}
|
|
327
327
|
async sendBreakpoints(modelUri, breakpointsToSend, sourceModified) {
|
|
328
328
|
if (!this.raw) {
|
|
329
|
-
throw new Error(
|
|
329
|
+
throw new Error(localizeWithPath('vs/workbench/contrib/debug/browser/debugSession', 'noDebugAdapter', "No debugger available, can not send '{0}'", 'breakpoints'));
|
|
330
330
|
}
|
|
331
331
|
if (!this.raw.readyForBreakpoints) {
|
|
332
332
|
return Promise.resolve(undefined);
|
|
@@ -356,7 +356,7 @@ let DebugSession = class DebugSession {
|
|
|
356
356
|
}
|
|
357
357
|
async sendFunctionBreakpoints(fbpts) {
|
|
358
358
|
if (!this.raw) {
|
|
359
|
-
throw new Error(
|
|
359
|
+
throw new Error(localizeWithPath('vs/workbench/contrib/debug/browser/debugSession', 'noDebugAdapter', "No debugger available, can not send '{0}'", 'function breakpoints'));
|
|
360
360
|
}
|
|
361
361
|
if (this.raw.readyForBreakpoints) {
|
|
362
362
|
const response = await this.raw.setFunctionBreakpoints({ breakpoints: fbpts });
|
|
@@ -371,7 +371,7 @@ let DebugSession = class DebugSession {
|
|
|
371
371
|
}
|
|
372
372
|
async sendExceptionBreakpoints(exbpts) {
|
|
373
373
|
if (!this.raw) {
|
|
374
|
-
throw new Error(
|
|
374
|
+
throw new Error(localizeWithPath('vs/workbench/contrib/debug/browser/debugSession', 'noDebugAdapter', "No debugger available, can not send '{0}'", 'exception breakpoints'));
|
|
375
375
|
}
|
|
376
376
|
if (this.raw.readyForBreakpoints) {
|
|
377
377
|
const args = this.capabilities.supportsExceptionFilterOptions ? {
|
|
@@ -395,17 +395,17 @@ let DebugSession = class DebugSession {
|
|
|
395
395
|
}
|
|
396
396
|
async dataBreakpointInfo(name, variablesReference) {
|
|
397
397
|
if (!this.raw) {
|
|
398
|
-
throw new Error(
|
|
398
|
+
throw new Error(localizeWithPath('vs/workbench/contrib/debug/browser/debugSession', 'noDebugAdapter', "No debugger available, can not send '{0}'", 'data breakpoints info'));
|
|
399
399
|
}
|
|
400
400
|
if (!this.raw.readyForBreakpoints) {
|
|
401
|
-
throw new Error(
|
|
401
|
+
throw new Error(localizeWithPath('vs/workbench/contrib/debug/browser/debugSession', 'sessionNotReadyForBreakpoints', "Session is not ready for breakpoints"));
|
|
402
402
|
}
|
|
403
403
|
const response = await this.raw.dataBreakpointInfo({ name, variablesReference });
|
|
404
404
|
return response?.body;
|
|
405
405
|
}
|
|
406
406
|
async sendDataBreakpoints(dataBreakpoints) {
|
|
407
407
|
if (!this.raw) {
|
|
408
|
-
throw new Error(
|
|
408
|
+
throw new Error(localizeWithPath('vs/workbench/contrib/debug/browser/debugSession', 'noDebugAdapter', "No debugger available, can not send '{0}'", 'data breakpoints'));
|
|
409
409
|
}
|
|
410
410
|
if (this.raw.readyForBreakpoints) {
|
|
411
411
|
const response = await this.raw.setDataBreakpoints({ breakpoints: dataBreakpoints });
|
|
@@ -420,7 +420,7 @@ let DebugSession = class DebugSession {
|
|
|
420
420
|
}
|
|
421
421
|
async sendInstructionBreakpoints(instructionBreakpoints) {
|
|
422
422
|
if (!this.raw) {
|
|
423
|
-
throw new Error(
|
|
423
|
+
throw new Error(localizeWithPath('vs/workbench/contrib/debug/browser/debugSession', 'noDebugAdapter', "No debugger available, can not send '{0}'", 'instruction breakpoints'));
|
|
424
424
|
}
|
|
425
425
|
if (this.raw.readyForBreakpoints) {
|
|
426
426
|
const response = await this.raw.setInstructionBreakpoints({ breakpoints: ( instructionBreakpoints.map(ib => ib.toJSON())) });
|
|
@@ -435,7 +435,7 @@ let DebugSession = class DebugSession {
|
|
|
435
435
|
}
|
|
436
436
|
async breakpointsLocations(uri, lineNumber) {
|
|
437
437
|
if (!this.raw) {
|
|
438
|
-
throw new Error(
|
|
438
|
+
throw new Error(localizeWithPath('vs/workbench/contrib/debug/browser/debugSession', 'noDebugAdapter', "No debugger available, can not send '{0}'", 'breakpoints locations'));
|
|
439
439
|
}
|
|
440
440
|
const source = this.getRawSource(uri);
|
|
441
441
|
const response = await this.raw.breakpointLocations({ source, line: lineNumber });
|
|
@@ -450,20 +450,20 @@ let DebugSession = class DebugSession {
|
|
|
450
450
|
}
|
|
451
451
|
customRequest(request, args) {
|
|
452
452
|
if (!this.raw) {
|
|
453
|
-
throw new Error(
|
|
453
|
+
throw new Error(localizeWithPath('vs/workbench/contrib/debug/browser/debugSession', 'noDebugAdapter', "No debugger available, can not send '{0}'", request));
|
|
454
454
|
}
|
|
455
455
|
return this.raw.custom(request, args);
|
|
456
456
|
}
|
|
457
457
|
stackTrace(threadId, startFrame, levels, token) {
|
|
458
458
|
if (!this.raw) {
|
|
459
|
-
throw new Error(
|
|
459
|
+
throw new Error(localizeWithPath('vs/workbench/contrib/debug/browser/debugSession', 'noDebugAdapter', "No debugger available, can not send '{0}'", 'stackTrace'));
|
|
460
460
|
}
|
|
461
461
|
const sessionToken = this.getNewCancellationToken(threadId, token);
|
|
462
462
|
return this.raw.stackTrace({ threadId, startFrame, levels }, sessionToken);
|
|
463
463
|
}
|
|
464
464
|
async exceptionInfo(threadId) {
|
|
465
465
|
if (!this.raw) {
|
|
466
|
-
throw new Error(
|
|
466
|
+
throw new Error(localizeWithPath('vs/workbench/contrib/debug/browser/debugSession', 'noDebugAdapter', "No debugger available, can not send '{0}'", 'exceptionInfo'));
|
|
467
467
|
}
|
|
468
468
|
const response = await this.raw.exceptionInfo({ threadId });
|
|
469
469
|
if (response) {
|
|
@@ -478,27 +478,27 @@ let DebugSession = class DebugSession {
|
|
|
478
478
|
}
|
|
479
479
|
scopes(frameId, threadId) {
|
|
480
480
|
if (!this.raw) {
|
|
481
|
-
throw new Error(
|
|
481
|
+
throw new Error(localizeWithPath('vs/workbench/contrib/debug/browser/debugSession', 'noDebugAdapter', "No debugger available, can not send '{0}'", 'scopes'));
|
|
482
482
|
}
|
|
483
483
|
const token = this.getNewCancellationToken(threadId);
|
|
484
484
|
return this.raw.scopes({ frameId }, token);
|
|
485
485
|
}
|
|
486
486
|
variables(variablesReference, threadId, filter, start, count) {
|
|
487
487
|
if (!this.raw) {
|
|
488
|
-
throw new Error(
|
|
488
|
+
throw new Error(localizeWithPath('vs/workbench/contrib/debug/browser/debugSession', 'noDebugAdapter', "No debugger available, can not send '{0}'", 'variables'));
|
|
489
489
|
}
|
|
490
490
|
const token = threadId ? this.getNewCancellationToken(threadId) : undefined;
|
|
491
491
|
return this.raw.variables({ variablesReference, filter, start, count }, token);
|
|
492
492
|
}
|
|
493
493
|
evaluate(expression, frameId, context) {
|
|
494
494
|
if (!this.raw) {
|
|
495
|
-
throw new Error(
|
|
495
|
+
throw new Error(localizeWithPath('vs/workbench/contrib/debug/browser/debugSession', 'noDebugAdapter', "No debugger available, can not send '{0}'", 'evaluate'));
|
|
496
496
|
}
|
|
497
497
|
return this.raw.evaluate({ expression, frameId, context });
|
|
498
498
|
}
|
|
499
499
|
async restartFrame(frameId, threadId) {
|
|
500
500
|
if (!this.raw) {
|
|
501
|
-
throw new Error(
|
|
501
|
+
throw new Error(localizeWithPath('vs/workbench/contrib/debug/browser/debugSession', 'noDebugAdapter', "No debugger available, can not send '{0}'", 'restartFrame'));
|
|
502
502
|
}
|
|
503
503
|
await this.raw.restartFrame({ frameId }, threadId);
|
|
504
504
|
}
|
|
@@ -510,87 +510,85 @@ let DebugSession = class DebugSession {
|
|
|
510
510
|
}
|
|
511
511
|
async next(threadId, granularity) {
|
|
512
512
|
if (!this.raw) {
|
|
513
|
-
throw new Error(
|
|
513
|
+
throw new Error(localizeWithPath('vs/workbench/contrib/debug/browser/debugSession', 'noDebugAdapter', "No debugger available, can not send '{0}'", 'next'));
|
|
514
514
|
}
|
|
515
515
|
this.setLastSteppingGranularity(threadId, granularity);
|
|
516
516
|
await this.raw.next({ threadId, granularity });
|
|
517
517
|
}
|
|
518
518
|
async stepIn(threadId, targetId, granularity) {
|
|
519
519
|
if (!this.raw) {
|
|
520
|
-
throw new Error(
|
|
520
|
+
throw new Error(localizeWithPath('vs/workbench/contrib/debug/browser/debugSession', 'noDebugAdapter', "No debugger available, can not send '{0}'", 'stepIn'));
|
|
521
521
|
}
|
|
522
522
|
this.setLastSteppingGranularity(threadId, granularity);
|
|
523
523
|
await this.raw.stepIn({ threadId, targetId, granularity });
|
|
524
524
|
}
|
|
525
525
|
async stepOut(threadId, granularity) {
|
|
526
526
|
if (!this.raw) {
|
|
527
|
-
throw new Error(
|
|
527
|
+
throw new Error(localizeWithPath('vs/workbench/contrib/debug/browser/debugSession', 'noDebugAdapter', "No debugger available, can not send '{0}'", 'stepOut'));
|
|
528
528
|
}
|
|
529
529
|
this.setLastSteppingGranularity(threadId, granularity);
|
|
530
530
|
await this.raw.stepOut({ threadId, granularity });
|
|
531
531
|
}
|
|
532
532
|
async stepBack(threadId, granularity) {
|
|
533
533
|
if (!this.raw) {
|
|
534
|
-
throw new Error(
|
|
534
|
+
throw new Error(localizeWithPath('vs/workbench/contrib/debug/browser/debugSession', 'noDebugAdapter', "No debugger available, can not send '{0}'", 'stepBack'));
|
|
535
535
|
}
|
|
536
536
|
this.setLastSteppingGranularity(threadId, granularity);
|
|
537
537
|
await this.raw.stepBack({ threadId, granularity });
|
|
538
538
|
}
|
|
539
539
|
async continue(threadId) {
|
|
540
540
|
if (!this.raw) {
|
|
541
|
-
throw new Error(
|
|
541
|
+
throw new Error(localizeWithPath('vs/workbench/contrib/debug/browser/debugSession', 'noDebugAdapter', "No debugger available, can not send '{0}'", 'continue'));
|
|
542
542
|
}
|
|
543
543
|
await this.raw.continue({ threadId });
|
|
544
544
|
}
|
|
545
545
|
async reverseContinue(threadId) {
|
|
546
546
|
if (!this.raw) {
|
|
547
|
-
throw new Error(
|
|
547
|
+
throw new Error(localizeWithPath('vs/workbench/contrib/debug/browser/debugSession', 'noDebugAdapter', "No debugger available, can not send '{0}'", 'reverse continue'));
|
|
548
548
|
}
|
|
549
549
|
await this.raw.reverseContinue({ threadId });
|
|
550
550
|
}
|
|
551
551
|
async pause(threadId) {
|
|
552
552
|
if (!this.raw) {
|
|
553
|
-
throw new Error(
|
|
553
|
+
throw new Error(localizeWithPath('vs/workbench/contrib/debug/browser/debugSession', 'noDebugAdapter', "No debugger available, can not send '{0}'", 'pause'));
|
|
554
554
|
}
|
|
555
555
|
await this.raw.pause({ threadId });
|
|
556
556
|
}
|
|
557
557
|
async terminateThreads(threadIds) {
|
|
558
558
|
if (!this.raw) {
|
|
559
|
-
throw new Error(
|
|
559
|
+
throw new Error(localizeWithPath('vs/workbench/contrib/debug/browser/debugSession', 'noDebugAdapter', "No debugger available, can not send '{0}'", 'terminateThreads'));
|
|
560
560
|
}
|
|
561
561
|
await this.raw.terminateThreads({ threadIds });
|
|
562
562
|
}
|
|
563
563
|
setVariable(variablesReference, name, value) {
|
|
564
564
|
if (!this.raw) {
|
|
565
|
-
throw new Error(
|
|
565
|
+
throw new Error(localizeWithPath('vs/workbench/contrib/debug/browser/debugSession', 'noDebugAdapter', "No debugger available, can not send '{0}'", 'setVariable'));
|
|
566
566
|
}
|
|
567
567
|
return this.raw.setVariable({ variablesReference, name, value });
|
|
568
568
|
}
|
|
569
569
|
setExpression(frameId, expression, value) {
|
|
570
570
|
if (!this.raw) {
|
|
571
|
-
throw new Error(
|
|
571
|
+
throw new Error(localizeWithPath('vs/workbench/contrib/debug/browser/debugSession', 'noDebugAdapter', "No debugger available, can not send '{0}'", 'setExpression'));
|
|
572
572
|
}
|
|
573
573
|
return this.raw.setExpression({ expression, value, frameId });
|
|
574
574
|
}
|
|
575
575
|
gotoTargets(source, line, column) {
|
|
576
576
|
if (!this.raw) {
|
|
577
|
-
throw new Error(
|
|
577
|
+
throw new Error(localizeWithPath('vs/workbench/contrib/debug/browser/debugSession', 'noDebugAdapter', "No debugger available, can not send '{0}'", 'gotoTargets'));
|
|
578
578
|
}
|
|
579
579
|
return this.raw.gotoTargets({ source, line, column });
|
|
580
580
|
}
|
|
581
581
|
goto(threadId, targetId) {
|
|
582
582
|
if (!this.raw) {
|
|
583
|
-
throw new Error(
|
|
583
|
+
throw new Error(localizeWithPath('vs/workbench/contrib/debug/browser/debugSession', 'noDebugAdapter', "No debugger available, can not send '{0}'", 'goto'));
|
|
584
584
|
}
|
|
585
585
|
return this.raw.goto({ threadId, targetId });
|
|
586
586
|
}
|
|
587
587
|
loadSource(resource) {
|
|
588
588
|
if (!this.raw) {
|
|
589
|
-
return Promise.reject(( new Error(
|
|
590
|
-
'noDebugAdapter',
|
|
591
|
-
|
|
592
|
-
'loadSource'
|
|
593
|
-
)))));
|
|
589
|
+
return Promise.reject(( new Error(
|
|
590
|
+
localizeWithPath('vs/workbench/contrib/debug/browser/debugSession', 'noDebugAdapter', "No debugger available, can not send '{0}'", 'loadSource')
|
|
591
|
+
)));
|
|
594
592
|
}
|
|
595
593
|
const source = this.getSourceForUri(resource);
|
|
596
594
|
let rawSource;
|
|
@@ -605,11 +603,9 @@ let DebugSession = class DebugSession {
|
|
|
605
603
|
}
|
|
606
604
|
async getLoadedSources() {
|
|
607
605
|
if (!this.raw) {
|
|
608
|
-
return Promise.reject(( new Error(
|
|
609
|
-
'noDebugAdapter',
|
|
610
|
-
|
|
611
|
-
'getLoadedSources'
|
|
612
|
-
)))));
|
|
606
|
+
return Promise.reject(( new Error(
|
|
607
|
+
localizeWithPath('vs/workbench/contrib/debug/browser/debugSession', 'noDebugAdapter', "No debugger available, can not send '{0}'", 'getLoadedSources')
|
|
608
|
+
)));
|
|
613
609
|
}
|
|
614
610
|
const response = await this.raw.loadedSources({});
|
|
615
611
|
if (response && response.body && response.body.sources) {
|
|
@@ -621,11 +617,9 @@ let DebugSession = class DebugSession {
|
|
|
621
617
|
}
|
|
622
618
|
async completions(frameId, threadId, text, position, overwriteBefore, token) {
|
|
623
619
|
if (!this.raw) {
|
|
624
|
-
return Promise.reject(( new Error(
|
|
625
|
-
'noDebugAdapter',
|
|
626
|
-
|
|
627
|
-
'completions'
|
|
628
|
-
)))));
|
|
620
|
+
return Promise.reject(( new Error(
|
|
621
|
+
localizeWithPath('vs/workbench/contrib/debug/browser/debugSession', 'noDebugAdapter', "No debugger available, can not send '{0}'", 'completions')
|
|
622
|
+
)));
|
|
629
623
|
}
|
|
630
624
|
const sessionCancelationToken = this.getNewCancellationToken(threadId, token);
|
|
631
625
|
return this.raw.completions({
|
|
@@ -637,49 +631,43 @@ let DebugSession = class DebugSession {
|
|
|
637
631
|
}
|
|
638
632
|
async stepInTargets(frameId) {
|
|
639
633
|
if (!this.raw) {
|
|
640
|
-
return Promise.reject(( new Error(
|
|
641
|
-
'noDebugAdapter',
|
|
642
|
-
|
|
643
|
-
'stepInTargets'
|
|
644
|
-
)))));
|
|
634
|
+
return Promise.reject(( new Error(
|
|
635
|
+
localizeWithPath('vs/workbench/contrib/debug/browser/debugSession', 'noDebugAdapter', "No debugger available, can not send '{0}'", 'stepInTargets')
|
|
636
|
+
)));
|
|
645
637
|
}
|
|
646
638
|
const response = await this.raw.stepInTargets({ frameId });
|
|
647
639
|
return response?.body.targets;
|
|
648
640
|
}
|
|
649
641
|
async cancel(progressId) {
|
|
650
642
|
if (!this.raw) {
|
|
651
|
-
return Promise.reject(( new Error(
|
|
643
|
+
return Promise.reject(( new Error(
|
|
644
|
+
localizeWithPath('vs/workbench/contrib/debug/browser/debugSession', 'noDebugAdapter', "No debugger available, can not send '{0}'", 'cancel')
|
|
645
|
+
)));
|
|
652
646
|
}
|
|
653
647
|
return this.raw.cancel({ progressId });
|
|
654
648
|
}
|
|
655
649
|
async disassemble(memoryReference, offset, instructionOffset, instructionCount) {
|
|
656
650
|
if (!this.raw) {
|
|
657
|
-
return Promise.reject(( new Error(
|
|
658
|
-
'noDebugAdapter',
|
|
659
|
-
|
|
660
|
-
'disassemble'
|
|
661
|
-
)))));
|
|
651
|
+
return Promise.reject(( new Error(
|
|
652
|
+
localizeWithPath('vs/workbench/contrib/debug/browser/debugSession', 'noDebugAdapter', "No debugger available, can not send '{0}'", 'disassemble')
|
|
653
|
+
)));
|
|
662
654
|
}
|
|
663
655
|
const response = await this.raw.disassemble({ memoryReference, offset, instructionOffset, instructionCount, resolveSymbols: true });
|
|
664
656
|
return response?.body?.instructions;
|
|
665
657
|
}
|
|
666
658
|
readMemory(memoryReference, offset, count) {
|
|
667
659
|
if (!this.raw) {
|
|
668
|
-
return Promise.reject(( new Error(
|
|
669
|
-
'noDebugAdapter',
|
|
670
|
-
|
|
671
|
-
'readMemory'
|
|
672
|
-
)))));
|
|
660
|
+
return Promise.reject(( new Error(
|
|
661
|
+
localizeWithPath('vs/workbench/contrib/debug/browser/debugSession', 'noDebugAdapter', "No debugger available, can not send '{0}'", 'readMemory')
|
|
662
|
+
)));
|
|
673
663
|
}
|
|
674
664
|
return this.raw.readMemory({ count, memoryReference, offset });
|
|
675
665
|
}
|
|
676
666
|
writeMemory(memoryReference, offset, data, allowPartial) {
|
|
677
667
|
if (!this.raw) {
|
|
678
|
-
return Promise.reject(( new Error(
|
|
679
|
-
'noDebugAdapter',
|
|
680
|
-
|
|
681
|
-
'disassemble'
|
|
682
|
-
)))));
|
|
668
|
+
return Promise.reject(( new Error(
|
|
669
|
+
localizeWithPath('vs/workbench/contrib/debug/browser/debugSession', 'noDebugAdapter', "No debugger available, can not send '{0}'", 'disassemble')
|
|
670
|
+
)));
|
|
683
671
|
}
|
|
684
672
|
return this.raw.writeMemory({ memoryReference, offset, allowPartial, data });
|
|
685
673
|
}
|
|
@@ -783,7 +771,7 @@ let DebugSession = class DebugSession {
|
|
|
783
771
|
return;
|
|
784
772
|
}
|
|
785
773
|
this.rawListeners.add(this.raw.onDidInitialize(async () => {
|
|
786
|
-
aria.status((
|
|
774
|
+
aria.status(localizeWithPath('vs/workbench/contrib/debug/browser/debugSession', 'debuggingStarted', "Debugging started."));
|
|
787
775
|
const sendConfigurationDone = async () => {
|
|
788
776
|
if (this.raw && this.raw.capabilities.supportsConfigurationDoneRequest) {
|
|
789
777
|
try {
|
|
@@ -871,7 +859,7 @@ let DebugSession = class DebugSession {
|
|
|
871
859
|
});
|
|
872
860
|
}));
|
|
873
861
|
this.rawListeners.add(this.raw.onDidTerminateDebugee(async (event) => {
|
|
874
|
-
aria.status((
|
|
862
|
+
aria.status(localizeWithPath('vs/workbench/contrib/debug/browser/debugSession', 'debuggingStopped', "Debugging stopped."));
|
|
875
863
|
if (event.body && event.body.restart) {
|
|
876
864
|
await this.debugService.restartSession(this, event.body.restart);
|
|
877
865
|
}
|
|
@@ -15,7 +15,7 @@ async function showDebugSessionMenu(accessor, selectAndStartID) {
|
|
|
15
15
|
const quickPick = quickInputService.createQuickPick();
|
|
16
16
|
localDisposableStore.add(quickPick);
|
|
17
17
|
quickPick.matchOnLabel = quickPick.matchOnDescription = quickPick.matchOnDetail = quickPick.sortByLabel = false;
|
|
18
|
-
quickPick.placeholder =
|
|
18
|
+
quickPick.placeholder = nls.localizeWithPath('vs/workbench/contrib/debug/browser/debugSessionPicker', 'moveFocusedView.selectView', 'Search debug sessions by name');
|
|
19
19
|
const pickItems = _getPicksAndActiveItem(quickPick.value, selectAndStartID, debugService, viewsService, commandService);
|
|
20
20
|
quickPick.items = pickItems.picks;
|
|
21
21
|
quickPick.activeItems = pickItems.activeItems;
|
|
@@ -59,7 +59,7 @@ function _getPicksAndActiveItem(filter, selectAndStartID, debugService, viewsSer
|
|
|
59
59
|
if (debugConsolePicks.length) {
|
|
60
60
|
debugConsolePicks.push({ type: 'separator' });
|
|
61
61
|
}
|
|
62
|
-
const createDebugSessionLabel =
|
|
62
|
+
const createDebugSessionLabel = nls.localizeWithPath('vs/workbench/contrib/debug/browser/debugSessionPicker', 'workbench.action.debug.startDebug', 'Start a New Debug Session');
|
|
63
63
|
debugConsolePicks.push({
|
|
64
64
|
label: `$(plus) ${createDebugSessionLabel}`,
|
|
65
65
|
ariaLabel: createDebugSessionLabel,
|
|
@@ -73,12 +73,7 @@ function _getSessionInfo(session) {
|
|
|
73
73
|
let description = '';
|
|
74
74
|
let ariaLabel = '';
|
|
75
75
|
if (parentName) {
|
|
76
|
-
ariaLabel = (
|
|
77
|
-
'workbench.action.debug.spawnFrom',
|
|
78
|
-
'Session {0} spawned from {1}',
|
|
79
|
-
label,
|
|
80
|
-
parentName
|
|
81
|
-
));
|
|
76
|
+
ariaLabel = nls.localizeWithPath('vs/workbench/contrib/debug/browser/debugSessionPicker', 'workbench.action.debug.spawnFrom', 'Session {0} spawned from {1}', label, parentName);
|
|
82
77
|
description = parentName;
|
|
83
78
|
}
|
|
84
79
|
return { label, description, ariaLabel };
|
|
@@ -47,10 +47,10 @@ let DebugStatusContribution = class DebugStatusContribution {
|
|
|
47
47
|
text = (manager.getLaunches().length > 1 ? `${name} (${manager.selectedConfiguration.launch.name})` : name);
|
|
48
48
|
}
|
|
49
49
|
return {
|
|
50
|
-
name:
|
|
50
|
+
name: nls.localizeWithPath('vs/workbench/contrib/debug/browser/debugStatus', 'status.debug', "Debug"),
|
|
51
51
|
text: '$(debug-alt-small) ' + text,
|
|
52
|
-
ariaLabel:
|
|
53
|
-
tooltip:
|
|
52
|
+
ariaLabel: nls.localizeWithPath('vs/workbench/contrib/debug/browser/debugStatus', 'debugTarget', "Debug: {0}", text),
|
|
53
|
+
tooltip: nls.localizeWithPath('vs/workbench/contrib/debug/browser/debugStatus', 'selectAndStartDebug', "Select and start debug configuration"),
|
|
54
54
|
command: 'workbench.action.debug.selectandstart'
|
|
55
55
|
};
|
|
56
56
|
}
|
|
@@ -63,29 +63,12 @@ let DebugTaskRunner = class DebugTaskRunner {
|
|
|
63
63
|
}
|
|
64
64
|
const taskLabel = typeof taskId === 'string' ? taskId : taskId ? taskId.name : '';
|
|
65
65
|
const message = errorCount > 1
|
|
66
|
-
? (
|
|
67
|
-
'preLaunchTaskErrors',
|
|
68
|
-
"Errors exist after running preLaunchTask '{0}'.",
|
|
69
|
-
taskLabel
|
|
70
|
-
))
|
|
66
|
+
? nls.localizeWithPath('vs/workbench/contrib/debug/browser/debugTaskRunner', 'preLaunchTaskErrors', "Errors exist after running preLaunchTask '{0}'.", taskLabel)
|
|
71
67
|
: errorCount === 1
|
|
72
|
-
? (
|
|
73
|
-
'preLaunchTaskError',
|
|
74
|
-
"Error exists after running preLaunchTask '{0}'.",
|
|
75
|
-
taskLabel
|
|
76
|
-
))
|
|
68
|
+
? nls.localizeWithPath('vs/workbench/contrib/debug/browser/debugTaskRunner', 'preLaunchTaskError', "Error exists after running preLaunchTask '{0}'.", taskLabel)
|
|
77
69
|
: taskSummary && typeof taskSummary.exitCode === 'number'
|
|
78
|
-
? (
|
|
79
|
-
|
|
80
|
-
"The preLaunchTask '{0}' terminated with exit code {1}.",
|
|
81
|
-
taskLabel,
|
|
82
|
-
taskSummary.exitCode
|
|
83
|
-
))
|
|
84
|
-
: ( nls.localize(
|
|
85
|
-
'preLaunchTaskTerminated',
|
|
86
|
-
"The preLaunchTask '{0}' terminated.",
|
|
87
|
-
taskLabel
|
|
88
|
-
));
|
|
70
|
+
? nls.localizeWithPath('vs/workbench/contrib/debug/browser/debugTaskRunner', 'preLaunchTaskExitCode', "The preLaunchTask '{0}' terminated with exit code {1}.", taskLabel, taskSummary.exitCode)
|
|
71
|
+
: nls.localizeWithPath('vs/workbench/contrib/debug/browser/debugTaskRunner', 'preLaunchTaskTerminated', "The preLaunchTask '{0}' terminated.", taskLabel);
|
|
89
72
|
let DebugChoice;
|
|
90
73
|
( (function(DebugChoice) {
|
|
91
74
|
DebugChoice[DebugChoice["DebugAnyway"] = 1] = "DebugAnyway";
|
|
@@ -97,23 +80,20 @@ let DebugTaskRunner = class DebugTaskRunner {
|
|
|
97
80
|
message,
|
|
98
81
|
buttons: [
|
|
99
82
|
{
|
|
100
|
-
label:
|
|
101
|
-
{ key: 'debugAnyway', comment: ['&& denotes a mnemonic'] },
|
|
102
|
-
"&&Debug Anyway"
|
|
103
|
-
)),
|
|
83
|
+
label: nls.localizeWithPath('vs/workbench/contrib/debug/browser/debugTaskRunner', { key: 'debugAnyway', comment: ['&& denotes a mnemonic'] }, "&&Debug Anyway"),
|
|
104
84
|
run: () => DebugChoice.DebugAnyway
|
|
105
85
|
},
|
|
106
86
|
{
|
|
107
|
-
label:
|
|
87
|
+
label: nls.localizeWithPath('vs/workbench/contrib/debug/browser/debugTaskRunner', { key: 'showErrors', comment: ['&& denotes a mnemonic'] }, "&&Show Errors"),
|
|
108
88
|
run: () => DebugChoice.ShowErrors
|
|
109
89
|
}
|
|
110
90
|
],
|
|
111
91
|
cancelButton: {
|
|
112
|
-
label:
|
|
92
|
+
label: nls.localizeWithPath('vs/workbench/contrib/debug/browser/debugTaskRunner', 'abort', "Abort"),
|
|
113
93
|
run: () => DebugChoice.Cancel
|
|
114
94
|
},
|
|
115
95
|
checkbox: {
|
|
116
|
-
label:
|
|
96
|
+
label: nls.localizeWithPath('vs/workbench/contrib/debug/browser/debugTaskRunner', 'remember', "Remember my choice in user settings"),
|
|
117
97
|
}
|
|
118
98
|
});
|
|
119
99
|
const debugAnyway = result === DebugChoice.DebugAnyway;
|
|
@@ -149,10 +129,7 @@ let DebugTaskRunner = class DebugTaskRunner {
|
|
|
149
129
|
message: err.message,
|
|
150
130
|
buttons: [
|
|
151
131
|
{
|
|
152
|
-
label:
|
|
153
|
-
{ key: 'debugAnyway', comment: ['&& denotes a mnemonic'] },
|
|
154
|
-
"&&Debug Anyway"
|
|
155
|
-
)),
|
|
132
|
+
label: nls.localizeWithPath('vs/workbench/contrib/debug/browser/debugTaskRunner', { key: 'debugAnyway', comment: ['&& denotes a mnemonic'] }, "&&Debug Anyway"),
|
|
156
133
|
run: () => DebugChoice.DebugAnyway
|
|
157
134
|
},
|
|
158
135
|
{
|
|
@@ -164,7 +141,7 @@ let DebugTaskRunner = class DebugTaskRunner {
|
|
|
164
141
|
run: () => DebugChoice.Cancel
|
|
165
142
|
},
|
|
166
143
|
checkbox: {
|
|
167
|
-
label:
|
|
144
|
+
label: nls.localizeWithPath('vs/workbench/contrib/debug/browser/debugTaskRunner', 'rememberTask', "Remember my choice for this task")
|
|
168
145
|
}
|
|
169
146
|
});
|
|
170
147
|
choice = result;
|
|
@@ -184,17 +161,15 @@ let DebugTaskRunner = class DebugTaskRunner {
|
|
|
184
161
|
return Promise.resolve(null);
|
|
185
162
|
}
|
|
186
163
|
if (!root) {
|
|
187
|
-
return Promise.reject(( new Error(
|
|
188
|
-
'invalidTaskReference',
|
|
189
|
-
|
|
190
|
-
typeof taskId === 'string' ? taskId : taskId.type
|
|
191
|
-
)))));
|
|
164
|
+
return Promise.reject(( new Error(
|
|
165
|
+
nls.localizeWithPath('vs/workbench/contrib/debug/browser/debugTaskRunner', 'invalidTaskReference', "Task '{0}' can not be referenced from a launch configuration that is in a different workspace folder.", typeof taskId === 'string' ? taskId : taskId.type)
|
|
166
|
+
)));
|
|
192
167
|
}
|
|
193
168
|
const task = await this.taskService.getTask(root, taskId);
|
|
194
169
|
if (!task) {
|
|
195
170
|
const errorMessage = typeof taskId === 'string'
|
|
196
|
-
?
|
|
197
|
-
:
|
|
171
|
+
? nls.localizeWithPath('vs/workbench/contrib/debug/browser/debugTaskRunner', 'DebugTaskNotFoundWithTaskId', "Could not find the task '{0}'.", taskId)
|
|
172
|
+
: nls.localizeWithPath('vs/workbench/contrib/debug/browser/debugTaskRunner', 'DebugTaskNotFound', "Could not find the specified task.");
|
|
198
173
|
return Promise.reject(createErrorWithActions(errorMessage, [( new Action(
|
|
199
174
|
DEBUG_CONFIGURE_COMMAND_ID,
|
|
200
175
|
DEBUG_CONFIGURE_LABEL,
|
|
@@ -246,16 +221,8 @@ let DebugTaskRunner = class DebugTaskRunner {
|
|
|
246
221
|
setTimeout(() => {
|
|
247
222
|
if (!taskStarted) {
|
|
248
223
|
const errorMessage = typeof taskId === 'string'
|
|
249
|
-
? (
|
|
250
|
-
'
|
|
251
|
-
"The task '{0}' cannot be tracked. Make sure to have a problem matcher defined.",
|
|
252
|
-
taskId
|
|
253
|
-
))
|
|
254
|
-
: ( nls.localize(
|
|
255
|
-
'taskNotTracked',
|
|
256
|
-
"The task '{0}' cannot be tracked. Make sure to have a problem matcher defined.",
|
|
257
|
-
JSON.stringify(taskId)
|
|
258
|
-
));
|
|
224
|
+
? nls.localizeWithPath('vs/workbench/contrib/debug/browser/debugTaskRunner', 'taskNotTrackedWithTaskId', "The task '{0}' cannot be tracked. Make sure to have a problem matcher defined.", taskId)
|
|
225
|
+
: nls.localizeWithPath('vs/workbench/contrib/debug/browser/debugTaskRunner', 'taskNotTracked', "The task '{0}' cannot be tracked. Make sure to have a problem matcher defined.", JSON.stringify(taskId));
|
|
259
226
|
e({ severity: Severity.Error, message: errorMessage });
|
|
260
227
|
}
|
|
261
228
|
}, waitTime);
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
|
|
2
|
+
import { IDebugService } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug';
|
|
3
|
+
import { dispose } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
|
|
4
|
+
import { IHostService } from 'vscode/vscode/vs/workbench/services/host/browser/host';
|
|
5
|
+
import { ITitleService } from 'vscode/vscode/vs/workbench/services/title/common/titleService';
|
|
6
|
+
|
|
7
|
+
let DebugTitleContribution = class DebugTitleContribution {
|
|
8
|
+
constructor(debugService, hostService, titleService) {
|
|
9
|
+
this.toDispose = [];
|
|
10
|
+
const updateTitle = () => {
|
|
11
|
+
if (debugService.state === 2 && !hostService.hasFocus) {
|
|
12
|
+
titleService.updateProperties({ prefix: '🔴' });
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
titleService.updateProperties({ prefix: '' });
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
this.toDispose.push(debugService.onDidChangeState(updateTitle));
|
|
19
|
+
this.toDispose.push(hostService.onDidChangeFocus(updateTitle));
|
|
20
|
+
}
|
|
21
|
+
dispose() {
|
|
22
|
+
dispose(this.toDispose);
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
DebugTitleContribution = ( __decorate([
|
|
26
|
+
( __param(0, IDebugService)),
|
|
27
|
+
( __param(1, IHostService)),
|
|
28
|
+
( __param(2, ITitleService))
|
|
29
|
+
], DebugTitleContribution));
|
|
30
|
+
|
|
31
|
+
export { DebugTitleContribution };
|
|
@@ -9,7 +9,7 @@ import { RunOnceScheduler } from 'monaco-editor/esm/vs/base/common/async.js';
|
|
|
9
9
|
import * as errors from 'monaco-editor/esm/vs/base/common/errors.js';
|
|
10
10
|
import { dispose, DisposableStore } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
|
|
11
11
|
import './media/debugToolBar.css.js';
|
|
12
|
-
import {
|
|
12
|
+
import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
|
|
13
13
|
import { DropdownWithPrimaryActionViewItem } from 'vscode/vscode/vs/platform/actions/browser/dropdownWithPrimaryActionViewItem';
|
|
14
14
|
import { createActionViewItem, createAndFillInActionBarActions } from 'monaco-editor/esm/vs/platform/actions/browser/menuEntryActionViewItem.js';
|
|
15
15
|
import { MenuRegistry, MenuId, IMenuService } from 'monaco-editor/esm/vs/platform/actions/common/actions.js';
|
|
@@ -227,7 +227,12 @@ function createDisconnectMenuItemAction(action, disposables, accessor) {
|
|
|
227
227
|
if (!secondary.length) {
|
|
228
228
|
return undefined;
|
|
229
229
|
}
|
|
230
|
-
const dropdownAction = disposables.add(( new Action(
|
|
230
|
+
const dropdownAction = disposables.add(( new Action(
|
|
231
|
+
'notebook.moreRunActions',
|
|
232
|
+
localizeWithPath('vs/workbench/contrib/debug/browser/debugToolBar', 'notebook.moreRunActionsLabel', "More..."),
|
|
233
|
+
'codicon-chevron-down',
|
|
234
|
+
true
|
|
235
|
+
)));
|
|
231
236
|
const item = instantiationService.createInstance(DropdownWithPrimaryActionViewItem, action, dropdownAction, secondary, 'debug-stop-actions', contextMenuService, {});
|
|
232
237
|
return item;
|
|
233
238
|
}
|
|
@@ -285,8 +290,8 @@ registerDebugToolBarItem(STEP_OVER_ID, STEP_OVER_LABEL, 20, debugStepOver, undef
|
|
|
285
290
|
registerDebugToolBarItem(STEP_INTO_ID, STEP_INTO_LABEL, 30, debugStepInto, undefined, ( CONTEXT_DEBUG_STATE.isEqualTo('stopped')));
|
|
286
291
|
registerDebugToolBarItem(STEP_OUT_ID, STEP_OUT_LABEL, 40, debugStepOut, undefined, ( CONTEXT_DEBUG_STATE.isEqualTo('stopped')));
|
|
287
292
|
registerDebugToolBarItem(RESTART_SESSION_ID, RESTART_LABEL, 60, debugRestart);
|
|
288
|
-
registerDebugToolBarItem(STEP_BACK_ID, (
|
|
289
|
-
registerDebugToolBarItem(REVERSE_CONTINUE_ID, (
|
|
293
|
+
registerDebugToolBarItem(STEP_BACK_ID, localizeWithPath('vs/workbench/contrib/debug/browser/debugToolBar', 'stepBackDebug', "Step Back"), 50, debugStepBack, CONTEXT_STEP_BACK_SUPPORTED, ( CONTEXT_DEBUG_STATE.isEqualTo('stopped')));
|
|
294
|
+
registerDebugToolBarItem(REVERSE_CONTINUE_ID, localizeWithPath('vs/workbench/contrib/debug/browser/debugToolBar', 'reverseContinue', "Reverse"), 55, debugReverseContinue, CONTEXT_STEP_BACK_SUPPORTED, ( CONTEXT_DEBUG_STATE.isEqualTo('stopped')));
|
|
290
295
|
registerDebugToolBarItem(FOCUS_SESSION_ID, FOCUS_SESSION_LABEL, 100, Codicon.listTree, ( ContextKeyExpr.and(CONTEXT_MULTI_SESSION_DEBUG, ( CONTEXT_TOOLBAR_COMMAND_CENTER.negate()))));
|
|
291
296
|
MenuRegistry.appendMenuItem(MenuId.DebugToolBarStop, {
|
|
292
297
|
group: 'navigation',
|