@codingame/monaco-vscode-debug-service-override 25.1.2 → 26.0.0
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/platform/debug/common/extensionHostDebugIpc.js +41 -29
- package/vscode/src/vs/workbench/contrib/debug/browser/callStackView.js +379 -255
- package/vscode/src/vs/workbench/contrib/debug/browser/debug.contribution.js +606 -325
- package/vscode/src/vs/workbench/contrib/debug/browser/debugAdapterManager.js +132 -91
- package/vscode/src/vs/workbench/contrib/debug/browser/debugChatIntegration.js +105 -103
- package/vscode/src/vs/workbench/contrib/debug/browser/debugConfigurationManager.js +258 -147
- package/vscode/src/vs/workbench/contrib/debug/browser/debugConsoleQuickAccess.js +14 -10
- package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorActions.js +163 -121
- package/vscode/src/vs/workbench/contrib/debug/browser/debugMemory.js +92 -41
- package/vscode/src/vs/workbench/contrib/debug/browser/debugProgress.js +13 -12
- package/vscode/src/vs/workbench/contrib/debug/browser/debugQuickAccess.js +68 -39
- package/vscode/src/vs/workbench/contrib/debug/browser/debugService.js +290 -214
- package/vscode/src/vs/workbench/contrib/debug/browser/debugSession.js +409 -260
- package/vscode/src/vs/workbench/contrib/debug/browser/debugSettingMigration.js +14 -12
- package/vscode/src/vs/workbench/contrib/debug/browser/debugStatus.js +19 -21
- package/vscode/src/vs/workbench/contrib/debug/browser/debugTaskRunner.js +126 -100
- package/vscode/src/vs/workbench/contrib/debug/browser/debugTitle.js +8 -9
- package/vscode/src/vs/workbench/contrib/debug/browser/debugToolBar.js +160 -89
- package/vscode/src/vs/workbench/contrib/debug/browser/debugViewlet.js +87 -71
- package/vscode/src/vs/workbench/contrib/debug/browser/disassemblyView.js +270 -181
- package/vscode/src/vs/workbench/contrib/debug/browser/extensionHostDebugService.js +79 -48
- package/vscode/src/vs/workbench/contrib/debug/browser/loadedScriptsView.js +149 -113
- package/vscode/src/vs/workbench/contrib/debug/browser/media/debugViewlet.css +24 -3
- package/vscode/src/vs/workbench/contrib/debug/browser/rawDebugSession.js +201 -189
- package/vscode/src/vs/workbench/contrib/debug/browser/replAccessibilityHelp.js +28 -35
- package/vscode/src/vs/workbench/contrib/debug/browser/replAccessibleView.js +10 -12
- package/vscode/src/vs/workbench/contrib/debug/browser/runAndDebugAccessibilityHelp.js +66 -86
- package/vscode/src/vs/workbench/contrib/debug/browser/statusbarColorProvider.js +24 -31
- package/vscode/src/vs/workbench/contrib/debug/browser/watchExpressionsView.js +177 -138
- package/vscode/src/vs/workbench/contrib/debug/browser/welcomeView.js +55 -33
- package/vscode/src/vs/workbench/contrib/debug/common/breakpoints.js +2 -4
- package/vscode/src/vs/workbench/contrib/debug/common/debugAccessibilityAnnouncer.js +8 -12
- package/vscode/src/vs/workbench/contrib/debug/common/debugContentProvider.js +23 -19
- package/vscode/src/vs/workbench/contrib/debug/common/debugLifecycle.js +9 -15
- package/vscode/src/vs/workbench/contrib/debug/common/debugSchemas.js +156 -133
- package/vscode/src/vs/workbench/contrib/debug/common/debugStorage.js +81 -52
- package/vscode/src/vs/workbench/contrib/debug/common/debugTelemetry.js +3 -5
- package/vscode/src/vs/workbench/contrib/debug/common/debugViewModel.js +22 -14
- package/vscode/src/vs/workbench/contrib/debug/common/debugVisualizers.js +46 -30
- package/vscode/src/vs/workbench/contrib/debug/common/debugger.js +74 -52
- package/vscode/src/vs/workbench/contrib/debug/common/replAccessibilityAnnouncer.js +11 -10
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/notebookVariables/notebookVariableCommands.js +7 -7
|
@@ -26,14 +26,43 @@ import { CONTEXT_DEBUGGERS_AVAILABLE, CONTEXT_DEBUG_EXTENSION_AVAILABLE } from '
|
|
|
26
26
|
import { IDebugService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/debug/common/debug.service';
|
|
27
27
|
import { DEBUG_START_COMMAND_ID, DEBUG_CONFIGURE_COMMAND_ID } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/debug/browser/debugCommands';
|
|
28
28
|
|
|
29
|
-
const debugStartLanguageKey =
|
|
29
|
+
const debugStartLanguageKey = "debugStartLanguage";
|
|
30
30
|
const CONTEXT_DEBUG_START_LANGUAGE = ( new RawContextKey(debugStartLanguageKey, undefined));
|
|
31
|
-
const CONTEXT_DEBUGGER_INTERESTED_IN_ACTIVE_EDITOR = ( new RawContextKey(
|
|
31
|
+
const CONTEXT_DEBUGGER_INTERESTED_IN_ACTIVE_EDITOR = ( new RawContextKey("debuggerInterestedInActiveEditor", false));
|
|
32
32
|
let WelcomeView = class WelcomeView extends ViewPane {
|
|
33
|
-
static {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
33
|
+
static {
|
|
34
|
+
this.ID = "workbench.debug.welcome";
|
|
35
|
+
}
|
|
36
|
+
static {
|
|
37
|
+
this.LABEL = ( localize2(7343, "Run"));
|
|
38
|
+
}
|
|
39
|
+
constructor(
|
|
40
|
+
options,
|
|
41
|
+
themeService,
|
|
42
|
+
keybindingService,
|
|
43
|
+
contextMenuService,
|
|
44
|
+
configurationService,
|
|
45
|
+
contextKeyService,
|
|
46
|
+
debugService,
|
|
47
|
+
editorService,
|
|
48
|
+
instantiationService,
|
|
49
|
+
viewDescriptorService,
|
|
50
|
+
openerService,
|
|
51
|
+
storageSevice,
|
|
52
|
+
hoverService
|
|
53
|
+
) {
|
|
54
|
+
super(
|
|
55
|
+
options,
|
|
56
|
+
keybindingService,
|
|
57
|
+
contextMenuService,
|
|
58
|
+
configurationService,
|
|
59
|
+
contextKeyService,
|
|
60
|
+
viewDescriptorService,
|
|
61
|
+
instantiationService,
|
|
62
|
+
openerService,
|
|
63
|
+
themeService,
|
|
64
|
+
hoverService
|
|
65
|
+
);
|
|
37
66
|
this.debugService = debugService;
|
|
38
67
|
this.editorService = editorService;
|
|
39
68
|
this.debugStartLanguageContext = CONTEXT_DEBUG_START_LANGUAGE.bindTo(contextKeyService);
|
|
@@ -51,7 +80,12 @@ let WelcomeView = class WelcomeView extends ViewPane {
|
|
|
51
80
|
if (language && this.debugService.getAdapterManager().someDebuggerInterestedInLanguage(language)) {
|
|
52
81
|
this.debugStartLanguageContext.set(language);
|
|
53
82
|
this.debuggerInterestedContext.set(true);
|
|
54
|
-
storageSevice.store(
|
|
83
|
+
storageSevice.store(
|
|
84
|
+
debugStartLanguageKey,
|
|
85
|
+
language,
|
|
86
|
+
StorageScope.WORKSPACE,
|
|
87
|
+
StorageTarget.MACHINE
|
|
88
|
+
);
|
|
55
89
|
return;
|
|
56
90
|
}
|
|
57
91
|
}
|
|
@@ -77,65 +111,53 @@ let WelcomeView = class WelcomeView extends ViewPane {
|
|
|
77
111
|
}
|
|
78
112
|
}));
|
|
79
113
|
setContextKey();
|
|
80
|
-
|
|
81
|
-
debugKeybindingLabel = debugKeybinding ? ` (${debugKeybinding.getLabel()})` : '';
|
|
114
|
+
debugKeybindingLabel = this.keybindingService.appendKeybinding("", DEBUG_START_COMMAND_ID);
|
|
82
115
|
}
|
|
83
116
|
shouldShowWelcome() {
|
|
84
117
|
return true;
|
|
85
118
|
}
|
|
86
119
|
};
|
|
87
|
-
WelcomeView = ( __decorate([
|
|
88
|
-
( __param(1, IThemeService)),
|
|
89
|
-
( __param(2, IKeybindingService)),
|
|
90
|
-
( __param(3, IContextMenuService)),
|
|
91
|
-
( __param(4, IConfigurationService)),
|
|
92
|
-
( __param(5, IContextKeyService)),
|
|
93
|
-
( __param(6, IDebugService)),
|
|
94
|
-
( __param(7, IEditorService)),
|
|
95
|
-
( __param(8, IInstantiationService)),
|
|
96
|
-
( __param(9, IViewDescriptorService)),
|
|
97
|
-
( __param(10, IOpenerService)),
|
|
98
|
-
( __param(11, IStorageService)),
|
|
99
|
-
( __param(12, IHoverService))
|
|
100
|
-
], WelcomeView));
|
|
120
|
+
WelcomeView = ( __decorate([( __param(1, IThemeService)), ( __param(2, IKeybindingService)), ( __param(3, IContextMenuService)), ( __param(4, IConfigurationService)), ( __param(5, IContextKeyService)), ( __param(6, IDebugService)), ( __param(7, IEditorService)), ( __param(8, IInstantiationService)), ( __param(9, IViewDescriptorService)), ( __param(10, IOpenerService)), ( __param(11, IStorageService)), ( __param(12, IHoverService))], WelcomeView));
|
|
101
121
|
const viewsRegistry = ( Registry.as(Extensions.ViewsRegistry));
|
|
102
122
|
viewsRegistry.registerViewWelcomeContent(WelcomeView.ID, {
|
|
103
123
|
content: ( localize(
|
|
104
|
-
|
|
124
|
+
7344,
|
|
105
125
|
"[Open a file](command:{0}) which can be debugged or run.",
|
|
106
126
|
OpenFileAction.ID
|
|
107
127
|
)),
|
|
108
128
|
when: ( ContextKeyExpr.and(CONTEXT_DEBUGGERS_AVAILABLE, ( CONTEXT_DEBUGGER_INTERESTED_IN_ACTIVE_EDITOR.toNegated()))),
|
|
109
|
-
group: ViewContentGroups.Open
|
|
129
|
+
group: ViewContentGroups.Open
|
|
110
130
|
});
|
|
111
|
-
let debugKeybindingLabel =
|
|
131
|
+
let debugKeybindingLabel = "";
|
|
112
132
|
viewsRegistry.registerViewWelcomeContent(WelcomeView.ID, {
|
|
113
|
-
content: `[${( localize(
|
|
133
|
+
content: `[${( localize(7345, "Run and Debug"))}${debugKeybindingLabel}](command:${DEBUG_START_COMMAND_ID})`,
|
|
114
134
|
when: CONTEXT_DEBUGGERS_AVAILABLE,
|
|
115
135
|
group: ViewContentGroups.Debug,
|
|
116
136
|
order: 1
|
|
117
137
|
});
|
|
118
138
|
viewsRegistry.registerViewWelcomeContent(WelcomeView.ID, {
|
|
119
139
|
content: ( localize(
|
|
120
|
-
|
|
140
|
+
7346,
|
|
121
141
|
"To customize Run and Debug [create a launch.json file]({0}).",
|
|
122
|
-
`${( createCommandUri(DEBUG_CONFIGURE_COMMAND_ID, {
|
|
142
|
+
`${( createCommandUri(DEBUG_CONFIGURE_COMMAND_ID, {
|
|
143
|
+
addNew: true
|
|
144
|
+
}).toString())}`
|
|
123
145
|
)),
|
|
124
|
-
when: ( ContextKeyExpr.and(CONTEXT_DEBUGGERS_AVAILABLE, ( WorkbenchStateContext.notEqualsTo(
|
|
146
|
+
when: ( ContextKeyExpr.and(CONTEXT_DEBUGGERS_AVAILABLE, ( WorkbenchStateContext.notEqualsTo("empty")))),
|
|
125
147
|
group: ViewContentGroups.Debug
|
|
126
148
|
});
|
|
127
149
|
viewsRegistry.registerViewWelcomeContent(WelcomeView.ID, {
|
|
128
150
|
content: ( localize(
|
|
129
|
-
|
|
151
|
+
7347,
|
|
130
152
|
"To customize Run and Debug, [open a folder]({0}) and create a launch.json file.",
|
|
131
153
|
(createCommandUri(OpenFolderAction.ID).toString())
|
|
132
154
|
)),
|
|
133
|
-
when: ( ContextKeyExpr.and(CONTEXT_DEBUGGERS_AVAILABLE, ( WorkbenchStateContext.isEqualTo(
|
|
155
|
+
when: ( ContextKeyExpr.and(CONTEXT_DEBUGGERS_AVAILABLE, ( WorkbenchStateContext.isEqualTo("empty")))),
|
|
134
156
|
group: ViewContentGroups.Debug
|
|
135
157
|
});
|
|
136
158
|
viewsRegistry.registerViewWelcomeContent(WelcomeView.ID, {
|
|
137
159
|
content: ( localize(
|
|
138
|
-
|
|
160
|
+
7348,
|
|
139
161
|
"All debug extensions are disabled. Enable a debug extension or install a new one from the Marketplace."
|
|
140
162
|
)),
|
|
141
163
|
when: ( CONTEXT_DEBUG_EXTENSION_AVAILABLE.toNegated()),
|
|
@@ -7,7 +7,7 @@ let Breakpoints = class Breakpoints {
|
|
|
7
7
|
constructor(breakpointContribution, contextKeyService) {
|
|
8
8
|
this.breakpointContribution = breakpointContribution;
|
|
9
9
|
this.contextKeyService = contextKeyService;
|
|
10
|
-
this.breakpointsWhen = typeof breakpointContribution.when ===
|
|
10
|
+
this.breakpointsWhen = typeof breakpointContribution.when === "string" ? ContextKeyExpr.deserialize(breakpointContribution.when) : undefined;
|
|
11
11
|
}
|
|
12
12
|
get language() {
|
|
13
13
|
return this.breakpointContribution.language;
|
|
@@ -16,8 +16,6 @@ let Breakpoints = class Breakpoints {
|
|
|
16
16
|
return !this.breakpointsWhen || this.contextKeyService.contextMatchesRules(this.breakpointsWhen);
|
|
17
17
|
}
|
|
18
18
|
};
|
|
19
|
-
Breakpoints = ( __decorate([
|
|
20
|
-
( __param(1, IContextKeyService))
|
|
21
|
-
], Breakpoints));
|
|
19
|
+
Breakpoints = ( __decorate([( __param(1, IContextKeyService))], Breakpoints));
|
|
22
20
|
|
|
23
21
|
export { Breakpoints };
|
|
@@ -8,7 +8,9 @@ import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/pl
|
|
|
8
8
|
import { Expression } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/debug/common/debugModel';
|
|
9
9
|
|
|
10
10
|
let DebugWatchAccessibilityAnnouncer = class DebugWatchAccessibilityAnnouncer extends Disposable {
|
|
11
|
-
static {
|
|
11
|
+
static {
|
|
12
|
+
this.ID = "workbench.contrib.debugWatchAccessibilityAnnouncer";
|
|
13
|
+
}
|
|
12
14
|
constructor(_debugService, _logService, _accessibilityService, _configurationService) {
|
|
13
15
|
super();
|
|
14
16
|
this._debugService = _debugService;
|
|
@@ -18,32 +20,26 @@ let DebugWatchAccessibilityAnnouncer = class DebugWatchAccessibilityAnnouncer ex
|
|
|
18
20
|
this._listener = this._register(( new MutableDisposable()));
|
|
19
21
|
this._setListener();
|
|
20
22
|
this._register(_configurationService.onDidChangeConfiguration(e => {
|
|
21
|
-
if (e.affectsConfiguration(
|
|
23
|
+
if (e.affectsConfiguration("accessibility.debugWatchVariableAnnouncements")) {
|
|
22
24
|
this._setListener();
|
|
23
25
|
}
|
|
24
26
|
}));
|
|
25
27
|
}
|
|
26
28
|
_setListener() {
|
|
27
|
-
const value = this._configurationService.getValue(
|
|
29
|
+
const value = this._configurationService.getValue("accessibility.debugWatchVariableAnnouncements");
|
|
28
30
|
if (value && !this._listener.value) {
|
|
29
|
-
this._listener.value = this._debugService.getModel().onDidChangeWatchExpressionValue(
|
|
31
|
+
this._listener.value = this._debugService.getModel().onDidChangeWatchExpressionValue(e => {
|
|
30
32
|
if (!e || e.value === Expression.DEFAULT_VALUE) {
|
|
31
33
|
return;
|
|
32
34
|
}
|
|
33
35
|
this._accessibilityService.alert(`${e.name} = ${e.value}`);
|
|
34
36
|
this._logService.trace(`debugAccessibilityAnnouncerValueChanged ${e.name} ${e.value}`);
|
|
35
37
|
});
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
+
} else {
|
|
38
39
|
this._listener.clear();
|
|
39
40
|
}
|
|
40
41
|
}
|
|
41
42
|
};
|
|
42
|
-
DebugWatchAccessibilityAnnouncer = ( __decorate([
|
|
43
|
-
( __param(0, IDebugService)),
|
|
44
|
-
( __param(1, ILogService)),
|
|
45
|
-
( __param(2, IAccessibilityService)),
|
|
46
|
-
( __param(3, IConfigurationService))
|
|
47
|
-
], DebugWatchAccessibilityAnnouncer));
|
|
43
|
+
DebugWatchAccessibilityAnnouncer = ( __decorate([( __param(0, IDebugService)), ( __param(1, ILogService)), ( __param(2, IAccessibilityService)), ( __param(3, IConfigurationService))], DebugWatchAccessibilityAnnouncer));
|
|
48
44
|
|
|
49
45
|
export { DebugWatchAccessibilityAnnouncer };
|
|
@@ -18,15 +18,25 @@ import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/l
|
|
|
18
18
|
|
|
19
19
|
var DebugContentProvider_1;
|
|
20
20
|
let DebugContentProvider = class DebugContentProvider extends Disposable {
|
|
21
|
-
static {
|
|
22
|
-
|
|
21
|
+
static {
|
|
22
|
+
DebugContentProvider_1 = this;
|
|
23
|
+
}
|
|
24
|
+
constructor(
|
|
25
|
+
textModelResolverService,
|
|
26
|
+
debugService,
|
|
27
|
+
modelService,
|
|
28
|
+
languageService,
|
|
29
|
+
editorWorkerService
|
|
30
|
+
) {
|
|
23
31
|
super();
|
|
24
32
|
this.debugService = debugService;
|
|
25
33
|
this.modelService = modelService;
|
|
26
34
|
this.languageService = languageService;
|
|
27
35
|
this.editorWorkerService = editorWorkerService;
|
|
28
36
|
this.pendingUpdates = ( new Map());
|
|
29
|
-
this._store.add(
|
|
37
|
+
this._store.add(
|
|
38
|
+
textModelResolverService.registerTextModelContentProvider(DEBUG_SCHEME, this)
|
|
39
|
+
);
|
|
30
40
|
DebugContentProvider_1.INSTANCE = this;
|
|
31
41
|
}
|
|
32
42
|
dispose() {
|
|
@@ -53,14 +63,12 @@ let DebugContentProvider = class DebugContentProvider extends Disposable {
|
|
|
53
63
|
session = this.debugService.getViewModel().focusedSession;
|
|
54
64
|
}
|
|
55
65
|
if (!session) {
|
|
56
|
-
return Promise.reject(( new ErrorNoTelemetry(( localize(
|
|
66
|
+
return Promise.reject(( new ErrorNoTelemetry(( localize(7415, "Unable to resolve the resource without a debug session")))));
|
|
57
67
|
}
|
|
58
|
-
const createErrModel =
|
|
68
|
+
const createErrModel = errMsg => {
|
|
59
69
|
this.debugService.sourceIsNotAvailable(resource);
|
|
60
70
|
const languageSelection = this.languageService.createById(PLAINTEXT_LANGUAGE_ID);
|
|
61
|
-
const message = errMsg
|
|
62
|
-
? ( localize(7105, "Could not load source '{0}': {1}.", resource.path, errMsg))
|
|
63
|
-
: ( localize(7106, "Could not load source '{0}'.", resource.path));
|
|
71
|
+
const message = errMsg ? ( localize(7416, "Could not load source '{0}': {1}.", resource.path, errMsg)) : ( localize(7417, "Could not load source '{0}'.", resource.path));
|
|
64
72
|
return this.modelService.createModel(message, languageSelection, resource);
|
|
65
73
|
};
|
|
66
74
|
return session.loadSource(resource).then(response => {
|
|
@@ -71,30 +79,26 @@ let DebugContentProvider = class DebugContentProvider extends Disposable {
|
|
|
71
79
|
cancellationSource?.cancel();
|
|
72
80
|
const myToken = ( new CancellationTokenSource());
|
|
73
81
|
this.pendingUpdates.set(model.id, myToken);
|
|
74
|
-
return this.editorWorkerService.computeMoreMinimalEdits(model.uri, [{
|
|
82
|
+
return this.editorWorkerService.computeMoreMinimalEdits(model.uri, [{
|
|
83
|
+
text: newContent,
|
|
84
|
+
range: model.getFullModelRange()
|
|
85
|
+
}]).then(edits => {
|
|
75
86
|
this.pendingUpdates.delete(model.id);
|
|
76
87
|
if (!myToken.token.isCancellationRequested && edits && edits.length > 0) {
|
|
77
88
|
model.applyEdits(( edits.map(edit => EditOperation.replace(Range.lift(edit.range), edit.text))));
|
|
78
89
|
}
|
|
79
90
|
return model;
|
|
80
91
|
});
|
|
81
|
-
}
|
|
82
|
-
else {
|
|
92
|
+
} else {
|
|
83
93
|
const mime = response.body.mimeType || getMimeTypes(resource)[0];
|
|
84
94
|
const languageSelection = this.languageService.createByMimeType(mime);
|
|
85
95
|
return this.modelService.createModel(response.body.content, languageSelection, resource);
|
|
86
96
|
}
|
|
87
97
|
}
|
|
88
98
|
return createErrModel();
|
|
89
|
-
},
|
|
99
|
+
}, err => createErrModel(err.message));
|
|
90
100
|
}
|
|
91
101
|
};
|
|
92
|
-
DebugContentProvider = DebugContentProvider_1 = ( __decorate([
|
|
93
|
-
( __param(0, ITextModelService)),
|
|
94
|
-
( __param(1, IDebugService)),
|
|
95
|
-
( __param(2, IModelService)),
|
|
96
|
-
( __param(3, ILanguageService)),
|
|
97
|
-
( __param(4, IEditorWorkerService))
|
|
98
|
-
], DebugContentProvider));
|
|
102
|
+
DebugContentProvider = DebugContentProvider_1 = ( __decorate([( __param(0, ITextModelService)), ( __param(1, IDebugService)), ( __param(2, IModelService)), ( __param(3, ILanguageService)), ( __param(4, IEditorWorkerService))], DebugContentProvider));
|
|
99
103
|
|
|
100
104
|
export { DebugContentProvider };
|
|
@@ -11,15 +11,15 @@ let DebugLifecycle = class DebugLifecycle {
|
|
|
11
11
|
this.debugService = debugService;
|
|
12
12
|
this.configurationService = configurationService;
|
|
13
13
|
this.dialogService = dialogService;
|
|
14
|
-
this.disposable = lifecycleService.onBeforeShutdown(async
|
|
14
|
+
this.disposable = lifecycleService.onBeforeShutdown(async e => e.veto(this.shouldVetoShutdown(e.reason), "veto.debug"));
|
|
15
15
|
}
|
|
16
16
|
shouldVetoShutdown(_reason) {
|
|
17
17
|
const rootSessions = this.debugService.getModel().getSessions().filter(s => s.parentSession === undefined);
|
|
18
18
|
if (rootSessions.length === 0) {
|
|
19
19
|
return false;
|
|
20
20
|
}
|
|
21
|
-
const shouldConfirmOnExit = this.configurationService.getValue(
|
|
22
|
-
if (shouldConfirmOnExit ===
|
|
21
|
+
const shouldConfirmOnExit = this.configurationService.getValue("debug").confirmOnExit;
|
|
22
|
+
if (shouldConfirmOnExit === "never") {
|
|
23
23
|
return false;
|
|
24
24
|
}
|
|
25
25
|
return this.showWindowCloseConfirmation(rootSessions.length);
|
|
@@ -31,29 +31,23 @@ let DebugLifecycle = class DebugLifecycle {
|
|
|
31
31
|
let message;
|
|
32
32
|
if (numSessions === 1) {
|
|
33
33
|
message = ( localize(
|
|
34
|
-
|
|
34
|
+
7418,
|
|
35
35
|
"There is an active debug session, are you sure you want to stop it?"
|
|
36
36
|
));
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
37
|
+
} else {
|
|
39
38
|
message = ( localize(
|
|
40
|
-
|
|
39
|
+
7419,
|
|
41
40
|
"There are active debug sessions, are you sure you want to stop them?"
|
|
42
41
|
));
|
|
43
42
|
}
|
|
44
43
|
const res = await this.dialogService.confirm({
|
|
45
44
|
message,
|
|
46
|
-
type:
|
|
47
|
-
primaryButton: ( localize(
|
|
45
|
+
type: "warning",
|
|
46
|
+
primaryButton: ( localize(7420, "&&Stop Debugging"))
|
|
48
47
|
});
|
|
49
48
|
return !res.confirmed;
|
|
50
49
|
}
|
|
51
50
|
};
|
|
52
|
-
DebugLifecycle = ( __decorate([
|
|
53
|
-
( __param(0, ILifecycleService)),
|
|
54
|
-
( __param(1, IDebugService)),
|
|
55
|
-
( __param(2, IConfigurationService)),
|
|
56
|
-
( __param(3, IDialogService))
|
|
57
|
-
], DebugLifecycle));
|
|
51
|
+
DebugLifecycle = ( __decorate([( __param(0, ILifecycleService)), ( __param(1, IDebugService)), ( __param(2, IConfigurationService)), ( __param(3, IDialogService))], DebugLifecycle));
|
|
58
52
|
|
|
59
53
|
export { DebugLifecycle };
|