@codingame/monaco-vscode-debug-service-override 4.5.0 → 4.5.2
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/index.d.ts +1 -1
- package/package.json +2 -2
- package/vscode/src/vs/platform/debug/common/extensionHostDebugIpc.js +2 -2
- package/vscode/src/vs/workbench/contrib/debug/browser/callStackView.js +105 -150
- package/vscode/src/vs/workbench/contrib/debug/browser/debug.contribution.js +258 -529
- package/vscode/src/vs/workbench/contrib/debug/browser/debugActionViewItems.js +28 -48
- package/vscode/src/vs/workbench/contrib/debug/browser/debugAdapterManager.js +44 -71
- package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +84 -163
- package/vscode/src/vs/workbench/contrib/debug/browser/debugConfigurationManager.js +116 -120
- package/vscode/src/vs/workbench/contrib/debug/browser/debugConsoleQuickAccess.js +7 -10
- package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorActions.js +78 -140
- package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorContribution.js +72 -75
- package/vscode/src/vs/workbench/contrib/debug/browser/debugHover.js +25 -28
- package/vscode/src/vs/workbench/contrib/debug/browser/debugMemory.js +1 -1
- package/vscode/src/vs/workbench/contrib/debug/browser/debugQuickAccess.js +16 -48
- package/vscode/src/vs/workbench/contrib/debug/browser/debugService.js +140 -132
- package/vscode/src/vs/workbench/contrib/debug/browser/debugSession.js +218 -175
- package/vscode/src/vs/workbench/contrib/debug/browser/debugSessionPicker.js +5 -18
- package/vscode/src/vs/workbench/contrib/debug/browser/debugStatus.js +9 -17
- package/vscode/src/vs/workbench/contrib/debug/browser/debugTaskRunner.js +69 -110
- package/vscode/src/vs/workbench/contrib/debug/browser/debugToolBar.js +68 -53
- package/vscode/src/vs/workbench/contrib/debug/browser/debugViewlet.js +77 -56
- package/vscode/src/vs/workbench/contrib/debug/browser/disassemblyView.js +50 -75
- package/vscode/src/vs/workbench/contrib/debug/browser/exceptionWidget.js +13 -29
- package/vscode/src/vs/workbench/contrib/debug/browser/linkDetector.js +22 -51
- package/vscode/src/vs/workbench/contrib/debug/browser/loadedScriptsView.js +47 -73
- package/vscode/src/vs/workbench/contrib/debug/browser/rawDebugSession.js +60 -76
- package/vscode/src/vs/workbench/contrib/debug/browser/repl.js +14 -43
- package/vscode/src/vs/workbench/contrib/debug/browser/replViewer.js +23 -42
- package/vscode/src/vs/workbench/contrib/debug/browser/statusbarColorProvider.js +17 -16
- package/vscode/src/vs/workbench/contrib/debug/browser/variablesView.js +56 -94
- package/vscode/src/vs/workbench/contrib/debug/browser/watchExpressionsView.js +40 -79
- package/vscode/src/vs/workbench/contrib/debug/browser/welcomeView.js +55 -57
- package/vscode/src/vs/workbench/contrib/debug/common/debugContentProvider.js +14 -28
- package/vscode/src/vs/workbench/contrib/debug/common/debugLifecycle.js +12 -15
- package/vscode/src/vs/workbench/contrib/debug/common/debugSchemas.js +71 -146
- package/vscode/src/vs/workbench/contrib/debug/common/debugger.js +92 -111
- package/vscode/src/vs/workbench/contrib/debug/common/loadedScriptsPicker.js +5 -8
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/notebookVariables/notebookVariableCommands.js +5 -12
- package/vscode/src/vs/workbench/services/configurationResolver/browser/baseConfigurationResolverService.js +42 -22
- package/debug.d.ts +0 -5
|
@@ -52,6 +52,7 @@ import { ILifecycleService } from 'vscode/vscode/vs/workbench/services/lifecycle
|
|
|
52
52
|
import { IPaneCompositePartService } from 'vscode/vscode/vs/workbench/services/panecomposite/browser/panecomposite.service';
|
|
53
53
|
import { IViewsService } from 'vscode/vscode/vs/workbench/services/views/common/viewsService.service';
|
|
54
54
|
|
|
55
|
+
const _moduleId = "vs/workbench/contrib/debug/browser/debugService";
|
|
55
56
|
let DebugService = class DebugService {
|
|
56
57
|
constructor(editorService, paneCompositeService, viewsService, viewDescriptorService, notificationService, dialogService, layoutService, contextService, contextKeyService, lifecycleService, instantiationService, extensionService, fileService, configurationService, extensionHostDebugService, activityService, commandService, quickInputService, workspaceTrustRequestService, uriIdentityService) {
|
|
57
58
|
this.editorService = editorService;
|
|
@@ -74,16 +75,16 @@ let DebugService = class DebugService {
|
|
|
74
75
|
this.quickInputService = quickInputService;
|
|
75
76
|
this.workspaceTrustRequestService = workspaceTrustRequestService;
|
|
76
77
|
this.uriIdentityService = uriIdentityService;
|
|
77
|
-
this.restartingSessions = ( new Set());
|
|
78
|
-
this.disposables = ( new DisposableStore());
|
|
78
|
+
this.restartingSessions = ( (new Set()));
|
|
79
|
+
this.disposables = ( (new DisposableStore()));
|
|
79
80
|
this.initializing = false;
|
|
80
|
-
this.sessionCancellationTokens = ( new Map());
|
|
81
|
+
this.sessionCancellationTokens = ( (new Map()));
|
|
81
82
|
this.haveDoneLazySetup = false;
|
|
82
|
-
this.breakpointsToSendOnResourceSaved = ( new Set());
|
|
83
|
-
this._onDidChangeState = ( new Emitter());
|
|
84
|
-
this._onDidNewSession = ( new Emitter());
|
|
85
|
-
this._onWillNewSession = ( new Emitter());
|
|
86
|
-
this._onDidEndSession = ( new Emitter());
|
|
83
|
+
this.breakpointsToSendOnResourceSaved = ( (new Set()));
|
|
84
|
+
this._onDidChangeState = ( (new Emitter()));
|
|
85
|
+
this._onDidNewSession = ( (new Emitter()));
|
|
86
|
+
this._onWillNewSession = ( (new Emitter()));
|
|
87
|
+
this._onDidEndSession = ( (new Emitter()));
|
|
87
88
|
this.adapterManager = this.instantiationService.createInstance(AdapterManager, { onDidNewSession: this.onDidNewSession });
|
|
88
89
|
this.disposables.add(this.adapterManager);
|
|
89
90
|
this.configurationManager = this.instantiationService.createInstance(ConfigurationManager, this.adapterManager);
|
|
@@ -92,7 +93,7 @@ let DebugService = class DebugService {
|
|
|
92
93
|
this.chosenEnvironments = this.debugStorage.loadChosenEnvironments();
|
|
93
94
|
this.model = this.instantiationService.createInstance(DebugModel, this.debugStorage);
|
|
94
95
|
this.telemetry = this.instantiationService.createInstance(DebugTelemetry, this.model);
|
|
95
|
-
this.viewModel = ( new ViewModel(contextKeyService));
|
|
96
|
+
this.viewModel = ( (new ViewModel(contextKeyService)));
|
|
96
97
|
this.taskRunner = this.instantiationService.createInstance(DebugTaskRunner);
|
|
97
98
|
this.disposables.add(this.fileService.onDidFilesChange(e => this.onFileChanges(e)));
|
|
98
99
|
this.disposables.add(this.lifecycleService.onWillShutdown(this.dispose, this));
|
|
@@ -131,16 +132,7 @@ let DebugService = class DebugService {
|
|
|
131
132
|
if (numberOfSessions > 0) {
|
|
132
133
|
const viewContainer = this.viewDescriptorService.getViewContainerByViewId(CALLSTACK_VIEW_ID);
|
|
133
134
|
if (viewContainer) {
|
|
134
|
-
this.activity = this.activityService.showViewContainerActivity(viewContainer.id, { badge: ( new NumberBadge(numberOfSessions, n => n === 1 ? ( localizeWithPath(
|
|
135
|
-
'vs/workbench/contrib/debug/browser/debugService',
|
|
136
|
-
'1activeSession',
|
|
137
|
-
"1 active session"
|
|
138
|
-
)) : ( localizeWithPath(
|
|
139
|
-
'vs/workbench/contrib/debug/browser/debugService',
|
|
140
|
-
'nActiveSessions',
|
|
141
|
-
"{0} active sessions",
|
|
142
|
-
n
|
|
143
|
-
)))) });
|
|
135
|
+
this.activity = this.activityService.showViewContainerActivity(viewContainer.id, { badge: ( (new NumberBadge(numberOfSessions, n => n === 1 ? ( localizeWithPath(_moduleId, 0, "1 active session")) : ( localizeWithPath(_moduleId, 1, "{0} active sessions", n))))) });
|
|
144
136
|
}
|
|
145
137
|
}
|
|
146
138
|
}));
|
|
@@ -263,18 +255,18 @@ let DebugService = class DebugService {
|
|
|
263
255
|
}
|
|
264
256
|
lazySetup() {
|
|
265
257
|
if (!this.haveDoneLazySetup) {
|
|
266
|
-
this.disposables.add(this.fileService.registerProvider(DEBUG_MEMORY_SCHEME, ( new DebugMemoryFileSystemProvider(this))));
|
|
258
|
+
this.disposables.add(this.fileService.registerProvider(DEBUG_MEMORY_SCHEME, ( (new DebugMemoryFileSystemProvider(this)))));
|
|
267
259
|
this.haveDoneLazySetup = true;
|
|
268
260
|
}
|
|
269
261
|
}
|
|
270
262
|
async startDebugging(launch, configOrName, options, saveBeforeStart = !options?.parentSession) {
|
|
271
263
|
const message = options && options.noDebug ? ( localizeWithPath(
|
|
272
|
-
|
|
273
|
-
|
|
264
|
+
_moduleId,
|
|
265
|
+
2,
|
|
274
266
|
"Running executes build tasks and program code from your workspace."
|
|
275
267
|
)) : ( localizeWithPath(
|
|
276
|
-
|
|
277
|
-
|
|
268
|
+
_moduleId,
|
|
269
|
+
3,
|
|
278
270
|
"Debugging executes build tasks and program code from your workspace."
|
|
279
271
|
));
|
|
280
272
|
const trust = await this.workspaceTrustRequestService.requestWorkspaceTrust({ message });
|
|
@@ -304,7 +296,11 @@ let DebugService = class DebugService {
|
|
|
304
296
|
}
|
|
305
297
|
if (compound) {
|
|
306
298
|
if (!compound.configurations) {
|
|
307
|
-
throw new Error(localizeWithPath(
|
|
299
|
+
throw ( (new Error(localizeWithPath(
|
|
300
|
+
_moduleId,
|
|
301
|
+
4,
|
|
302
|
+
"Compound must have \"configurations\" attribute set in order to start multiple configurations."
|
|
303
|
+
))));
|
|
308
304
|
}
|
|
309
305
|
if (compound.preLaunchTask) {
|
|
310
306
|
const taskResult = await this.taskRunner.runTaskAndCheckErrors(launch?.workspace || this.contextService.getWorkspace(), compound.preLaunchTask);
|
|
@@ -314,9 +310,9 @@ let DebugService = class DebugService {
|
|
|
314
310
|
}
|
|
315
311
|
}
|
|
316
312
|
if (compound.stopAll) {
|
|
317
|
-
options = { ...options, compoundRoot: ( new DebugCompoundRoot()) };
|
|
313
|
+
options = { ...options, compoundRoot: ( (new DebugCompoundRoot())) };
|
|
318
314
|
}
|
|
319
|
-
const values = await Promise.all(( compound.configurations.map(configData => {
|
|
315
|
+
const values = await Promise.all(( (compound.configurations.map(configData => {
|
|
320
316
|
const name = typeof configData === 'string' ? configData : configData.name;
|
|
321
317
|
if (name === compound.name) {
|
|
322
318
|
return Promise.resolve(false);
|
|
@@ -331,8 +327,18 @@ let DebugService = class DebugService {
|
|
|
331
327
|
launchForName = launch;
|
|
332
328
|
}
|
|
333
329
|
else {
|
|
334
|
-
throw new Error(launchesContainingName.length === 0 ? localizeWithPath(
|
|
335
|
-
|
|
330
|
+
throw ( (new Error(launchesContainingName.length === 0 ? localizeWithPath(
|
|
331
|
+
_moduleId,
|
|
332
|
+
5,
|
|
333
|
+
"Could not find launch configuration '{0}' in the workspace.",
|
|
334
|
+
name
|
|
335
|
+
)
|
|
336
|
+
: localizeWithPath(
|
|
337
|
+
_moduleId,
|
|
338
|
+
6,
|
|
339
|
+
"There are multiple launch configurations '{0}' in the workspace. Use folder name to qualify the configuration.",
|
|
340
|
+
name
|
|
341
|
+
))));
|
|
336
342
|
}
|
|
337
343
|
}
|
|
338
344
|
else if (configData.folder) {
|
|
@@ -341,28 +347,31 @@ let DebugService = class DebugService {
|
|
|
341
347
|
launchForName = launchesMatchingConfigData[0];
|
|
342
348
|
}
|
|
343
349
|
else {
|
|
344
|
-
throw new Error(localizeWithPath(
|
|
350
|
+
throw ( (new Error(localizeWithPath(
|
|
351
|
+
_moduleId,
|
|
352
|
+
7,
|
|
353
|
+
"Can not find folder with name '{0}' for configuration '{1}' in compound '{2}'.",
|
|
354
|
+
configData.folder,
|
|
355
|
+
configData.name,
|
|
356
|
+
compound.name
|
|
357
|
+
))));
|
|
345
358
|
}
|
|
346
359
|
}
|
|
347
360
|
return this.createSession(launchForName, launchForName.getConfiguration(name), options);
|
|
348
|
-
})));
|
|
361
|
+
}))));
|
|
349
362
|
const result = values.every(success => !!success);
|
|
350
363
|
this.endInitializingState();
|
|
351
364
|
return result;
|
|
352
365
|
}
|
|
353
366
|
if (configOrName && !config) {
|
|
354
367
|
const message = !!launch ? ( localizeWithPath(
|
|
355
|
-
|
|
356
|
-
|
|
368
|
+
_moduleId,
|
|
369
|
+
8,
|
|
357
370
|
"Configuration '{0}' is missing in 'launch.json'.",
|
|
358
371
|
typeof configOrName === 'string' ? configOrName : configOrName.name
|
|
359
372
|
)) :
|
|
360
|
-
( localizeWithPath(
|
|
361
|
-
|
|
362
|
-
'launchJsonDoesNotExist',
|
|
363
|
-
"'launch.json' does not exist for passed workspace folder."
|
|
364
|
-
));
|
|
365
|
-
throw new Error(message);
|
|
373
|
+
( localizeWithPath(_moduleId, 9, "'launch.json' does not exist for passed workspace folder."));
|
|
374
|
+
throw ( (new Error(message)));
|
|
366
375
|
}
|
|
367
376
|
const result = await this.createSession(launch, config, options);
|
|
368
377
|
this.endInitializingState();
|
|
@@ -394,7 +403,7 @@ let DebugService = class DebugService {
|
|
|
394
403
|
if (!type) {
|
|
395
404
|
activeEditor = this.editorService.activeEditor;
|
|
396
405
|
if (activeEditor && activeEditor.resource) {
|
|
397
|
-
type = this.chosenEnvironments[( activeEditor.resource.toString())];
|
|
406
|
+
type = this.chosenEnvironments[( (activeEditor.resource.toString()))];
|
|
398
407
|
}
|
|
399
408
|
if (!type) {
|
|
400
409
|
guess = await this.adapterManager.guessDebugger(false);
|
|
@@ -403,7 +412,7 @@ let DebugService = class DebugService {
|
|
|
403
412
|
}
|
|
404
413
|
}
|
|
405
414
|
}
|
|
406
|
-
const initCancellationToken = ( new CancellationTokenSource());
|
|
415
|
+
const initCancellationToken = ( (new CancellationTokenSource()));
|
|
407
416
|
const sessionId = generateUuid();
|
|
408
417
|
this.sessionCancellationTokens.set(sessionId, initCancellationToken);
|
|
409
418
|
const configByProviders = await this.configurationManager.resolveConfigurationByProviders(launch && launch.workspace ? launch.workspace.uri : undefined, type, config, initCancellationToken.token);
|
|
@@ -434,39 +443,34 @@ let DebugService = class DebugService {
|
|
|
434
443
|
let message;
|
|
435
444
|
if (configByProviders.request !== 'attach' && configByProviders.request !== 'launch') {
|
|
436
445
|
message = configByProviders.request ? ( localizeWithPath(
|
|
437
|
-
|
|
438
|
-
|
|
446
|
+
_moduleId,
|
|
447
|
+
10,
|
|
439
448
|
"Attribute '{0}' has an unsupported value '{1}' in the chosen debug configuration.",
|
|
440
449
|
'request',
|
|
441
450
|
configByProviders.request
|
|
442
451
|
))
|
|
443
452
|
: ( localizeWithPath(
|
|
444
|
-
|
|
445
|
-
|
|
453
|
+
_moduleId,
|
|
454
|
+
11,
|
|
446
455
|
"Attribute '{0}' is missing from the chosen debug configuration.",
|
|
447
456
|
'request'
|
|
448
457
|
));
|
|
449
458
|
}
|
|
450
459
|
else {
|
|
451
460
|
message = resolvedConfig.type ? ( localizeWithPath(
|
|
452
|
-
|
|
453
|
-
|
|
461
|
+
_moduleId,
|
|
462
|
+
12,
|
|
454
463
|
"Configured debug type '{0}' is not supported.",
|
|
455
464
|
resolvedConfig.type
|
|
456
465
|
)) :
|
|
457
466
|
( localizeWithPath(
|
|
458
|
-
|
|
459
|
-
|
|
467
|
+
_moduleId,
|
|
468
|
+
13,
|
|
460
469
|
"Missing property 'type' for the chosen launch configuration."
|
|
461
470
|
));
|
|
462
471
|
}
|
|
463
472
|
const actionList = [];
|
|
464
|
-
actionList.push(( new Action('installAdditionalDebuggers', ( localizeWithPath(
|
|
465
|
-
'vs/workbench/contrib/debug/browser/debugService',
|
|
466
|
-
{ key: 'installAdditionalDebuggers', comment: ['Placeholder is the debug type, so for example "node", "python"'] },
|
|
467
|
-
"Install {0} Extension",
|
|
468
|
-
resolvedConfig.type
|
|
469
|
-
)), undefined, true, async () => this.commandService.executeCommand('debug.installAdditionalDebuggers', resolvedConfig?.type))));
|
|
473
|
+
actionList.push(( (new Action('installAdditionalDebuggers', ( localizeWithPath(_moduleId, 14, "Install {0} Extension", resolvedConfig.type)), undefined, true, async () => this.commandService.executeCommand('debug.installAdditionalDebuggers', resolvedConfig?.type)))));
|
|
470
474
|
await this.showError(message, actionList);
|
|
471
475
|
return false;
|
|
472
476
|
}
|
|
@@ -476,7 +480,7 @@ let DebugService = class DebugService {
|
|
|
476
480
|
}
|
|
477
481
|
const result = await this.doCreateSession(sessionId, launch?.workspace, { resolved: resolvedConfig, unresolved: unresolvedConfig }, options);
|
|
478
482
|
if (result && guess && activeEditor && activeEditor.resource) {
|
|
479
|
-
this.chosenEnvironments[( activeEditor.resource.toString())] = guess.type;
|
|
483
|
+
this.chosenEnvironments[( (activeEditor.resource.toString()))] = guess.type;
|
|
480
484
|
this.debugStorage.storeChosenEnvironments(this.chosenEnvironments);
|
|
481
485
|
}
|
|
482
486
|
return result;
|
|
@@ -487,8 +491,8 @@ let DebugService = class DebugService {
|
|
|
487
491
|
}
|
|
488
492
|
else if (this.contextService.getWorkbenchState() === 1 ) {
|
|
489
493
|
await this.showError(( localizeWithPath(
|
|
490
|
-
|
|
491
|
-
|
|
494
|
+
_moduleId,
|
|
495
|
+
15,
|
|
492
496
|
"The active file can not be debugged. Make sure it is saved and that you have a debug extension installed for that file type."
|
|
493
497
|
)));
|
|
494
498
|
}
|
|
@@ -505,10 +509,10 @@ let DebugService = class DebugService {
|
|
|
505
509
|
}
|
|
506
510
|
async doCreateSession(sessionId, root, configuration, options) {
|
|
507
511
|
const session = this.instantiationService.createInstance(DebugSession, sessionId, configuration, root, this.model, options);
|
|
508
|
-
if (options?.startedByUser && ( this.model.getSessions().some(s => s.getLabel() === session.getLabel())) && configuration.resolved.suppressMultipleSessionWarning !== true) {
|
|
512
|
+
if (options?.startedByUser && ( (this.model.getSessions().some(s => s.getLabel() === session.getLabel()))) && configuration.resolved.suppressMultipleSessionWarning !== true) {
|
|
509
513
|
const result = await this.dialogService.confirm({ message: ( localizeWithPath(
|
|
510
|
-
|
|
511
|
-
|
|
514
|
+
_moduleId,
|
|
515
|
+
16,
|
|
512
516
|
"'{0}' is already running. Do you want to start another instance?",
|
|
513
517
|
session.getLabel()
|
|
514
518
|
)) });
|
|
@@ -575,13 +579,13 @@ let DebugService = class DebugService {
|
|
|
575
579
|
}
|
|
576
580
|
}
|
|
577
581
|
registerSessionListeners(session) {
|
|
578
|
-
const listenerDisposables = ( new DisposableStore());
|
|
582
|
+
const listenerDisposables = ( (new DisposableStore()));
|
|
579
583
|
this.disposables.add(listenerDisposables);
|
|
580
|
-
const sessionRunningScheduler = listenerDisposables.add(( new RunOnceScheduler(() => {
|
|
584
|
+
const sessionRunningScheduler = listenerDisposables.add(( (new RunOnceScheduler(() => {
|
|
581
585
|
if (session.state === 3 && this.viewModel.focusedSession === session) {
|
|
582
586
|
this.viewModel.setFocus(undefined, this.viewModel.focusedThread, session, false);
|
|
583
587
|
}
|
|
584
|
-
}, 200)));
|
|
588
|
+
}, 200))));
|
|
585
589
|
listenerDisposables.add(session.onDidChangeState(() => {
|
|
586
590
|
if (session.state === 3 && this.viewModel.focusedSession === session) {
|
|
587
591
|
sessionRunningScheduler.schedule();
|
|
@@ -599,10 +603,10 @@ let DebugService = class DebugService {
|
|
|
599
603
|
if (adapterExitEvent) {
|
|
600
604
|
if (adapterExitEvent.error) {
|
|
601
605
|
this.notificationService.error(( localizeWithPath(
|
|
602
|
-
|
|
603
|
-
|
|
606
|
+
_moduleId,
|
|
607
|
+
17,
|
|
604
608
|
"Debug adapter process has terminated unexpectedly ({0})",
|
|
605
|
-
adapterExitEvent.error.message || ( adapterExitEvent.error.toString())
|
|
609
|
+
adapterExitEvent.error.message || ( (adapterExitEvent.error.toString()))
|
|
606
610
|
)));
|
|
607
611
|
}
|
|
608
612
|
this.telemetry.logDebugSessionStop(session, adapterExitEvent);
|
|
@@ -628,7 +632,7 @@ let DebugService = class DebugService {
|
|
|
628
632
|
});
|
|
629
633
|
this.editorService.closeEditors(editorsToClose);
|
|
630
634
|
}
|
|
631
|
-
this._onDidEndSession.fire({ session, restart: ( this.restartingSessions.has(session)) });
|
|
635
|
+
this._onDidEndSession.fire({ session, restart: ( (this.restartingSessions.has(session))) });
|
|
632
636
|
const focusedSession = this.viewModel.focusedSession;
|
|
633
637
|
if (focusedSession && focusedSession.getId() === session.getId()) {
|
|
634
638
|
const { session, thread, stackFrame } = getStackFrameThreadAndSessionToFocus(this.model, undefined, undefined, undefined, focusedSession);
|
|
@@ -690,7 +694,7 @@ let DebugService = class DebugService {
|
|
|
690
694
|
}
|
|
691
695
|
let resolved = session.configuration;
|
|
692
696
|
if (launch && needsToSubstitute && unresolved) {
|
|
693
|
-
const initCancellationToken = ( new CancellationTokenSource());
|
|
697
|
+
const initCancellationToken = ( (new CancellationTokenSource()));
|
|
694
698
|
this.sessionCancellationTokens.set(session.getId(), initCancellationToken);
|
|
695
699
|
const resolvedByProviders = await this.configurationManager.resolveConfigurationByProviders(launch.workspace ? launch.workspace.uri : undefined, unresolved.type, unresolved, initCancellationToken.token);
|
|
696
700
|
if (resolvedByProviders) {
|
|
@@ -742,25 +746,27 @@ let DebugService = class DebugService {
|
|
|
742
746
|
else {
|
|
743
747
|
await session.terminate(true);
|
|
744
748
|
}
|
|
745
|
-
return (
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
749
|
+
return (
|
|
750
|
+
(new Promise((c, e) => {
|
|
751
|
+
setTimeout(async () => {
|
|
752
|
+
const taskResult = await runTasks();
|
|
753
|
+
if (taskResult !== 1 ) {
|
|
754
|
+
return c(false);
|
|
755
|
+
}
|
|
756
|
+
if (!resolved) {
|
|
757
|
+
return c(false);
|
|
758
|
+
}
|
|
759
|
+
try {
|
|
760
|
+
await this.launchOrAttachToSession(session, shouldFocus);
|
|
761
|
+
this._onDidNewSession.fire(session);
|
|
762
|
+
c(true);
|
|
763
|
+
}
|
|
764
|
+
catch (error) {
|
|
765
|
+
e(error);
|
|
766
|
+
}
|
|
767
|
+
}, 300);
|
|
768
|
+
}))
|
|
769
|
+
);
|
|
764
770
|
});
|
|
765
771
|
}
|
|
766
772
|
async stopSession(session, disconnect = false, suspend = false) {
|
|
@@ -774,7 +780,7 @@ let DebugService = class DebugService {
|
|
|
774
780
|
this.endInitializingState();
|
|
775
781
|
this.cancelTokens(undefined);
|
|
776
782
|
}
|
|
777
|
-
return Promise.all(( sessions.map(s => disconnect ? s.disconnect(undefined, suspend) : s.terminate())));
|
|
783
|
+
return Promise.all(( (sessions.map(s => disconnect ? s.disconnect(undefined, suspend) : s.terminate()))));
|
|
778
784
|
}
|
|
779
785
|
async substituteVariables(launch, config) {
|
|
780
786
|
const dbg = this.adapterManager.getDebugger(config.type);
|
|
@@ -800,23 +806,23 @@ let DebugService = class DebugService {
|
|
|
800
806
|
return Promise.resolve(config);
|
|
801
807
|
}
|
|
802
808
|
async showError(message, errorActions = [], promptLaunchJson = true) {
|
|
803
|
-
const configureAction = ( new Action(
|
|
809
|
+
const configureAction = ( (new Action(
|
|
804
810
|
DEBUG_CONFIGURE_COMMAND_ID,
|
|
805
811
|
DEBUG_CONFIGURE_LABEL,
|
|
806
812
|
undefined,
|
|
807
813
|
true,
|
|
808
814
|
() => this.commandService.executeCommand(DEBUG_CONFIGURE_COMMAND_ID)
|
|
809
|
-
));
|
|
815
|
+
)));
|
|
810
816
|
const actions = errorActions.filter((action) => action.id.endsWith('.command')).length > 0 ?
|
|
811
817
|
errorActions :
|
|
812
818
|
[...errorActions, ...(promptLaunchJson ? [configureAction] : [])];
|
|
813
819
|
await this.dialogService.prompt({
|
|
814
820
|
type: Severity$1.Error,
|
|
815
821
|
message,
|
|
816
|
-
buttons: ( actions.map(action => ({
|
|
822
|
+
buttons: ( (actions.map(action => ({
|
|
817
823
|
label: action.label,
|
|
818
824
|
run: () => action.run()
|
|
819
|
-
}))),
|
|
825
|
+
})))),
|
|
820
826
|
cancelButton: true
|
|
821
827
|
});
|
|
822
828
|
}
|
|
@@ -834,8 +840,8 @@ let DebugService = class DebugService {
|
|
|
834
840
|
if (lineNumber >= 1 && lineNumber <= model.getLineCount()) {
|
|
835
841
|
const lineContent = control.getModel().getLineContent(lineNumber);
|
|
836
842
|
alert(( localizeWithPath(
|
|
837
|
-
|
|
838
|
-
|
|
843
|
+
_moduleId,
|
|
844
|
+
18,
|
|
839
845
|
"{0}, debugging paused {1}, {2}:{3}",
|
|
840
846
|
lineContent,
|
|
841
847
|
thread && thread.stoppedDetails ? `, reason ${thread.stoppedDetails.reason}` : '',
|
|
@@ -909,8 +915,8 @@ let DebugService = class DebugService {
|
|
|
909
915
|
const breakpoints = this.model.addBreakpoints(uri, rawBreakpoints);
|
|
910
916
|
if (ariaAnnounce) {
|
|
911
917
|
breakpoints.forEach(bp => status(( localizeWithPath(
|
|
912
|
-
|
|
913
|
-
|
|
918
|
+
_moduleId,
|
|
919
|
+
19,
|
|
914
920
|
"Added breakpoint, line {0}, file {1}",
|
|
915
921
|
bp.lineNumber,
|
|
916
922
|
uri.fsPath
|
|
@@ -936,17 +942,19 @@ let DebugService = class DebugService {
|
|
|
936
942
|
const breakpoints = this.model.getBreakpoints();
|
|
937
943
|
const toRemove = breakpoints.filter(bp => !id || bp.getId() === id);
|
|
938
944
|
toRemove.forEach(bp => status(( localizeWithPath(
|
|
939
|
-
|
|
940
|
-
|
|
945
|
+
_moduleId,
|
|
946
|
+
20,
|
|
941
947
|
"Removed breakpoint, line {0}, file {1}",
|
|
942
948
|
bp.lineNumber,
|
|
943
949
|
bp.uri.fsPath
|
|
944
950
|
))));
|
|
945
|
-
const urisToClear = ( new Set(
|
|
951
|
+
const urisToClear = ( (new Set(
|
|
952
|
+
(toRemove.map(bp => ( (bp.originalUri.toString()))))
|
|
953
|
+
)));
|
|
946
954
|
this.model.removeBreakpoints(toRemove);
|
|
947
|
-
this.unlinkTriggeredBreakpoints(breakpoints, toRemove).forEach(uri => urisToClear.add(( uri.toString())));
|
|
955
|
+
this.unlinkTriggeredBreakpoints(breakpoints, toRemove).forEach(uri => urisToClear.add(( (uri.toString()))));
|
|
948
956
|
this.debugStorage.storeBreakpoints(this.model);
|
|
949
|
-
await Promise.all(( [...urisToClear].map(uri => this.sendBreakpoints(( URI.parse(uri))))));
|
|
957
|
+
await Promise.all(( ([...urisToClear].map(uri => this.sendBreakpoints(( (URI.parse(uri))))))));
|
|
950
958
|
}
|
|
951
959
|
setBreakpointsActivated(activated) {
|
|
952
960
|
this.model.setBreakpointsActivated(activated);
|
|
@@ -1006,8 +1014,8 @@ let DebugService = class DebugService {
|
|
|
1006
1014
|
await this.sendExceptionBreakpoints();
|
|
1007
1015
|
}
|
|
1008
1016
|
async sendAllBreakpoints(session) {
|
|
1009
|
-
const setBreakpointsPromises = ( distinct(this.model.getBreakpoints(), bp => ( bp.originalUri.toString()))
|
|
1010
|
-
.map(bp => this.sendBreakpoints(bp.originalUri, false, session)));
|
|
1017
|
+
const setBreakpointsPromises = ( (distinct(this.model.getBreakpoints(), bp => ( (bp.originalUri.toString())))
|
|
1018
|
+
.map(bp => this.sendBreakpoints(bp.originalUri, false, session))));
|
|
1011
1019
|
if (session?.capabilities.supportsConfigurationDoneRequest) {
|
|
1012
1020
|
await Promise.all([
|
|
1013
1021
|
...setBreakpointsPromises,
|
|
@@ -1030,7 +1038,7 @@ let DebugService = class DebugService {
|
|
|
1030
1038
|
for (const removed of removedBreakpoints) {
|
|
1031
1039
|
for (const existing of allBreakpoints) {
|
|
1032
1040
|
if (!removedBreakpoints.includes(existing) && existing.triggeredBy === removed.getId()) {
|
|
1033
|
-
this.model.updateBreakpoints(( new Map([[existing.getId(), { triggeredBy: undefined }]])));
|
|
1041
|
+
this.model.updateBreakpoints(( (new Map([[existing.getId(), { triggeredBy: undefined }]]))));
|
|
1034
1042
|
affectedUris.push(existing.originalUri);
|
|
1035
1043
|
}
|
|
1036
1044
|
}
|
|
@@ -1046,9 +1054,9 @@ let DebugService = class DebugService {
|
|
|
1046
1054
|
}
|
|
1047
1055
|
}
|
|
1048
1056
|
}
|
|
1049
|
-
await Promise.all(( this.model.getBreakpoints()
|
|
1057
|
+
await Promise.all(( (this.model.getBreakpoints()
|
|
1050
1058
|
.filter(bp => bp.triggeredBy === breakpoint.getId() && bp.enabled !== enable)
|
|
1051
|
-
.map(bp => this.enableOrDisableBreakpoints(enable, bp))));
|
|
1059
|
+
.map(bp => this.enableOrDisableBreakpoints(enable, bp)))));
|
|
1052
1060
|
}
|
|
1053
1061
|
async sendBreakpoints(modelUri, sourceModified = false, session) {
|
|
1054
1062
|
const breakpointsToSend = this.model.getBreakpoints({ originalUri: modelUri, enabledOnly: true });
|
|
@@ -1170,13 +1178,13 @@ let DebugService = class DebugService {
|
|
|
1170
1178
|
}
|
|
1171
1179
|
if (!breakpoint.verified) {
|
|
1172
1180
|
let listener;
|
|
1173
|
-
await raceTimeout(( new Promise(resolve => {
|
|
1181
|
+
await raceTimeout(( (new Promise(resolve => {
|
|
1174
1182
|
listener = debugModel.onDidChangeBreakpoints(() => {
|
|
1175
1183
|
if (breakpoint.verified) {
|
|
1176
1184
|
resolve();
|
|
1177
1185
|
}
|
|
1178
1186
|
});
|
|
1179
|
-
})), 2000);
|
|
1187
|
+
}))), 2000);
|
|
1180
1188
|
listener.dispose();
|
|
1181
1189
|
}
|
|
1182
1190
|
let bestThread = viewModel.focusedThread;
|
|
@@ -1211,28 +1219,28 @@ let DebugService = class DebugService {
|
|
|
1211
1219
|
return { thread: bestThread, breakpoint };
|
|
1212
1220
|
}
|
|
1213
1221
|
};
|
|
1214
|
-
DebugService = ( __decorate([
|
|
1215
|
-
( __param(0, IEditorService)),
|
|
1216
|
-
( __param(1, IPaneCompositePartService)),
|
|
1217
|
-
( __param(2, IViewsService)),
|
|
1218
|
-
( __param(3, IViewDescriptorService)),
|
|
1219
|
-
( __param(4, INotificationService)),
|
|
1220
|
-
( __param(5, IDialogService)),
|
|
1221
|
-
( __param(6, IWorkbenchLayoutService)),
|
|
1222
|
-
( __param(7, IWorkspaceContextService)),
|
|
1223
|
-
( __param(8, IContextKeyService)),
|
|
1224
|
-
( __param(9, ILifecycleService)),
|
|
1225
|
-
( __param(10, IInstantiationService)),
|
|
1226
|
-
( __param(11, IExtensionService)),
|
|
1227
|
-
( __param(12, IFileService)),
|
|
1228
|
-
( __param(13, IConfigurationService)),
|
|
1229
|
-
( __param(14, IExtensionHostDebugService)),
|
|
1230
|
-
( __param(15, IActivityService)),
|
|
1231
|
-
( __param(16, ICommandService)),
|
|
1232
|
-
( __param(17, IQuickInputService)),
|
|
1233
|
-
( __param(18, IWorkspaceTrustRequestService)),
|
|
1234
|
-
( __param(19, IUriIdentityService))
|
|
1235
|
-
], DebugService));
|
|
1222
|
+
DebugService = ( (__decorate([
|
|
1223
|
+
( (__param(0, IEditorService))),
|
|
1224
|
+
( (__param(1, IPaneCompositePartService))),
|
|
1225
|
+
( (__param(2, IViewsService))),
|
|
1226
|
+
( (__param(3, IViewDescriptorService))),
|
|
1227
|
+
( (__param(4, INotificationService))),
|
|
1228
|
+
( (__param(5, IDialogService))),
|
|
1229
|
+
( (__param(6, IWorkbenchLayoutService))),
|
|
1230
|
+
( (__param(7, IWorkspaceContextService))),
|
|
1231
|
+
( (__param(8, IContextKeyService))),
|
|
1232
|
+
( (__param(9, ILifecycleService))),
|
|
1233
|
+
( (__param(10, IInstantiationService))),
|
|
1234
|
+
( (__param(11, IExtensionService))),
|
|
1235
|
+
( (__param(12, IFileService))),
|
|
1236
|
+
( (__param(13, IConfigurationService))),
|
|
1237
|
+
( (__param(14, IExtensionHostDebugService))),
|
|
1238
|
+
( (__param(15, IActivityService))),
|
|
1239
|
+
( (__param(16, ICommandService))),
|
|
1240
|
+
( (__param(17, IQuickInputService))),
|
|
1241
|
+
( (__param(18, IWorkspaceTrustRequestService))),
|
|
1242
|
+
( (__param(19, IUriIdentityService)))
|
|
1243
|
+
], DebugService)));
|
|
1236
1244
|
function getStackFrameThreadAndSessionToFocus(model, stackFrame, thread, session, avoidSession) {
|
|
1237
1245
|
if (!session) {
|
|
1238
1246
|
if (stackFrame || thread) {
|
|
@@ -1264,7 +1272,7 @@ async function sendToOneOrAllSessions(model, session, send) {
|
|
|
1264
1272
|
await send(session);
|
|
1265
1273
|
}
|
|
1266
1274
|
else {
|
|
1267
|
-
await Promise.all(( model.getSessions().map(s => send(s))));
|
|
1275
|
+
await Promise.all(( (model.getSessions().map(s => send(s)))));
|
|
1268
1276
|
}
|
|
1269
1277
|
}
|
|
1270
1278
|
|