@codingame/monaco-vscode-debug-service-override 4.5.1 → 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/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
|
@@ -7,20 +7,17 @@ import { IQuickInputService } from 'vscode/vscode/vs/platform/quickinput/common/
|
|
|
7
7
|
import { IViewsService } from 'vscode/vscode/vs/workbench/services/views/common/viewsService.service';
|
|
8
8
|
import { ICommandService } from 'vscode/vscode/vs/platform/commands/common/commands.service';
|
|
9
9
|
|
|
10
|
+
const _moduleId = "vs/workbench/contrib/debug/browser/debugSessionPicker";
|
|
10
11
|
async function showDebugSessionMenu(accessor, selectAndStartID) {
|
|
11
12
|
const quickInputService = accessor.get(IQuickInputService);
|
|
12
13
|
const debugService = accessor.get(IDebugService);
|
|
13
14
|
const viewsService = accessor.get(IViewsService);
|
|
14
15
|
const commandService = accessor.get(ICommandService);
|
|
15
|
-
const localDisposableStore = ( new DisposableStore());
|
|
16
|
+
const localDisposableStore = ( (new DisposableStore()));
|
|
16
17
|
const quickPick = quickInputService.createQuickPick();
|
|
17
18
|
localDisposableStore.add(quickPick);
|
|
18
19
|
quickPick.matchOnLabel = quickPick.matchOnDescription = quickPick.matchOnDetail = quickPick.sortByLabel = false;
|
|
19
|
-
quickPick.placeholder = ( localizeWithPath(
|
|
20
|
-
'vs/workbench/contrib/debug/browser/debugSessionPicker',
|
|
21
|
-
'moveFocusedView.selectView',
|
|
22
|
-
'Search debug sessions by name'
|
|
23
|
-
));
|
|
20
|
+
quickPick.placeholder = ( localizeWithPath(_moduleId, 0, 'Search debug sessions by name'));
|
|
24
21
|
const pickItems = _getPicksAndActiveItem(quickPick.value, selectAndStartID, debugService, viewsService, commandService);
|
|
25
22
|
quickPick.items = pickItems.picks;
|
|
26
23
|
quickPick.activeItems = pickItems.activeItems;
|
|
@@ -64,11 +61,7 @@ function _getPicksAndActiveItem(filter, selectAndStartID, debugService, viewsSer
|
|
|
64
61
|
if (debugConsolePicks.length) {
|
|
65
62
|
debugConsolePicks.push({ type: 'separator' });
|
|
66
63
|
}
|
|
67
|
-
const createDebugSessionLabel = ( localizeWithPath(
|
|
68
|
-
'vs/workbench/contrib/debug/browser/debugSessionPicker',
|
|
69
|
-
'workbench.action.debug.startDebug',
|
|
70
|
-
'Start a New Debug Session'
|
|
71
|
-
));
|
|
64
|
+
const createDebugSessionLabel = ( localizeWithPath(_moduleId, 1, 'Start a New Debug Session'));
|
|
72
65
|
debugConsolePicks.push({
|
|
73
66
|
label: `$(plus) ${createDebugSessionLabel}`,
|
|
74
67
|
ariaLabel: createDebugSessionLabel,
|
|
@@ -82,13 +75,7 @@ function _getSessionInfo(session) {
|
|
|
82
75
|
let description = '';
|
|
83
76
|
let ariaLabel = '';
|
|
84
77
|
if (parentName) {
|
|
85
|
-
ariaLabel = ( localizeWithPath(
|
|
86
|
-
'vs/workbench/contrib/debug/browser/debugSessionPicker',
|
|
87
|
-
'workbench.action.debug.spawnFrom',
|
|
88
|
-
'Session {0} spawned from {1}',
|
|
89
|
-
label,
|
|
90
|
-
parentName
|
|
91
|
-
));
|
|
78
|
+
ariaLabel = ( localizeWithPath(_moduleId, 2, 'Session {0} spawned from {1}', label, parentName));
|
|
92
79
|
description = parentName;
|
|
93
80
|
}
|
|
94
81
|
return { label, description, ariaLabel };
|
|
@@ -5,6 +5,7 @@ import { IDebugService } from 'vscode/vscode/vs/workbench/contrib/debug/common/d
|
|
|
5
5
|
import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration.service';
|
|
6
6
|
import { IStatusbarService } from 'vscode/vscode/vs/workbench/services/statusbar/browser/statusbar.service';
|
|
7
7
|
|
|
8
|
+
const _moduleId = "vs/workbench/contrib/debug/browser/debugStatus";
|
|
8
9
|
let DebugStatusContribution = class DebugStatusContribution {
|
|
9
10
|
constructor(statusBarService, debugService, configurationService) {
|
|
10
11
|
this.statusBarService = statusBarService;
|
|
@@ -47,19 +48,10 @@ let DebugStatusContribution = class DebugStatusContribution {
|
|
|
47
48
|
text = (manager.getLaunches().length > 1 ? `${name} (${manager.selectedConfiguration.launch.name})` : name);
|
|
48
49
|
}
|
|
49
50
|
return {
|
|
50
|
-
name: ( localizeWithPath(
|
|
51
|
+
name: ( localizeWithPath(_moduleId, 0, "Debug")),
|
|
51
52
|
text: '$(debug-alt-small) ' + text,
|
|
52
|
-
ariaLabel: ( localizeWithPath(
|
|
53
|
-
|
|
54
|
-
'debugTarget',
|
|
55
|
-
"Debug: {0}",
|
|
56
|
-
text
|
|
57
|
-
)),
|
|
58
|
-
tooltip: ( localizeWithPath(
|
|
59
|
-
'vs/workbench/contrib/debug/browser/debugStatus',
|
|
60
|
-
'selectAndStartDebug',
|
|
61
|
-
"Select and start debug configuration"
|
|
62
|
-
)),
|
|
53
|
+
ariaLabel: ( localizeWithPath(_moduleId, 1, "Debug: {0}", text)),
|
|
54
|
+
tooltip: ( localizeWithPath(_moduleId, 2, "Select and start debug configuration")),
|
|
63
55
|
command: 'workbench.action.debug.selectandstart'
|
|
64
56
|
};
|
|
65
57
|
}
|
|
@@ -68,10 +60,10 @@ let DebugStatusContribution = class DebugStatusContribution {
|
|
|
68
60
|
dispose(this.toDispose);
|
|
69
61
|
}
|
|
70
62
|
};
|
|
71
|
-
DebugStatusContribution = ( __decorate([
|
|
72
|
-
( __param(0, IStatusbarService)),
|
|
73
|
-
( __param(1, IDebugService)),
|
|
74
|
-
( __param(2, IConfigurationService))
|
|
75
|
-
], DebugStatusContribution));
|
|
63
|
+
DebugStatusContribution = ( (__decorate([
|
|
64
|
+
( (__param(0, IStatusbarService))),
|
|
65
|
+
( (__param(1, IDebugService))),
|
|
66
|
+
( (__param(2, IConfigurationService)))
|
|
67
|
+
], DebugStatusContribution)));
|
|
76
68
|
|
|
77
69
|
export { DebugStatusContribution };
|
|
@@ -14,6 +14,7 @@ import { Action } from 'vscode/vscode/vs/base/common/actions';
|
|
|
14
14
|
import { DEBUG_CONFIGURE_COMMAND_ID, DEBUG_CONFIGURE_LABEL } from './debugCommands.js';
|
|
15
15
|
import { ICommandService } from 'vscode/vscode/vs/platform/commands/common/commands.service';
|
|
16
16
|
|
|
17
|
+
const _moduleId = "vs/workbench/contrib/debug/browser/debugTaskRunner";
|
|
17
18
|
function once(match, event) {
|
|
18
19
|
return (listener, thisArgs = null, disposables) => {
|
|
19
20
|
const result = event(e => {
|
|
@@ -63,70 +64,43 @@ let DebugTaskRunner = class DebugTaskRunner {
|
|
|
63
64
|
}
|
|
64
65
|
const taskLabel = typeof taskId === 'string' ? taskId : taskId ? taskId.name : '';
|
|
65
66
|
const message = errorCount > 1
|
|
66
|
-
? ( localizeWithPath(
|
|
67
|
-
'vs/workbench/contrib/debug/browser/debugTaskRunner',
|
|
68
|
-
'preLaunchTaskErrors',
|
|
69
|
-
"Errors exist after running preLaunchTask '{0}'.",
|
|
70
|
-
taskLabel
|
|
71
|
-
))
|
|
67
|
+
? ( localizeWithPath(_moduleId, 0, "Errors exist after running preLaunchTask '{0}'.", taskLabel))
|
|
72
68
|
: errorCount === 1
|
|
73
|
-
? ( localizeWithPath(
|
|
74
|
-
'vs/workbench/contrib/debug/browser/debugTaskRunner',
|
|
75
|
-
'preLaunchTaskError',
|
|
76
|
-
"Error exists after running preLaunchTask '{0}'.",
|
|
77
|
-
taskLabel
|
|
78
|
-
))
|
|
69
|
+
? ( localizeWithPath(_moduleId, 1, "Error exists after running preLaunchTask '{0}'.", taskLabel))
|
|
79
70
|
: taskSummary && typeof taskSummary.exitCode === 'number'
|
|
80
71
|
? ( localizeWithPath(
|
|
81
|
-
|
|
82
|
-
|
|
72
|
+
_moduleId,
|
|
73
|
+
2,
|
|
83
74
|
"The preLaunchTask '{0}' terminated with exit code {1}.",
|
|
84
75
|
taskLabel,
|
|
85
76
|
taskSummary.exitCode
|
|
86
77
|
))
|
|
87
|
-
: ( localizeWithPath(
|
|
88
|
-
'vs/workbench/contrib/debug/browser/debugTaskRunner',
|
|
89
|
-
'preLaunchTaskTerminated',
|
|
90
|
-
"The preLaunchTask '{0}' terminated.",
|
|
91
|
-
taskLabel
|
|
92
|
-
));
|
|
78
|
+
: ( localizeWithPath(_moduleId, 3, "The preLaunchTask '{0}' terminated.", taskLabel));
|
|
93
79
|
let DebugChoice;
|
|
94
|
-
( (function(DebugChoice) {
|
|
80
|
+
( ((function(DebugChoice) {
|
|
95
81
|
DebugChoice[DebugChoice["DebugAnyway"] = 1] = "DebugAnyway";
|
|
96
82
|
DebugChoice[DebugChoice["ShowErrors"] = 2] = "ShowErrors";
|
|
97
83
|
DebugChoice[DebugChoice["Cancel"] = 0] = "Cancel";
|
|
98
|
-
})(DebugChoice || (DebugChoice = {})));
|
|
84
|
+
})(DebugChoice || (DebugChoice = {}))));
|
|
99
85
|
const { result, checkboxChecked } = await this.dialogService.prompt({
|
|
100
86
|
type: Severity$1.Warning,
|
|
101
87
|
message,
|
|
102
88
|
buttons: [
|
|
103
89
|
{
|
|
104
|
-
label: ( localizeWithPath(
|
|
105
|
-
'vs/workbench/contrib/debug/browser/debugTaskRunner',
|
|
106
|
-
{ key: 'debugAnyway', comment: ['&& denotes a mnemonic'] },
|
|
107
|
-
"&&Debug Anyway"
|
|
108
|
-
)),
|
|
90
|
+
label: ( localizeWithPath(_moduleId, 4, "&&Debug Anyway")),
|
|
109
91
|
run: () => DebugChoice.DebugAnyway
|
|
110
92
|
},
|
|
111
93
|
{
|
|
112
|
-
label: ( localizeWithPath(
|
|
113
|
-
'vs/workbench/contrib/debug/browser/debugTaskRunner',
|
|
114
|
-
{ key: 'showErrors', comment: ['&& denotes a mnemonic'] },
|
|
115
|
-
"&&Show Errors"
|
|
116
|
-
)),
|
|
94
|
+
label: ( localizeWithPath(_moduleId, 5, "&&Show Errors")),
|
|
117
95
|
run: () => DebugChoice.ShowErrors
|
|
118
96
|
}
|
|
119
97
|
],
|
|
120
98
|
cancelButton: {
|
|
121
|
-
label: ( localizeWithPath(
|
|
99
|
+
label: ( localizeWithPath(_moduleId, 6, "Abort")),
|
|
122
100
|
run: () => DebugChoice.Cancel
|
|
123
101
|
},
|
|
124
102
|
checkbox: {
|
|
125
|
-
label: ( localizeWithPath(
|
|
126
|
-
'vs/workbench/contrib/debug/browser/debugTaskRunner',
|
|
127
|
-
'remember',
|
|
128
|
-
"Remember my choice in user settings"
|
|
129
|
-
)),
|
|
103
|
+
label: ( localizeWithPath(_moduleId, 7, "Remember my choice in user settings")),
|
|
130
104
|
}
|
|
131
105
|
});
|
|
132
106
|
const debugAnyway = result === DebugChoice.DebugAnyway;
|
|
@@ -148,11 +122,11 @@ let DebugTaskRunner = class DebugTaskRunner {
|
|
|
148
122
|
const choiceMap = JSON.parse(this.storageService.get(DEBUG_TASK_ERROR_CHOICE_KEY, 1 , '{}'));
|
|
149
123
|
let choice = -1;
|
|
150
124
|
let DebugChoice;
|
|
151
|
-
( (function(DebugChoice) {
|
|
125
|
+
( ((function(DebugChoice) {
|
|
152
126
|
DebugChoice[DebugChoice["DebugAnyway"] = 0] = "DebugAnyway";
|
|
153
127
|
DebugChoice[DebugChoice["ConfigureTask"] = 1] = "ConfigureTask";
|
|
154
128
|
DebugChoice[DebugChoice["Cancel"] = 2] = "Cancel";
|
|
155
|
-
})(DebugChoice || (DebugChoice = {})));
|
|
129
|
+
})(DebugChoice || (DebugChoice = {}))));
|
|
156
130
|
if (choiceMap[err.message] !== undefined) {
|
|
157
131
|
choice = choiceMap[err.message];
|
|
158
132
|
}
|
|
@@ -162,11 +136,7 @@ let DebugTaskRunner = class DebugTaskRunner {
|
|
|
162
136
|
message: err.message,
|
|
163
137
|
buttons: [
|
|
164
138
|
{
|
|
165
|
-
label: ( localizeWithPath(
|
|
166
|
-
'vs/workbench/contrib/debug/browser/debugTaskRunner',
|
|
167
|
-
{ key: 'debugAnyway', comment: ['&& denotes a mnemonic'] },
|
|
168
|
-
"&&Debug Anyway"
|
|
169
|
-
)),
|
|
139
|
+
label: ( localizeWithPath(_moduleId, 4, "&&Debug Anyway")),
|
|
170
140
|
run: () => DebugChoice.DebugAnyway
|
|
171
141
|
},
|
|
172
142
|
{
|
|
@@ -178,11 +148,7 @@ let DebugTaskRunner = class DebugTaskRunner {
|
|
|
178
148
|
run: () => DebugChoice.Cancel
|
|
179
149
|
},
|
|
180
150
|
checkbox: {
|
|
181
|
-
label: ( localizeWithPath(
|
|
182
|
-
'vs/workbench/contrib/debug/browser/debugTaskRunner',
|
|
183
|
-
'rememberTask',
|
|
184
|
-
"Remember my choice for this task"
|
|
185
|
-
))
|
|
151
|
+
label: ( localizeWithPath(_moduleId, 8, "Remember my choice for this task"))
|
|
186
152
|
}
|
|
187
153
|
});
|
|
188
154
|
choice = result;
|
|
@@ -202,46 +168,37 @@ let DebugTaskRunner = class DebugTaskRunner {
|
|
|
202
168
|
return Promise.resolve(null);
|
|
203
169
|
}
|
|
204
170
|
if (!root) {
|
|
205
|
-
return Promise.reject(( new Error(( localizeWithPath(
|
|
206
|
-
|
|
207
|
-
|
|
171
|
+
return Promise.reject(( (new Error(( localizeWithPath(
|
|
172
|
+
_moduleId,
|
|
173
|
+
9,
|
|
208
174
|
"Task '{0}' can not be referenced from a launch configuration that is in a different workspace folder.",
|
|
209
175
|
typeof taskId === 'string' ? taskId : taskId.type
|
|
210
|
-
)))));
|
|
176
|
+
))))));
|
|
211
177
|
}
|
|
212
178
|
const task = await this.taskService.getTask(root, taskId);
|
|
213
179
|
if (!task) {
|
|
214
180
|
const errorMessage = typeof taskId === 'string'
|
|
215
|
-
? ( localizeWithPath(
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
"Could not find the task '{0}'.",
|
|
219
|
-
taskId
|
|
220
|
-
))
|
|
221
|
-
: ( localizeWithPath(
|
|
222
|
-
'vs/workbench/contrib/debug/browser/debugTaskRunner',
|
|
223
|
-
'DebugTaskNotFound',
|
|
224
|
-
"Could not find the specified task."
|
|
225
|
-
));
|
|
226
|
-
return Promise.reject(createErrorWithActions(errorMessage, [( new Action(
|
|
181
|
+
? ( localizeWithPath(_moduleId, 10, "Could not find the task '{0}'.", taskId))
|
|
182
|
+
: ( localizeWithPath(_moduleId, 11, "Could not find the specified task."));
|
|
183
|
+
return Promise.reject(createErrorWithActions(errorMessage, [( (new Action(
|
|
227
184
|
DEBUG_CONFIGURE_COMMAND_ID,
|
|
228
185
|
DEBUG_CONFIGURE_LABEL,
|
|
229
186
|
undefined,
|
|
230
187
|
true,
|
|
231
188
|
() => this.commandService.executeCommand(DEBUG_CONFIGURE_COMMAND_ID)
|
|
232
|
-
))]));
|
|
189
|
+
)))]));
|
|
233
190
|
}
|
|
234
191
|
let taskStarted = false;
|
|
235
192
|
const getTaskKey = (t) => t.getKey() ?? t.getMapKey();
|
|
236
193
|
const taskKey = getTaskKey(task);
|
|
237
|
-
const inactivePromise = ( new Promise((c) => once(e => {
|
|
194
|
+
const inactivePromise = ( (new Promise((c) => once(e => {
|
|
238
195
|
return (e.kind === "inactive"
|
|
239
196
|
|| (e.kind === "processEnded" && e.exitCode === undefined))
|
|
240
197
|
&& getTaskKey(e.__task) === taskKey;
|
|
241
198
|
}, this.taskService.onDidStateChange)(e => {
|
|
242
199
|
taskStarted = true;
|
|
243
200
|
c(e.kind === "processEnded" ? { exitCode: e.exitCode } : null);
|
|
244
|
-
})));
|
|
201
|
+
}))));
|
|
245
202
|
const promise = this.taskService.getActiveTasks().then(async (tasks) => {
|
|
246
203
|
if (tasks.find(t => getTaskKey(t) === taskKey)) {
|
|
247
204
|
const busyTasks = await this.taskService.getBusyTasks();
|
|
@@ -260,48 +217,50 @@ let DebugTaskRunner = class DebugTaskRunner {
|
|
|
260
217
|
}
|
|
261
218
|
return taskPromise.then(x => x ?? null);
|
|
262
219
|
});
|
|
263
|
-
return (
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
resolve()
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
220
|
+
return (
|
|
221
|
+
(new Promise((c, e) => {
|
|
222
|
+
const waitForInput = ( (new Promise(
|
|
223
|
+
resolve => once(e => ((e.kind === "acquiredInput") ) && getTaskKey(e.__task) === taskKey, this.taskService.onDidStateChange)(() => {
|
|
224
|
+
resolve();
|
|
225
|
+
})
|
|
226
|
+
)));
|
|
227
|
+
promise.then(result => {
|
|
228
|
+
taskStarted = true;
|
|
229
|
+
c(result);
|
|
230
|
+
}, error => e(error));
|
|
231
|
+
waitForInput.then(() => {
|
|
232
|
+
const waitTime = task.configurationProperties.isBackground ? 5000 : 10000;
|
|
233
|
+
setTimeout(() => {
|
|
234
|
+
if (!taskStarted) {
|
|
235
|
+
const errorMessage = typeof taskId === 'string'
|
|
236
|
+
? ( localizeWithPath(
|
|
237
|
+
_moduleId,
|
|
238
|
+
12,
|
|
239
|
+
"The task '{0}' cannot be tracked. Make sure to have a problem matcher defined.",
|
|
240
|
+
taskId
|
|
241
|
+
))
|
|
242
|
+
: ( localizeWithPath(
|
|
243
|
+
_moduleId,
|
|
244
|
+
13,
|
|
245
|
+
"The task '{0}' cannot be tracked. Make sure to have a problem matcher defined.",
|
|
246
|
+
JSON.stringify(taskId)
|
|
247
|
+
));
|
|
248
|
+
e({ severity: Severity$1.Error, message: errorMessage });
|
|
249
|
+
}
|
|
250
|
+
}, waitTime);
|
|
251
|
+
});
|
|
252
|
+
}))
|
|
253
|
+
);
|
|
295
254
|
}
|
|
296
255
|
};
|
|
297
|
-
DebugTaskRunner = ( __decorate([
|
|
298
|
-
( __param(0, ITaskService)),
|
|
299
|
-
( __param(1, IMarkerService)),
|
|
300
|
-
( __param(2, IConfigurationService)),
|
|
301
|
-
( __param(3, IViewsService)),
|
|
302
|
-
( __param(4, IDialogService)),
|
|
303
|
-
( __param(5, IStorageService)),
|
|
304
|
-
( __param(6, ICommandService))
|
|
305
|
-
], DebugTaskRunner));
|
|
256
|
+
DebugTaskRunner = ( (__decorate([
|
|
257
|
+
( (__param(0, ITaskService))),
|
|
258
|
+
( (__param(1, IMarkerService))),
|
|
259
|
+
( (__param(2, IConfigurationService))),
|
|
260
|
+
( (__param(3, IViewsService))),
|
|
261
|
+
( (__param(4, IDialogService))),
|
|
262
|
+
( (__param(5, IStorageService))),
|
|
263
|
+
( (__param(6, ICommandService)))
|
|
264
|
+
], DebugTaskRunner)));
|
|
306
265
|
|
|
307
266
|
export { DebugTaskRunner };
|
|
@@ -47,6 +47,7 @@ import { mainWindow } from 'vscode/vscode/vs/base/browser/window';
|
|
|
47
47
|
import { clamp } from 'vscode/vscode/vs/base/common/numbers';
|
|
48
48
|
import { PixelRatio } from 'vscode/vscode/vs/base/browser/pixelRatio';
|
|
49
49
|
|
|
50
|
+
const _moduleId = "vs/workbench/contrib/debug/browser/debugToolBar";
|
|
50
51
|
const DEBUG_TOOLBAR_POSITION_KEY = 'debug.actionswidgetposition';
|
|
51
52
|
const DEBUG_TOOLBAR_Y_KEY = 'debug.actionswidgety';
|
|
52
53
|
let DebugToolBar = class DebugToolBar extends Themable {
|
|
@@ -62,9 +63,9 @@ let DebugToolBar = class DebugToolBar extends Themable {
|
|
|
62
63
|
this.yCoordinate = 0;
|
|
63
64
|
this.isVisible = false;
|
|
64
65
|
this.isBuilt = false;
|
|
65
|
-
this.stopActionViewItemDisposables = this._register(( new DisposableStore()));
|
|
66
|
-
this.auxWindowCoordinates = ( new WeakMap());
|
|
67
|
-
this.trackPixelRatioListener = this._register(( new MutableDisposable()));
|
|
66
|
+
this.stopActionViewItemDisposables = this._register(( (new DisposableStore())));
|
|
67
|
+
this.auxWindowCoordinates = ( (new WeakMap()));
|
|
68
|
+
this.trackPixelRatioListener = this._register(( (new MutableDisposable())));
|
|
68
69
|
this.$el = $('div.debug-toolbar');
|
|
69
70
|
this.$el.style.top = `${layoutService.mainContainerOffset.top}px`;
|
|
70
71
|
this.dragArea = append(this.$el, $('div.drag-area' + ThemeIcon.asCSSSelector(debugGripper)));
|
|
@@ -72,7 +73,7 @@ let DebugToolBar = class DebugToolBar extends Themable {
|
|
|
72
73
|
this.debugToolBarMenu = menuService.createMenu(MenuId.DebugToolBar, contextKeyService);
|
|
73
74
|
this._register(this.debugToolBarMenu);
|
|
74
75
|
this.activeActions = [];
|
|
75
|
-
this.actionBar = this._register(( new ActionBar(actionBarContainer, {
|
|
76
|
+
this.actionBar = this._register(( (new ActionBar(actionBarContainer, {
|
|
76
77
|
orientation: 0 ,
|
|
77
78
|
actionViewItemProvider: (action, options) => {
|
|
78
79
|
if (action.id === FOCUS_SESSION_ID) {
|
|
@@ -87,8 +88,8 @@ let DebugToolBar = class DebugToolBar extends Themable {
|
|
|
87
88
|
}
|
|
88
89
|
return createActionViewItem(this.instantiationService, action, options);
|
|
89
90
|
}
|
|
90
|
-
})));
|
|
91
|
-
this.updateScheduler = this._register(( new RunOnceScheduler(() => {
|
|
91
|
+
}))));
|
|
92
|
+
this.updateScheduler = this._register(( (new RunOnceScheduler(() => {
|
|
92
93
|
const state = this.debugService.state;
|
|
93
94
|
const toolBarLocation = this.configurationService.getValue('debug').toolBarLocation;
|
|
94
95
|
if (state === 0 ||
|
|
@@ -105,7 +106,7 @@ let DebugToolBar = class DebugToolBar extends Themable {
|
|
|
105
106
|
this.activeActions = actions;
|
|
106
107
|
}
|
|
107
108
|
this.show();
|
|
108
|
-
}, 20)));
|
|
109
|
+
}, 20))));
|
|
109
110
|
this.updateStyles();
|
|
110
111
|
this.registerListeners();
|
|
111
112
|
this.hide();
|
|
@@ -129,7 +130,7 @@ let DebugToolBar = class DebugToolBar extends Themable {
|
|
|
129
130
|
this.telemetryService.publicLog2('workbenchActionExecuted', { id: e.action.id, from: 'debugActionsWidget' });
|
|
130
131
|
}));
|
|
131
132
|
this._register(addDisposableGenericMouseUpListener(this.dragArea, (event) => {
|
|
132
|
-
const mouseClickEvent = ( new StandardMouseEvent(getWindow(this.dragArea), event));
|
|
133
|
+
const mouseClickEvent = ( (new StandardMouseEvent(getWindow(this.dragArea), event)));
|
|
133
134
|
const activeWindow = getWindow(this.layoutService.activeContainer);
|
|
134
135
|
if (mouseClickEvent.detail === 2) {
|
|
135
136
|
const widgetWidth = this.$el.clientWidth;
|
|
@@ -141,7 +142,7 @@ let DebugToolBar = class DebugToolBar extends Themable {
|
|
|
141
142
|
this.dragArea.classList.add('dragged');
|
|
142
143
|
const activeWindow = getWindow(this.layoutService.activeContainer);
|
|
143
144
|
const mouseMoveListener = addDisposableGenericMouseMoveListener(activeWindow, (e) => {
|
|
144
|
-
const mouseMoveEvent = ( new StandardMouseEvent(activeWindow, e));
|
|
145
|
+
const mouseMoveEvent = ( (new StandardMouseEvent(activeWindow, e)));
|
|
145
146
|
mouseMoveEvent.preventDefault();
|
|
146
147
|
this.setCoordinates(mouseMoveEvent.posx - 14, mouseMoveEvent.posy - 14);
|
|
147
148
|
});
|
|
@@ -153,7 +154,7 @@ let DebugToolBar = class DebugToolBar extends Themable {
|
|
|
153
154
|
});
|
|
154
155
|
}));
|
|
155
156
|
this._register(this.layoutService.onDidChangePartVisibility(() => this.setYCoordinate()));
|
|
156
|
-
const resizeListener = this._register(( new MutableDisposable()));
|
|
157
|
+
const resizeListener = this._register(( (new MutableDisposable())));
|
|
157
158
|
this._register(this.layoutService.onDidChangeActiveContainer(async () => {
|
|
158
159
|
this._yRange = undefined;
|
|
159
160
|
await this.layoutService.whenContainerStylesLoaded(getWindow(this.layoutService.activeContainer));
|
|
@@ -272,18 +273,18 @@ let DebugToolBar = class DebugToolBar extends Themable {
|
|
|
272
273
|
this.$el?.remove();
|
|
273
274
|
}
|
|
274
275
|
};
|
|
275
|
-
DebugToolBar = ( __decorate([
|
|
276
|
-
( __param(0, INotificationService)),
|
|
277
|
-
( __param(1, ITelemetryService)),
|
|
278
|
-
( __param(2, IDebugService)),
|
|
279
|
-
( __param(3, IWorkbenchLayoutService)),
|
|
280
|
-
( __param(4, IStorageService)),
|
|
281
|
-
( __param(5, IConfigurationService)),
|
|
282
|
-
( __param(6, IThemeService)),
|
|
283
|
-
( __param(7, IInstantiationService)),
|
|
284
|
-
( __param(8, IMenuService)),
|
|
285
|
-
( __param(9, IContextKeyService))
|
|
286
|
-
], DebugToolBar));
|
|
276
|
+
DebugToolBar = ( (__decorate([
|
|
277
|
+
( (__param(0, INotificationService))),
|
|
278
|
+
( (__param(1, ITelemetryService))),
|
|
279
|
+
( (__param(2, IDebugService))),
|
|
280
|
+
( (__param(3, IWorkbenchLayoutService))),
|
|
281
|
+
( (__param(4, IStorageService))),
|
|
282
|
+
( (__param(5, IConfigurationService))),
|
|
283
|
+
( (__param(6, IThemeService))),
|
|
284
|
+
( (__param(7, IInstantiationService))),
|
|
285
|
+
( (__param(8, IMenuService))),
|
|
286
|
+
( (__param(9, IContextKeyService)))
|
|
287
|
+
], DebugToolBar)));
|
|
287
288
|
function createDisconnectMenuItemAction(action, disposables, accessor, options) {
|
|
288
289
|
const menuService = accessor.get(IMenuService);
|
|
289
290
|
const contextKeyService = accessor.get(IContextKeyService);
|
|
@@ -295,11 +296,7 @@ function createDisconnectMenuItemAction(action, disposables, accessor, options)
|
|
|
295
296
|
if (!secondary.length) {
|
|
296
297
|
return undefined;
|
|
297
298
|
}
|
|
298
|
-
const dropdownAction = disposables.add(( new Action('notebook.moreRunActions', ( localizeWithPath(
|
|
299
|
-
'vs/workbench/contrib/debug/browser/debugToolBar',
|
|
300
|
-
'notebook.moreRunActionsLabel',
|
|
301
|
-
"More..."
|
|
302
|
-
)), 'codicon-chevron-down', true)));
|
|
299
|
+
const dropdownAction = disposables.add(( (new Action('notebook.moreRunActions', ( localizeWithPath(_moduleId, 0, "More...")), 'codicon-chevron-down', true))));
|
|
303
300
|
const item = instantiationService.createInstance(DropdownWithPrimaryActionViewItem, action, dropdownAction, secondary, 'debug-stop-actions', contextMenuService, options);
|
|
304
301
|
return item;
|
|
305
302
|
}
|
|
@@ -319,7 +316,12 @@ const registerDebugToolBarItem = (id, title, order, icon, when, precondition, al
|
|
|
319
316
|
});
|
|
320
317
|
debugViewTitleItems.push(MenuRegistry.appendMenuItem(MenuId.ViewContainerTitle, {
|
|
321
318
|
group: 'navigation',
|
|
322
|
-
when: ( ContextKeyExpr.and(
|
|
319
|
+
when: ( (ContextKeyExpr.and(
|
|
320
|
+
when,
|
|
321
|
+
(ContextKeyExpr.equals('viewContainer', VIEWLET_ID)),
|
|
322
|
+
(CONTEXT_DEBUG_STATE.notEqualsTo('inactive')),
|
|
323
|
+
(ContextKeyExpr.equals('config.debug.toolBarLocation', 'docked'))
|
|
324
|
+
))),
|
|
323
325
|
order,
|
|
324
326
|
command: {
|
|
325
327
|
id,
|
|
@@ -330,47 +332,56 @@ const registerDebugToolBarItem = (id, title, order, icon, when, precondition, al
|
|
|
330
332
|
}));
|
|
331
333
|
};
|
|
332
334
|
MenuRegistry.onDidChangeMenu(e => {
|
|
333
|
-
if (( e.has(MenuId.DebugToolBar))) {
|
|
335
|
+
if (( (e.has(MenuId.DebugToolBar)))) {
|
|
334
336
|
dispose(debugViewTitleItems);
|
|
335
337
|
const items = MenuRegistry.getMenuItems(MenuId.DebugToolBar);
|
|
336
338
|
for (const i of items) {
|
|
337
339
|
debugViewTitleItems.push(MenuRegistry.appendMenuItem(MenuId.ViewContainerTitle, {
|
|
338
340
|
...i,
|
|
339
|
-
when: ( ContextKeyExpr.and(
|
|
341
|
+
when: ( (ContextKeyExpr.and(
|
|
342
|
+
i.when,
|
|
343
|
+
(ContextKeyExpr.equals('viewContainer', VIEWLET_ID)),
|
|
344
|
+
(CONTEXT_DEBUG_STATE.notEqualsTo('inactive')),
|
|
345
|
+
(ContextKeyExpr.equals('config.debug.toolBarLocation', 'docked'))
|
|
346
|
+
)))
|
|
340
347
|
}));
|
|
341
348
|
}
|
|
342
349
|
}
|
|
343
350
|
});
|
|
344
|
-
const CONTEXT_TOOLBAR_COMMAND_CENTER = ( ContextKeyExpr.equals('config.debug.toolBarLocation', 'commandCenter'));
|
|
351
|
+
const CONTEXT_TOOLBAR_COMMAND_CENTER = ( (ContextKeyExpr.equals('config.debug.toolBarLocation', 'commandCenter')));
|
|
345
352
|
MenuRegistry.appendMenuItem(MenuId.CommandCenterCenter, {
|
|
346
353
|
submenu: MenuId.DebugToolBar,
|
|
347
354
|
title: 'Debug',
|
|
348
355
|
icon: Codicon.debug,
|
|
349
356
|
order: 1,
|
|
350
|
-
when: ( ContextKeyExpr.and(CONTEXT_IN_DEBUG_MODE, CONTEXT_TOOLBAR_COMMAND_CENTER))
|
|
357
|
+
when: ( (ContextKeyExpr.and(CONTEXT_IN_DEBUG_MODE, CONTEXT_TOOLBAR_COMMAND_CENTER)))
|
|
351
358
|
});
|
|
352
|
-
registerDebugToolBarItem(CONTINUE_ID, CONTINUE_LABEL, 10, debugContinue, ( CONTEXT_DEBUG_STATE.isEqualTo('stopped')));
|
|
353
|
-
registerDebugToolBarItem(PAUSE_ID, PAUSE_LABEL, 10, debugPause, ( CONTEXT_DEBUG_STATE.notEqualsTo('stopped')), ( ContextKeyExpr.and(
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
registerDebugToolBarItem(
|
|
358
|
-
|
|
359
|
+
registerDebugToolBarItem(CONTINUE_ID, CONTINUE_LABEL, 10, debugContinue, ( (CONTEXT_DEBUG_STATE.isEqualTo('stopped'))));
|
|
360
|
+
registerDebugToolBarItem(PAUSE_ID, PAUSE_LABEL, 10, debugPause, ( (CONTEXT_DEBUG_STATE.notEqualsTo('stopped'))), ( (ContextKeyExpr.and(
|
|
361
|
+
(CONTEXT_DEBUG_STATE.isEqualTo('running')),
|
|
362
|
+
(CONTEXT_FOCUSED_SESSION_IS_NO_DEBUG.toNegated())
|
|
363
|
+
))));
|
|
364
|
+
registerDebugToolBarItem(STOP_ID, STOP_LABEL, 70, debugStop, ( (CONTEXT_FOCUSED_SESSION_IS_ATTACH.toNegated())), undefined, { id: DISCONNECT_ID, title: DISCONNECT_LABEL, icon: debugDisconnect, precondition: ( (ContextKeyExpr.and(
|
|
365
|
+
(CONTEXT_FOCUSED_SESSION_IS_ATTACH.toNegated()),
|
|
366
|
+
CONTEXT_TERMINATE_DEBUGGEE_SUPPORTED
|
|
367
|
+
))), });
|
|
368
|
+
registerDebugToolBarItem(DISCONNECT_ID, DISCONNECT_LABEL, 70, debugDisconnect, CONTEXT_FOCUSED_SESSION_IS_ATTACH, undefined, { id: STOP_ID, title: STOP_LABEL, icon: debugStop, precondition: ( (ContextKeyExpr.and(CONTEXT_FOCUSED_SESSION_IS_ATTACH, CONTEXT_TERMINATE_DEBUGGEE_SUPPORTED))), });
|
|
369
|
+
registerDebugToolBarItem(STEP_OVER_ID, STEP_OVER_LABEL, 20, debugStepOver, undefined, ( (CONTEXT_DEBUG_STATE.isEqualTo('stopped'))));
|
|
370
|
+
registerDebugToolBarItem(STEP_INTO_ID, STEP_INTO_LABEL, 30, debugStepInto, undefined, ( (CONTEXT_DEBUG_STATE.isEqualTo('stopped'))));
|
|
371
|
+
registerDebugToolBarItem(STEP_OUT_ID, STEP_OUT_LABEL, 40, debugStepOut, undefined, ( (CONTEXT_DEBUG_STATE.isEqualTo('stopped'))));
|
|
359
372
|
registerDebugToolBarItem(RESTART_SESSION_ID, RESTART_LABEL, 60, debugRestart);
|
|
360
|
-
registerDebugToolBarItem(STEP_BACK_ID, ( localizeWithPath(
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
'vs/workbench/contrib/debug/browser/debugToolBar',
|
|
367
|
-
'reverseContinue',
|
|
368
|
-
"Reverse"
|
|
369
|
-
)), 55, debugReverseContinue, CONTEXT_STEP_BACK_SUPPORTED, ( CONTEXT_DEBUG_STATE.isEqualTo('stopped')));
|
|
370
|
-
registerDebugToolBarItem(FOCUS_SESSION_ID, FOCUS_SESSION_LABEL, 100, Codicon.listTree, ( ContextKeyExpr.and(CONTEXT_MULTI_SESSION_DEBUG, ( CONTEXT_TOOLBAR_COMMAND_CENTER.negate()))));
|
|
373
|
+
registerDebugToolBarItem(STEP_BACK_ID, ( localizeWithPath(_moduleId, 1, "Step Back")), 50, debugStepBack, CONTEXT_STEP_BACK_SUPPORTED, ( (CONTEXT_DEBUG_STATE.isEqualTo('stopped'))));
|
|
374
|
+
registerDebugToolBarItem(REVERSE_CONTINUE_ID, ( localizeWithPath(_moduleId, 2, "Reverse")), 55, debugReverseContinue, CONTEXT_STEP_BACK_SUPPORTED, ( (CONTEXT_DEBUG_STATE.isEqualTo('stopped'))));
|
|
375
|
+
registerDebugToolBarItem(FOCUS_SESSION_ID, FOCUS_SESSION_LABEL, 100, Codicon.listTree, ( (ContextKeyExpr.and(
|
|
376
|
+
CONTEXT_MULTI_SESSION_DEBUG,
|
|
377
|
+
(CONTEXT_TOOLBAR_COMMAND_CENTER.negate())
|
|
378
|
+
))));
|
|
371
379
|
MenuRegistry.appendMenuItem(MenuId.DebugToolBarStop, {
|
|
372
380
|
group: 'navigation',
|
|
373
|
-
when: ( ContextKeyExpr.and(
|
|
381
|
+
when: ( (ContextKeyExpr.and(
|
|
382
|
+
(CONTEXT_FOCUSED_SESSION_IS_ATTACH.toNegated()),
|
|
383
|
+
CONTEXT_TERMINATE_DEBUGGEE_SUPPORTED
|
|
384
|
+
))),
|
|
374
385
|
order: 0,
|
|
375
386
|
command: {
|
|
376
387
|
id: DISCONNECT_ID,
|
|
@@ -380,7 +391,7 @@ MenuRegistry.appendMenuItem(MenuId.DebugToolBarStop, {
|
|
|
380
391
|
});
|
|
381
392
|
MenuRegistry.appendMenuItem(MenuId.DebugToolBarStop, {
|
|
382
393
|
group: 'navigation',
|
|
383
|
-
when: ( ContextKeyExpr.and(CONTEXT_FOCUSED_SESSION_IS_ATTACH, CONTEXT_TERMINATE_DEBUGGEE_SUPPORTED)),
|
|
394
|
+
when: ( (ContextKeyExpr.and(CONTEXT_FOCUSED_SESSION_IS_ATTACH, CONTEXT_TERMINATE_DEBUGGEE_SUPPORTED))),
|
|
384
395
|
order: 0,
|
|
385
396
|
command: {
|
|
386
397
|
id: STOP_ID,
|
|
@@ -390,7 +401,11 @@ MenuRegistry.appendMenuItem(MenuId.DebugToolBarStop, {
|
|
|
390
401
|
});
|
|
391
402
|
MenuRegistry.appendMenuItem(MenuId.DebugToolBarStop, {
|
|
392
403
|
group: 'navigation',
|
|
393
|
-
when: ( ContextKeyExpr.or(
|
|
404
|
+
when: ( (ContextKeyExpr.or( (ContextKeyExpr.and(
|
|
405
|
+
(CONTEXT_FOCUSED_SESSION_IS_ATTACH.toNegated()),
|
|
406
|
+
CONTEXT_SUSPEND_DEBUGGEE_SUPPORTED,
|
|
407
|
+
CONTEXT_TERMINATE_DEBUGGEE_SUPPORTED
|
|
408
|
+
)), (ContextKeyExpr.and(CONTEXT_FOCUSED_SESSION_IS_ATTACH, CONTEXT_SUSPEND_DEBUGGEE_SUPPORTED))))),
|
|
394
409
|
order: 0,
|
|
395
410
|
command: {
|
|
396
411
|
id: DISCONNECT_AND_SUSPEND_ID,
|