@codingame/monaco-vscode-task-service-override 31.0.1 → 32.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/workbench/contrib/tasks/browser/abstractTaskService.js +134 -127
- package/vscode/src/vs/workbench/contrib/tasks/browser/runAutomaticTasks.js +7 -7
- package/vscode/src/vs/workbench/contrib/tasks/browser/task.contribution.js +51 -48
- package/vscode/src/vs/workbench/contrib/tasks/browser/taskQuickPick.js +17 -17
- package/vscode/src/vs/workbench/contrib/tasks/browser/taskService.js +1 -1
- package/vscode/src/vs/workbench/contrib/tasks/browser/taskTerminalStatus.js +10 -10
- package/vscode/src/vs/workbench/contrib/tasks/browser/tasksQuickAccess.js +2 -2
- package/vscode/src/vs/workbench/contrib/tasks/browser/terminalTaskSystem.js +15 -15
- package/vscode/src/vs/workbench/contrib/tasks/common/jsonSchemaCommon.js +41 -41
- package/vscode/src/vs/workbench/contrib/tasks/common/jsonSchema_v1.js +8 -8
- package/vscode/src/vs/workbench/contrib/tasks/common/jsonSchema_v2.js +83 -83
- package/vscode/src/vs/workbench/contrib/tasks/common/problemMatcher.js +70 -70
- package/vscode/src/vs/workbench/contrib/tasks/common/taskConfiguration.js +16 -16
- package/vscode/src/vs/workbench/contrib/tasks/common/taskTemplates.js +4 -4
|
@@ -93,7 +93,7 @@ const TaskTerminalType = "Task";
|
|
|
93
93
|
var ConfigureTaskAction;
|
|
94
94
|
(function(ConfigureTaskAction) {
|
|
95
95
|
ConfigureTaskAction.ID = "workbench.action.tasks.configureTaskRunner";
|
|
96
|
-
ConfigureTaskAction.TEXT = ( localize2(
|
|
96
|
+
ConfigureTaskAction.TEXT = ( localize2(13313, "Configure Task"));
|
|
97
97
|
})(ConfigureTaskAction || (ConfigureTaskAction = {}));
|
|
98
98
|
class ProblemReporter {
|
|
99
99
|
constructor(_outputChannel) {
|
|
@@ -185,7 +185,7 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
185
185
|
this.OutputChannelId = "tasks";
|
|
186
186
|
}
|
|
187
187
|
static {
|
|
188
|
-
this.OutputChannelLabel = ( localize(
|
|
188
|
+
this.OutputChannelLabel = ( localize(13314, "Tasks"));
|
|
189
189
|
}
|
|
190
190
|
static {
|
|
191
191
|
this._nextHandle = 0;
|
|
@@ -359,7 +359,7 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
359
359
|
}
|
|
360
360
|
let entry;
|
|
361
361
|
if (tasks && tasks.length > 0) {
|
|
362
|
-
entry = await this._showQuickPick(tasks, ( localize(
|
|
362
|
+
entry = await this._showQuickPick(tasks, ( localize(13315, "Select the build task (there is no default build task defined)")));
|
|
363
363
|
}
|
|
364
364
|
const task = entry ? entry.task : undefined;
|
|
365
365
|
if (!task) {
|
|
@@ -371,7 +371,7 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
371
371
|
this._willRestart = e.reason !== ShutdownReason.RELOAD;
|
|
372
372
|
}));
|
|
373
373
|
this._register(this.onDidStateChange(async e => {
|
|
374
|
-
this._log(( localize(
|
|
374
|
+
this._log(( localize(13316, "Task Event kind: {0}", e.kind)), true);
|
|
375
375
|
switch (e.kind) {
|
|
376
376
|
case TaskEventKind.Start:
|
|
377
377
|
this._taskRunStartTimes.set(e.taskId, Date.now());
|
|
@@ -458,7 +458,7 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
458
458
|
_attemptTaskReconnection() {
|
|
459
459
|
if (!this._lifecycleService.shouldAttemptTaskReconnection) {
|
|
460
460
|
this._log(( localize(
|
|
461
|
-
|
|
461
|
+
13317,
|
|
462
462
|
"Startup kind not window reload, setting connected and removing persistent tasks"
|
|
463
463
|
)), true);
|
|
464
464
|
this._tasksReconnected = true;
|
|
@@ -466,7 +466,7 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
466
466
|
}
|
|
467
467
|
if (!this._configurationService.getValue(TaskSettingId.Reconnection) || this._tasksReconnected) {
|
|
468
468
|
this._log(( localize(
|
|
469
|
-
|
|
469
|
+
13318,
|
|
470
470
|
"Setting tasks connected configured value {0}, tasks were already reconnected {1}",
|
|
471
471
|
this._configurationService.getValue(TaskSettingId.Reconnection),
|
|
472
472
|
this._tasksReconnected
|
|
@@ -474,10 +474,10 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
474
474
|
this._tasksReconnected = true;
|
|
475
475
|
return;
|
|
476
476
|
}
|
|
477
|
-
this._log(( localize(
|
|
477
|
+
this._log(( localize(13319, "Reconnecting to running tasks...")), true);
|
|
478
478
|
this.getWorkspaceTasks(TaskRunSource.Reconnect).then(async () => {
|
|
479
479
|
this._tasksReconnected = await this._reconnectTasks();
|
|
480
|
-
this._log(( localize(
|
|
480
|
+
this._log(( localize(13320, "Reconnected to running tasks.")), true);
|
|
481
481
|
this._onDidReconnectToTasks.fire();
|
|
482
482
|
});
|
|
483
483
|
}
|
|
@@ -500,7 +500,7 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
500
500
|
return;
|
|
501
501
|
}
|
|
502
502
|
const durationText = this._formatTaskDuration(durationMs);
|
|
503
|
-
const message = taskLabel ? ( localize(
|
|
503
|
+
const message = taskLabel ? ( localize(13321, "Task \"{0}\" finished in {1}.", taskLabel, durationText)) : ( localize(13322, "Task finished in {0}.", durationText));
|
|
504
504
|
this._hostService.focus(targetWindow, {
|
|
505
505
|
mode: FocusMode.Notify
|
|
506
506
|
});
|
|
@@ -523,18 +523,18 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
523
523
|
const minutes = Math.floor(totalSeconds / 60);
|
|
524
524
|
const seconds = totalSeconds % 60;
|
|
525
525
|
if (minutes > 0) {
|
|
526
|
-
return seconds > 0 ? ( localize(
|
|
526
|
+
return seconds > 0 ? ( localize(13323, "{0}m {1}s", minutes, seconds)) : ( localize(13324, "{0}m", minutes));
|
|
527
527
|
}
|
|
528
|
-
return localize(
|
|
528
|
+
return localize(13325, "{0}s", seconds);
|
|
529
529
|
}
|
|
530
530
|
async _reconnectTasks() {
|
|
531
531
|
const tasks = await this.getSavedTasks("persistent");
|
|
532
532
|
if (!tasks.length) {
|
|
533
|
-
this._log(( localize(
|
|
533
|
+
this._log(( localize(13326, "No persistent tasks to reconnect.")), true);
|
|
534
534
|
return true;
|
|
535
535
|
}
|
|
536
536
|
const taskLabels = ( tasks.map(task => task._label)).join(", ");
|
|
537
|
-
this._log(( localize(
|
|
537
|
+
this._log(( localize(13327, "Reconnecting to {0} tasks...", taskLabels)), true);
|
|
538
538
|
for (const task of tasks) {
|
|
539
539
|
if (ConfiguringTask.is(task)) {
|
|
540
540
|
const resolved = await this.tryResolveTask(task);
|
|
@@ -566,21 +566,21 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
566
566
|
args: [{
|
|
567
567
|
name: "args",
|
|
568
568
|
isOptional: true,
|
|
569
|
-
description: ( localize(
|
|
569
|
+
description: ( localize(13328, "Filters the tasks shown in the quickpick")),
|
|
570
570
|
schema: {
|
|
571
571
|
anyOf: [{
|
|
572
572
|
type: "string",
|
|
573
|
-
description: ( localize(
|
|
573
|
+
description: ( localize(13329, "The task's label or a term to filter by"))
|
|
574
574
|
}, {
|
|
575
575
|
type: "object",
|
|
576
576
|
properties: {
|
|
577
577
|
type: {
|
|
578
578
|
type: "string",
|
|
579
|
-
description: ( localize(
|
|
579
|
+
description: ( localize(13330, "The contributed task type"))
|
|
580
580
|
},
|
|
581
581
|
task: {
|
|
582
582
|
type: "string",
|
|
583
|
-
description: ( localize(
|
|
583
|
+
description: ( localize(13331, "The task's label or a term to filter by"))
|
|
584
584
|
}
|
|
585
585
|
}
|
|
586
586
|
}]
|
|
@@ -755,7 +755,7 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
755
755
|
const defaultAgent = this._chatAgentService.getDefaultAgent(ChatAgentLocation.Chat);
|
|
756
756
|
if (defaultAgent) {
|
|
757
757
|
actions.push({
|
|
758
|
-
label: ( localize(
|
|
758
|
+
label: ( localize(13332, "Fix with AI")),
|
|
759
759
|
run: async () => {
|
|
760
760
|
this._commandService.executeCommand(CHAT_OPEN_ACTION_ID, {
|
|
761
761
|
mode: ChatModeKind.Agent,
|
|
@@ -767,18 +767,18 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
767
767
|
}
|
|
768
768
|
}
|
|
769
769
|
actions.push({
|
|
770
|
-
label: ( localize(
|
|
770
|
+
label: ( localize(13333, "Show Output")),
|
|
771
771
|
run: () => {
|
|
772
772
|
this._outputService.showChannel(this._outputChannel.id, true);
|
|
773
773
|
}
|
|
774
774
|
});
|
|
775
775
|
if (chatEnabled && actions.length > 1) {
|
|
776
776
|
this._notificationService.prompt(Severity.Warning, ( localize(
|
|
777
|
-
|
|
777
|
+
13334,
|
|
778
778
|
"There are task errors. Use chat to fix them or view the output for details."
|
|
779
779
|
)), actions);
|
|
780
780
|
} else {
|
|
781
|
-
this._notificationService.prompt(Severity.Warning, ( localize(
|
|
781
|
+
this._notificationService.prompt(Severity.Warning, ( localize(13335, "There are task errors. See the output for details.")), actions);
|
|
782
782
|
}
|
|
783
783
|
}
|
|
784
784
|
}
|
|
@@ -879,7 +879,7 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
879
879
|
}
|
|
880
880
|
const name = isString(folder) ? folder : isWorkspaceFolder(folder) ? folder.name : folder.configuration ? basename(folder.configuration) : undefined;
|
|
881
881
|
if (( this.ignoredWorkspaceFolders.some(ignored => ignored.name === name))) {
|
|
882
|
-
return Promise.reject(( new Error(( localize(
|
|
882
|
+
return Promise.reject(( new Error(( localize(13336, "The folder {0} is ignored since it uses task version 0.1.0", name)))));
|
|
883
883
|
}
|
|
884
884
|
const key = !isString(identifier) ? TaskDefinition.createTaskIdentifier(identifier, console) : identifier;
|
|
885
885
|
if (key === undefined) {
|
|
@@ -934,7 +934,7 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
934
934
|
if (!matchingProvider) {
|
|
935
935
|
if (matchingProviderUnavailable) {
|
|
936
936
|
this._log(( localize(
|
|
937
|
-
|
|
937
|
+
13337,
|
|
938
938
|
"Warning: {0} tasks are unavailable in the current environment.",
|
|
939
939
|
configuringTask.configures.type
|
|
940
940
|
)));
|
|
@@ -1072,7 +1072,7 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
1072
1072
|
}
|
|
1073
1073
|
_getPersistentTasks() {
|
|
1074
1074
|
if (this._persistentTasks) {
|
|
1075
|
-
this._log(( localize(
|
|
1075
|
+
this._log(( localize(13338, "Returning cached tasks {0}", this._persistentTasks.size)), true);
|
|
1076
1076
|
return this._persistentTasks;
|
|
1077
1077
|
}
|
|
1078
1078
|
this._persistentTasks = ( new LRUCache(10));
|
|
@@ -1105,7 +1105,7 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
1105
1105
|
const workspaceToTaskMap = ( new Map());
|
|
1106
1106
|
const storedTasks = this._getTasksFromStorage(type);
|
|
1107
1107
|
const tasks = [];
|
|
1108
|
-
this._log(( localize(
|
|
1108
|
+
this._log(( localize(13339, "Fetching tasks from task storage.")), true);
|
|
1109
1109
|
function addTaskToMap(map, folder, task) {
|
|
1110
1110
|
if (folder && !( map.has(folder))) {
|
|
1111
1111
|
map.set(folder, []);
|
|
@@ -1120,7 +1120,7 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
1120
1120
|
const task = JSON.parse(entry[1]);
|
|
1121
1121
|
const folderInfo = this._getFolderFromTaskKey(key);
|
|
1122
1122
|
this._log(( localize(
|
|
1123
|
-
|
|
1123
|
+
13340,
|
|
1124
1124
|
"Reading tasks from task storage, {0}, {1}, {2}",
|
|
1125
1125
|
key,
|
|
1126
1126
|
task,
|
|
@@ -1132,7 +1132,7 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
1132
1132
|
task
|
|
1133
1133
|
);
|
|
1134
1134
|
} catch (error) {
|
|
1135
|
-
this._log(( localize(
|
|
1135
|
+
this._log(( localize(13341, "Fetching a task from task storage failed: {0}.", error)), true);
|
|
1136
1136
|
}
|
|
1137
1137
|
}
|
|
1138
1138
|
const readTasksMap = ( new Map());
|
|
@@ -1164,9 +1164,9 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
1164
1164
|
for (const key of ( storedTasks.keys())) {
|
|
1165
1165
|
if (( readTasksMap.has(key))) {
|
|
1166
1166
|
tasks.push(readTasksMap.get(key));
|
|
1167
|
-
this._log(( localize(
|
|
1167
|
+
this._log(( localize(13342, "Resolved task {0}", key)), true);
|
|
1168
1168
|
} else {
|
|
1169
|
-
this._log(( localize(
|
|
1169
|
+
this._log(( localize(13343, "Unable to resolve task {0} ", key)), true);
|
|
1170
1170
|
}
|
|
1171
1171
|
}
|
|
1172
1172
|
return tasks;
|
|
@@ -1177,7 +1177,7 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
1177
1177
|
}
|
|
1178
1178
|
}
|
|
1179
1179
|
removePersistentTask(key) {
|
|
1180
|
-
this._log(( localize(
|
|
1180
|
+
this._log(( localize(13344, "Removing persistent task {0}", key)), true);
|
|
1181
1181
|
if (this._getTasksFromStorage("persistent").delete(key)) {
|
|
1182
1182
|
this._savePersistentTasks();
|
|
1183
1183
|
}
|
|
@@ -1251,7 +1251,7 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
1251
1251
|
if (!task.configurationProperties.isBackground) {
|
|
1252
1252
|
return;
|
|
1253
1253
|
}
|
|
1254
|
-
this._log(( localize(
|
|
1254
|
+
this._log(( localize(13345, "Setting persistent task {0}", key)), true);
|
|
1255
1255
|
this._getTasksFromStorage("persistent").set(key, JSON.stringify(customizations));
|
|
1256
1256
|
this._savePersistentTasks();
|
|
1257
1257
|
}
|
|
@@ -1263,7 +1263,7 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
1263
1263
|
for (const key of keys) {
|
|
1264
1264
|
keyValues.push([key, this._persistentTasks.get(key, Touch.None)]);
|
|
1265
1265
|
}
|
|
1266
|
-
this._log(( localize(
|
|
1266
|
+
this._log(( localize(13346, "Saving persistent tasks: {0}", keys.join(", "))), true);
|
|
1267
1267
|
this._storageService.store(
|
|
1268
1268
|
AbstractTaskService_1.PersistentTasks_Key,
|
|
1269
1269
|
JSON.stringify(keyValues),
|
|
@@ -1312,24 +1312,24 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
1312
1312
|
if (test) {
|
|
1313
1313
|
if (this.schemaVersion === JsonSchemaVersion.V0_1_0) {
|
|
1314
1314
|
throw ( new TaskError(Severity.Info, ( localize(
|
|
1315
|
-
|
|
1315
|
+
13347,
|
|
1316
1316
|
"No test task defined. Mark a task with 'isTestCommand' in the tasks.json file."
|
|
1317
1317
|
)), TaskErrors.NoTestTask));
|
|
1318
1318
|
} else {
|
|
1319
1319
|
throw ( new TaskError(Severity.Info, ( localize(
|
|
1320
|
-
|
|
1320
|
+
13348,
|
|
1321
1321
|
"No test task defined. Mark a task with as a 'test' group in the tasks.json file."
|
|
1322
1322
|
)), TaskErrors.NoTestTask));
|
|
1323
1323
|
}
|
|
1324
1324
|
} else {
|
|
1325
1325
|
if (this.schemaVersion === JsonSchemaVersion.V0_1_0) {
|
|
1326
1326
|
throw ( new TaskError(Severity.Info, ( localize(
|
|
1327
|
-
|
|
1327
|
+
13349,
|
|
1328
1328
|
"No build task defined. Mark a task with 'isBuildCommand' in the tasks.json file."
|
|
1329
1329
|
)), TaskErrors.NoBuildTask));
|
|
1330
1330
|
} else {
|
|
1331
1331
|
throw ( new TaskError(Severity.Info, ( localize(
|
|
1332
|
-
|
|
1332
|
+
13350,
|
|
1333
1333
|
"No build task defined. Mark a task with as a 'build' group in the tasks.json file."
|
|
1334
1334
|
)), TaskErrors.NoBuildTask));
|
|
1335
1335
|
}
|
|
@@ -1349,7 +1349,7 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
1349
1349
|
return;
|
|
1350
1350
|
}
|
|
1351
1351
|
if (!task) {
|
|
1352
|
-
throw ( new TaskError(Severity.Info, ( localize(
|
|
1352
|
+
throw ( new TaskError(Severity.Info, ( localize(13351, "Task to execute is undefined")), TaskErrors.TaskNotFound));
|
|
1353
1353
|
}
|
|
1354
1354
|
const resolver = this._createResolver();
|
|
1355
1355
|
let executeTaskResult;
|
|
@@ -1462,7 +1462,7 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
1462
1462
|
});
|
|
1463
1463
|
entries.unshift({
|
|
1464
1464
|
type: "separator",
|
|
1465
|
-
label: ( localize(
|
|
1465
|
+
label: ( localize(13352, "associate"))
|
|
1466
1466
|
});
|
|
1467
1467
|
let taskType;
|
|
1468
1468
|
if (CustomTask.is(task)) {
|
|
@@ -1472,24 +1472,24 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
1472
1472
|
taskType = task.getDefinition().type;
|
|
1473
1473
|
}
|
|
1474
1474
|
entries.unshift({
|
|
1475
|
-
label: ( localize(
|
|
1475
|
+
label: ( localize(13353, "Continue without scanning the task output")),
|
|
1476
1476
|
matcher: undefined
|
|
1477
1477
|
}, {
|
|
1478
|
-
label: ( localize(
|
|
1478
|
+
label: ( localize(13354, "Never scan the task output for this task")),
|
|
1479
1479
|
matcher: undefined,
|
|
1480
1480
|
never: true
|
|
1481
1481
|
}, {
|
|
1482
|
-
label: ( localize(
|
|
1482
|
+
label: ( localize(13355, "Never scan the task output for {0} tasks", taskType)),
|
|
1483
1483
|
matcher: undefined,
|
|
1484
1484
|
setting: taskType
|
|
1485
1485
|
}, {
|
|
1486
|
-
label: ( localize(
|
|
1486
|
+
label: ( localize(13356, "Learn more about scanning the task output")),
|
|
1487
1487
|
matcher: undefined,
|
|
1488
1488
|
learnMore: true
|
|
1489
1489
|
});
|
|
1490
1490
|
const problemMatcher = await this._quickInputService.pick(entries, {
|
|
1491
1491
|
placeHolder: ( localize(
|
|
1492
|
-
|
|
1492
|
+
13357,
|
|
1493
1493
|
"Select for which kind of errors and warnings to scan the task output"
|
|
1494
1494
|
))
|
|
1495
1495
|
});
|
|
@@ -1679,7 +1679,7 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
1679
1679
|
const configuration = this._getConfiguration(workspaceFolder, task._source.kind);
|
|
1680
1680
|
if (configuration.hasParseErrors) {
|
|
1681
1681
|
this._notificationService.warn(( localize(
|
|
1682
|
-
|
|
1682
|
+
13358,
|
|
1683
1683
|
"The current task configuration has errors. Please fix the errors first before customizing a task."
|
|
1684
1684
|
)));
|
|
1685
1685
|
return Promise.resolve(undefined);
|
|
@@ -1704,7 +1704,7 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
1704
1704
|
tasks: [toCustomize]
|
|
1705
1705
|
};
|
|
1706
1706
|
let content = ["{", ( localize(
|
|
1707
|
-
|
|
1707
|
+
13359,
|
|
1708
1708
|
"\t// See https://go.microsoft.com/fwlink/?LinkId=733558 \n\t// for the documentation about the tasks.json format"
|
|
1709
1709
|
))].join("\n") + JSON.stringify(value, null, "\t").substr(1);
|
|
1710
1710
|
const editorConfig = this._configurationService.getValue();
|
|
@@ -1864,7 +1864,7 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
1864
1864
|
if (workspaceTasks.length > 0) {
|
|
1865
1865
|
if (workspaceTasks.length > 1) {
|
|
1866
1866
|
this._log(( localize(
|
|
1867
|
-
|
|
1867
|
+
13360,
|
|
1868
1868
|
"There are many build tasks defined in the tasks.json. Executing the first one."
|
|
1869
1869
|
)));
|
|
1870
1870
|
}
|
|
@@ -1997,17 +1997,17 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
1997
1997
|
const {
|
|
1998
1998
|
confirmed
|
|
1999
1999
|
} = await this._dialogService.confirm({
|
|
2000
|
-
message: ( localize(
|
|
2001
|
-
detail: ( localize(
|
|
2002
|
-
primaryButton: ( localize(
|
|
2003
|
-
cancelButton: ( localize(
|
|
2000
|
+
message: ( localize(13361, "Save all editors?")),
|
|
2001
|
+
detail: ( localize(13362, "Do you want to save all editors before running the task?")),
|
|
2002
|
+
primaryButton: ( localize(13363, "&&Save")),
|
|
2003
|
+
cancelButton: ( localize(13364, "Do&&n't Save"))
|
|
2004
2004
|
});
|
|
2005
2005
|
if (!confirmed) {
|
|
2006
2006
|
return false;
|
|
2007
2007
|
}
|
|
2008
2008
|
}
|
|
2009
2009
|
await this._editorService.saveAll({
|
|
2010
|
-
reason: SaveReason.
|
|
2010
|
+
reason: SaveReason.EXPLICIT
|
|
2011
2011
|
});
|
|
2012
2012
|
return true;
|
|
2013
2013
|
}
|
|
@@ -2047,7 +2047,7 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
2047
2047
|
this._handleInstancePolicy(executeResult.task, executeResult.task.runOptions.instancePolicy);
|
|
2048
2048
|
} else {
|
|
2049
2049
|
throw ( new TaskError(Severity.Warning, ( localize(
|
|
2050
|
-
|
|
2050
|
+
13365,
|
|
2051
2051
|
"There is already a task running. Terminate it first before executing another task."
|
|
2052
2052
|
)), TaskErrors.RunningTask));
|
|
2053
2053
|
}
|
|
@@ -2069,27 +2069,34 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
2069
2069
|
case InstancePolicy.silent:
|
|
2070
2070
|
break;
|
|
2071
2071
|
case InstancePolicy.warn:
|
|
2072
|
-
this._notificationService.warn(( localize(
|
|
2072
|
+
this._notificationService.warn(( localize(13366, "The instance limit for this task has been reached.")));
|
|
2073
2073
|
break;
|
|
2074
2074
|
case InstancePolicy.prompt:
|
|
2075
2075
|
default:
|
|
2076
|
-
|
|
2077
|
-
this.
|
|
2078
|
-
|
|
2079
|
-
|
|
2080
|
-
|
|
2081
|
-
task: undefined
|
|
2082
|
-
},
|
|
2083
|
-
false,
|
|
2084
|
-
true,
|
|
2085
|
-
undefined
|
|
2086
|
-
).then(entry => {
|
|
2087
|
-
const task = entry ? entry.task : undefined;
|
|
2088
|
-
if (task === undefined || task === null) {
|
|
2089
|
-
return;
|
|
2076
|
+
{
|
|
2077
|
+
if (this._environmentService.isSessionsWindow) {
|
|
2078
|
+
this._logService.warn(
|
|
2079
|
+
`[tasks] InstancePolicy.prompt hit in sessions window for task '${task._label}'\n${( new Error()).stack}`
|
|
2080
|
+
);
|
|
2090
2081
|
}
|
|
2091
|
-
this.
|
|
2092
|
-
|
|
2082
|
+
this._showQuickPick(
|
|
2083
|
+
this._taskSystem.getActiveTasks().filter(t => task._id === t._id),
|
|
2084
|
+
( localize(13367, "Select an instance to terminate")),
|
|
2085
|
+
{
|
|
2086
|
+
label: ( localize(13368, "No instance is currently running")),
|
|
2087
|
+
task: undefined
|
|
2088
|
+
},
|
|
2089
|
+
false,
|
|
2090
|
+
true,
|
|
2091
|
+
undefined
|
|
2092
|
+
).then(entry => {
|
|
2093
|
+
const task = entry ? entry.task : undefined;
|
|
2094
|
+
if (task === undefined || task === null) {
|
|
2095
|
+
return;
|
|
2096
|
+
}
|
|
2097
|
+
this._restart(task);
|
|
2098
|
+
});
|
|
2099
|
+
}
|
|
2093
2100
|
}
|
|
2094
2101
|
}
|
|
2095
2102
|
async _restart(task) {
|
|
@@ -2101,7 +2108,7 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
2101
2108
|
const response = await this._taskSystem.terminate(task);
|
|
2102
2109
|
if (!response.success) {
|
|
2103
2110
|
this._notificationService.warn(( localize(
|
|
2104
|
-
|
|
2111
|
+
13369,
|
|
2105
2112
|
"Failed to terminate and restart task {0}",
|
|
2106
2113
|
isString(task) ? task : task.configurationProperties.name
|
|
2107
2114
|
)));
|
|
@@ -2116,7 +2123,7 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
2116
2123
|
const success = await this.run(task);
|
|
2117
2124
|
if (!success || (typeof success.exitCode === "number" && success.exitCode !== 0)) {
|
|
2118
2125
|
this._notificationService.warn(( localize(
|
|
2119
|
-
|
|
2126
|
+
13370,
|
|
2120
2127
|
"Task {0} no longer exists or has been modified. Cannot restart.",
|
|
2121
2128
|
task.configurationProperties.name
|
|
2122
2129
|
)));
|
|
@@ -2282,7 +2289,7 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
2282
2289
|
for (const task of taskSet.tasks) {
|
|
2283
2290
|
if (task.type !== this._providerTypes.get(handle)) {
|
|
2284
2291
|
this._log(( localize(
|
|
2285
|
-
|
|
2292
|
+
13371,
|
|
2286
2293
|
"The task provider for \"{0}\" tasks unexpectedly provided a task of type \"{1}\".\n",
|
|
2287
2294
|
this._providerTypes.get(handle),
|
|
2288
2295
|
task.type
|
|
@@ -2424,13 +2431,13 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
2424
2431
|
}
|
|
2425
2432
|
if (requiredTaskProviderUnavailable) {
|
|
2426
2433
|
this._log(( localize(
|
|
2427
|
-
|
|
2434
|
+
13337,
|
|
2428
2435
|
"Warning: {0} tasks are unavailable in the current environment.",
|
|
2429
2436
|
configuringTask.configures.type
|
|
2430
2437
|
)));
|
|
2431
2438
|
} else if (!waitToActivate) {
|
|
2432
2439
|
this._log(( localize(
|
|
2433
|
-
|
|
2440
|
+
13372,
|
|
2434
2441
|
"Error: The {0} task detection didn't contribute a task for the following configuration:\n{1}\nThe task will be ignored.",
|
|
2435
2442
|
configuringTask.configures.type,
|
|
2436
2443
|
JSON.stringify(configuringTask._source.config.element, undefined, 4)
|
|
@@ -2566,7 +2573,7 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
2566
2573
|
}
|
|
2567
2574
|
if (problemReporter.status.isFatal()) {
|
|
2568
2575
|
problemReporter.fatal(( localize(
|
|
2569
|
-
|
|
2576
|
+
13373,
|
|
2570
2577
|
"Error: the provided task configuration has validation errors and can't not be used. Please correct the errors first."
|
|
2571
2578
|
)));
|
|
2572
2579
|
return {
|
|
@@ -2615,12 +2622,12 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
2615
2622
|
}
|
|
2616
2623
|
if (isAffected) {
|
|
2617
2624
|
this._log(( localize(
|
|
2618
|
-
|
|
2625
|
+
13374,
|
|
2619
2626
|
"Error: The content of the tasks json in {0} has syntax errors. Please correct them before executing a task.",
|
|
2620
2627
|
location
|
|
2621
2628
|
)));
|
|
2622
2629
|
this._showOutput(undefined, undefined, ( localize(
|
|
2623
|
-
|
|
2630
|
+
13374,
|
|
2624
2631
|
"Error: The content of the tasks json in {0} has syntax errors. Please correct them before executing a task.",
|
|
2625
2632
|
location
|
|
2626
2633
|
)));
|
|
@@ -2645,7 +2652,7 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
2645
2652
|
return this._emptyWorkspaceTaskResults(workspaceFolder);
|
|
2646
2653
|
}
|
|
2647
2654
|
const workspaceFileConfig = this._getConfiguration(workspaceFolder, TaskSourceKind.WorkspaceFile);
|
|
2648
|
-
const configuration = this._testParseExternalConfig(workspaceFileConfig.config, ( localize(
|
|
2655
|
+
const configuration = this._testParseExternalConfig(workspaceFileConfig.config, ( localize(13375, "workspace file")));
|
|
2649
2656
|
const customizedTasks = {
|
|
2650
2657
|
byIdentifier: Object.create(null)
|
|
2651
2658
|
};
|
|
@@ -2661,7 +2668,7 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
2661
2668
|
const engine = configuration.config ? ExecutionEngine$1.from(configuration.config) : ExecutionEngine.Terminal;
|
|
2662
2669
|
if (engine === ExecutionEngine.Process) {
|
|
2663
2670
|
this._notificationService.warn(( localize(
|
|
2664
|
-
|
|
2671
|
+
13376,
|
|
2665
2672
|
"Only tasks version 2.0.0 permitted in workspace configuration files."
|
|
2666
2673
|
)));
|
|
2667
2674
|
return this._emptyWorkspaceTaskResults(workspaceFolder);
|
|
@@ -2680,7 +2687,7 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
2680
2687
|
return this._emptyWorkspaceTaskResults(workspaceFolder);
|
|
2681
2688
|
}
|
|
2682
2689
|
const userTasksConfig = this._getConfiguration(workspaceFolder, TaskSourceKind.User);
|
|
2683
|
-
const configuration = this._testParseExternalConfig(userTasksConfig.config, ( localize(
|
|
2690
|
+
const configuration = this._testParseExternalConfig(userTasksConfig.config, ( localize(13377, "user settings")));
|
|
2684
2691
|
const customizedTasks = {
|
|
2685
2692
|
byIdentifier: Object.create(null)
|
|
2686
2693
|
};
|
|
@@ -2695,7 +2702,7 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
2695
2702
|
);
|
|
2696
2703
|
const engine = configuration.config ? ExecutionEngine$1.from(configuration.config) : ExecutionEngine.Terminal;
|
|
2697
2704
|
if (engine === ExecutionEngine.Process) {
|
|
2698
|
-
this._notificationService.warn(( localize(
|
|
2705
|
+
this._notificationService.warn(( localize(13378, "Only tasks version 2.0.0 permitted in user settings.")));
|
|
2699
2706
|
return this._emptyWorkspaceTaskResults(workspaceFolder);
|
|
2700
2707
|
}
|
|
2701
2708
|
return {
|
|
@@ -2752,7 +2759,7 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
2752
2759
|
}
|
|
2753
2760
|
if (problemReporter.status.isFatal()) {
|
|
2754
2761
|
problemReporter.fatal(( localize(
|
|
2755
|
-
|
|
2762
|
+
13373,
|
|
2756
2763
|
"Error: the provided task configuration has validation errors and can't not be used. Please correct the errors first."
|
|
2757
2764
|
)));
|
|
2758
2765
|
return hasErrors;
|
|
@@ -2801,7 +2808,7 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
2801
2808
|
} else {
|
|
2802
2809
|
ignoredWorkspaceFolders.push(workspaceFolder);
|
|
2803
2810
|
this._log(( localize(
|
|
2804
|
-
|
|
2811
|
+
13379,
|
|
2805
2812
|
"Ignoring task configurations for workspace folder {0}. Multi folder workspace task support requires that all folders use task version 2.0.0",
|
|
2806
2813
|
workspaceFolder.uri.fsPath
|
|
2807
2814
|
)));
|
|
@@ -2881,11 +2888,11 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
2881
2888
|
}
|
|
2882
2889
|
if (isAffected) {
|
|
2883
2890
|
this._log(( localize(
|
|
2884
|
-
|
|
2891
|
+
13380,
|
|
2885
2892
|
"Error: The content of the tasks.json file has syntax errors. Please correct them before executing a task."
|
|
2886
2893
|
)));
|
|
2887
2894
|
this._showOutput(undefined, undefined, ( localize(
|
|
2888
|
-
|
|
2895
|
+
13380,
|
|
2889
2896
|
"Error: The content of the tasks.json file has syntax errors. Please correct them before executing a task."
|
|
2890
2897
|
)));
|
|
2891
2898
|
return {
|
|
@@ -2930,7 +2937,7 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
2930
2937
|
const needsTerminate = buildError.code === TaskErrors.RunningTask;
|
|
2931
2938
|
if (needsConfig || needsTerminate) {
|
|
2932
2939
|
this._notificationService.prompt(buildError.severity, buildError.message, [{
|
|
2933
|
-
label: needsConfig ? ConfigureTaskAction.TEXT.value : ( localize(
|
|
2940
|
+
label: needsConfig ? ConfigureTaskAction.TEXT.value : ( localize(13381, "Terminate Task")),
|
|
2934
2941
|
run: () => {
|
|
2935
2942
|
if (needsConfig) {
|
|
2936
2943
|
this._runConfigureTasks();
|
|
@@ -2953,7 +2960,7 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
2953
2960
|
this._notificationService.error(err);
|
|
2954
2961
|
} else {
|
|
2955
2962
|
this._notificationService.error(( localize(
|
|
2956
|
-
|
|
2963
|
+
13382,
|
|
2957
2964
|
"An error has occurred while running a task. See task log for details."
|
|
2958
2965
|
)));
|
|
2959
2966
|
}
|
|
@@ -2998,7 +3005,7 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
2998
3005
|
const entry = TaskQuickPickEntry(task);
|
|
2999
3006
|
entry.buttons = [{
|
|
3000
3007
|
iconClass: ThemeIcon.asClassName(configureTaskIcon),
|
|
3001
|
-
tooltip: ( localize(
|
|
3008
|
+
tooltip: ( localize(13383, "Configure Task"))
|
|
3002
3009
|
}];
|
|
3003
3010
|
if (selectedEntry && (task === selectedEntry.task)) {
|
|
3004
3011
|
entries.unshift(selectedEntry);
|
|
@@ -3047,12 +3054,12 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
3047
3054
|
}
|
|
3048
3055
|
const sorter = this.createSorter();
|
|
3049
3056
|
if (includeRecents) {
|
|
3050
|
-
fillEntries(entries, recent, ( localize(
|
|
3057
|
+
fillEntries(entries, recent, ( localize(13384, "recently used tasks")));
|
|
3051
3058
|
}
|
|
3052
3059
|
configured = configured.sort((a, b) => sorter.compare(a, b));
|
|
3053
|
-
fillEntries(entries, configured, ( localize(
|
|
3060
|
+
fillEntries(entries, configured, ( localize(13385, "configured tasks")));
|
|
3054
3061
|
detected = detected.sort((a, b) => sorter.compare(a, b));
|
|
3055
|
-
fillEntries(entries, detected, ( localize(
|
|
3062
|
+
fillEntries(entries, detected, ( localize(13386, "detected tasks")));
|
|
3056
3063
|
}
|
|
3057
3064
|
} else {
|
|
3058
3065
|
if (sort) {
|
|
@@ -3146,11 +3153,11 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
3146
3153
|
return Promise.resolve(undefined);
|
|
3147
3154
|
}
|
|
3148
3155
|
this._notificationService.prompt(Severity.Info, ( localize(
|
|
3149
|
-
|
|
3156
|
+
13387,
|
|
3150
3157
|
"The following workspace folders are ignored since they use task version 0.1.0: {0}",
|
|
3151
3158
|
( this.ignoredWorkspaceFolders.map(f => f.name)).join(", ")
|
|
3152
3159
|
)), [{
|
|
3153
|
-
label: ( localize(
|
|
3160
|
+
label: ( localize(13388, "Don't Show Again")),
|
|
3154
3161
|
isSecondary: true,
|
|
3155
3162
|
run: () => {
|
|
3156
3163
|
this._storageService.store(
|
|
@@ -3173,7 +3180,7 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
3173
3180
|
if (!this._workspaceTrustManagementService.isWorkspaceTrusted()) {
|
|
3174
3181
|
return (await this._workspaceTrustRequestService.requestWorkspaceTrust({
|
|
3175
3182
|
message: ( localize(
|
|
3176
|
-
|
|
3183
|
+
13389,
|
|
3177
3184
|
"Listing and running tasks requires that some of the files in this workspace be executed as code."
|
|
3178
3185
|
))
|
|
3179
3186
|
})) === true;
|
|
@@ -3272,7 +3279,7 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
3272
3279
|
}, TaskRunSource.User).then(undefined, reason => {});
|
|
3273
3280
|
}
|
|
3274
3281
|
};
|
|
3275
|
-
const placeholder = ( localize(
|
|
3282
|
+
const placeholder = ( localize(13390, "Select the task to run"));
|
|
3276
3283
|
this._showIgnoredFoldersMessage().then(() => {
|
|
3277
3284
|
if (this._configurationService.getValue(USE_SLOW_PICKER)) {
|
|
3278
3285
|
let taskResult = undefined;
|
|
@@ -3280,14 +3287,14 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
3280
3287
|
taskResult = this._tasksAndGroupedTasks();
|
|
3281
3288
|
}
|
|
3282
3289
|
this._showQuickPick(tasks ? tasks : taskResult.tasks, placeholder, {
|
|
3283
|
-
label: "$(plus) " + ( localize(
|
|
3290
|
+
label: "$(plus) " + ( localize(13391, "Configure a Task")),
|
|
3284
3291
|
task: null
|
|
3285
3292
|
}, true, undefined, undefined, undefined, name).then(entry => {
|
|
3286
3293
|
return pickThen(entry ? entry.task : undefined);
|
|
3287
3294
|
});
|
|
3288
3295
|
} else {
|
|
3289
3296
|
this._showTwoLevelQuickPick(placeholder, {
|
|
3290
|
-
label: "$(plus) " + ( localize(
|
|
3297
|
+
label: "$(plus) " + ( localize(13391, "Configure a Task")),
|
|
3291
3298
|
task: null
|
|
3292
3299
|
}, type, name).then(pickThen);
|
|
3293
3300
|
}
|
|
@@ -3304,7 +3311,7 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
3304
3311
|
_reRunTaskCommand(onlyRerun) {
|
|
3305
3312
|
ProblemMatcherRegistry.onReady().then(() => {
|
|
3306
3313
|
return this._editorService.saveAll({
|
|
3307
|
-
reason: SaveReason.
|
|
3314
|
+
reason: SaveReason.EXPLICIT
|
|
3308
3315
|
}).then(() => {
|
|
3309
3316
|
const executeResult = this._getTaskSystem().rerun();
|
|
3310
3317
|
if (executeResult) {
|
|
@@ -3451,16 +3458,16 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
3451
3458
|
return;
|
|
3452
3459
|
}
|
|
3453
3460
|
return this._runTaskGroupCommand(TaskGroup.Build, {
|
|
3454
|
-
fetching: ( localize(
|
|
3455
|
-
select: ( localize(
|
|
3456
|
-
notFoundConfigure: ( localize(
|
|
3461
|
+
fetching: ( localize(13392, "Fetching build tasks...")),
|
|
3462
|
+
select: ( localize(13393, "Select the build task to run")),
|
|
3463
|
+
notFoundConfigure: ( localize(13394, "No build task to run found. Configure Build Task..."))
|
|
3457
3464
|
}, this._runConfigureDefaultBuildTask, this._build);
|
|
3458
3465
|
}
|
|
3459
3466
|
_runTestCommand() {
|
|
3460
3467
|
return this._runTaskGroupCommand(TaskGroup.Test, {
|
|
3461
|
-
fetching: ( localize(
|
|
3462
|
-
select: ( localize(
|
|
3463
|
-
notFoundConfigure: ( localize(
|
|
3468
|
+
fetching: ( localize(13395, "Fetching test tasks...")),
|
|
3469
|
+
select: ( localize(13396, "Select the test task to run")),
|
|
3470
|
+
notFoundConfigure: ( localize(13397, "No test task to run found. Configure Tasks..."))
|
|
3464
3471
|
}, this._runConfigureDefaultTestTask, this._runTest);
|
|
3465
3472
|
}
|
|
3466
3473
|
_runTerminateCommand(arg) {
|
|
@@ -3469,11 +3476,11 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
3469
3476
|
return;
|
|
3470
3477
|
}
|
|
3471
3478
|
const runQuickPick = promise => {
|
|
3472
|
-
this._showQuickPick(promise || this.getActiveTasks(), ( localize(
|
|
3473
|
-
label: ( localize(
|
|
3479
|
+
this._showQuickPick(promise || this.getActiveTasks(), ( localize(13398, "Select a task to terminate")), {
|
|
3480
|
+
label: ( localize(13399, "No task is currently running")),
|
|
3474
3481
|
task: undefined
|
|
3475
3482
|
}, false, true, undefined, [{
|
|
3476
|
-
label: ( localize(
|
|
3483
|
+
label: ( localize(13400, "All Running Tasks")),
|
|
3477
3484
|
id: "terminateAll",
|
|
3478
3485
|
task: undefined
|
|
3479
3486
|
}]).then(entry => {
|
|
@@ -3514,11 +3521,11 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
3514
3521
|
}
|
|
3515
3522
|
if (response.code && response.code === TerminateResponseCode.ProcessNotFound) {
|
|
3516
3523
|
this._notificationService.error(( localize(
|
|
3517
|
-
|
|
3524
|
+
13401,
|
|
3518
3525
|
"The launched process doesn't exist anymore. If the task spawned background tasks exiting VS Code might result in orphaned processes."
|
|
3519
3526
|
)));
|
|
3520
3527
|
} else {
|
|
3521
|
-
this._notificationService.error(( localize(
|
|
3528
|
+
this._notificationService.error(( localize(13402, "Failed to terminate running task")));
|
|
3522
3529
|
}
|
|
3523
3530
|
});
|
|
3524
3531
|
}
|
|
@@ -3541,8 +3548,8 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
3541
3548
|
}
|
|
3542
3549
|
}
|
|
3543
3550
|
}
|
|
3544
|
-
const entry = await this._showQuickPick(activeTasks, ( localize(
|
|
3545
|
-
label: ( localize(
|
|
3551
|
+
const entry = await this._showQuickPick(activeTasks, ( localize(13403, "Select the task to restart")), {
|
|
3552
|
+
label: ( localize(13404, "No task to restart")),
|
|
3546
3553
|
task: null
|
|
3547
3554
|
}, false, true);
|
|
3548
3555
|
if (entry && entry.task) {
|
|
@@ -3557,7 +3564,7 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
3557
3564
|
async _runRerunAllRunningTasksCommand() {
|
|
3558
3565
|
const activeTasks = await this.getActiveTasks();
|
|
3559
3566
|
if (activeTasks.length === 0) {
|
|
3560
|
-
this._notificationService.info(( localize(
|
|
3567
|
+
this._notificationService.info(( localize(13405, "No running tasks to restart")));
|
|
3561
3568
|
return;
|
|
3562
3569
|
}
|
|
3563
3570
|
const restartPromises = ( activeTasks.map(task => this._restart(task)));
|
|
@@ -3600,7 +3607,7 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
3600
3607
|
let content;
|
|
3601
3608
|
if (!tasksExistInFile) {
|
|
3602
3609
|
const pickTemplateResult = await this._quickInputService.pick(getTemplates(), {
|
|
3603
|
-
placeHolder: ( localize(
|
|
3610
|
+
placeHolder: ( localize(13406, "Select a Task Template"))
|
|
3604
3611
|
});
|
|
3605
3612
|
if (!pickTemplateResult) {
|
|
3606
3613
|
return Promise.resolve(undefined);
|
|
@@ -3683,7 +3690,7 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
3683
3690
|
getTaskDescription(task) {
|
|
3684
3691
|
let description;
|
|
3685
3692
|
if (task._source.kind === TaskSourceKind.User) {
|
|
3686
|
-
description = ( localize(
|
|
3693
|
+
description = ( localize(13407, "User"));
|
|
3687
3694
|
} else if (task._source.kind === TaskSourceKind.WorkspaceFile) {
|
|
3688
3695
|
description = task.getWorkspaceFileName();
|
|
3689
3696
|
} else if (this.needsFolderQualification()) {
|
|
@@ -3707,8 +3714,8 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
3707
3714
|
const stats = ( this._contextService.getWorkspace().folders.map(folder => {
|
|
3708
3715
|
return this._fileService.stat(folder.toResource(".vscode/tasks.json")).then(stat => stat, () => undefined);
|
|
3709
3716
|
}));
|
|
3710
|
-
const createLabel = ( localize(
|
|
3711
|
-
const openLabel = ( localize(
|
|
3717
|
+
const createLabel = ( localize(13408, "Create tasks.json file from template"));
|
|
3718
|
+
const openLabel = ( localize(13409, "Open tasks.json file"));
|
|
3712
3719
|
const tokenSource = ( new CancellationTokenSource());
|
|
3713
3720
|
const cancellationToken = tokenSource.token;
|
|
3714
3721
|
const entries = Promise.all(stats).then(stats => {
|
|
@@ -3771,7 +3778,7 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
3771
3778
|
return resolvedEntries;
|
|
3772
3779
|
});
|
|
3773
3780
|
this._quickInputService.pick(entriesWithSettings, {
|
|
3774
|
-
placeHolder: ( localize(
|
|
3781
|
+
placeHolder: ( localize(13410, "Select a task to configure"))
|
|
3775
3782
|
}, cancellationToken).then(async selection => {
|
|
3776
3783
|
if (cancellationToken.isCancellationRequested) {
|
|
3777
3784
|
const task = (await entries)[0];
|
|
@@ -3814,7 +3821,7 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
3814
3821
|
for (const task of tasks) {
|
|
3815
3822
|
if (task === defaultBuildTask) {
|
|
3816
3823
|
const label = ( localize(
|
|
3817
|
-
|
|
3824
|
+
13411,
|
|
3818
3825
|
"{0} is already marked as the default build task",
|
|
3819
3826
|
TaskQuickPick.getTaskLabelWithIcon(task, task.getQualifiedLabel())
|
|
3820
3827
|
));
|
|
@@ -3843,7 +3850,7 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
3843
3850
|
const tokenSource = ( new CancellationTokenSource());
|
|
3844
3851
|
const cancellationToken = tokenSource.token;
|
|
3845
3852
|
this._quickInputService.pick(entries, {
|
|
3846
|
-
placeHolder: ( localize(
|
|
3853
|
+
placeHolder: ( localize(13410, "Select a task to configure"))
|
|
3847
3854
|
}, cancellationToken).then(async entry => {
|
|
3848
3855
|
if (cancellationToken.isCancellationRequested) {
|
|
3849
3856
|
const task = (await entries)[0];
|
|
@@ -3874,7 +3881,7 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
3874
3881
|
}
|
|
3875
3882
|
});
|
|
3876
3883
|
this._quickInputService.pick(entries, {
|
|
3877
|
-
placeHolder: ( localize(
|
|
3884
|
+
placeHolder: ( localize(13412, "Select the task to be used as the default build task"))
|
|
3878
3885
|
}).then(entry => {
|
|
3879
3886
|
const task = entry && Object.hasOwn(entry, "task") ? entry.task : undefined;
|
|
3880
3887
|
if ((task === undefined) || (task === null)) {
|
|
@@ -3923,7 +3930,7 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
3923
3930
|
if (selectedTask) {
|
|
3924
3931
|
selectedEntry = {
|
|
3925
3932
|
label: ( localize(
|
|
3926
|
-
|
|
3933
|
+
13413,
|
|
3927
3934
|
"{0} is already marked as the default test task.",
|
|
3928
3935
|
selectedTask.getQualifiedLabel()
|
|
3929
3936
|
)),
|
|
@@ -3932,7 +3939,7 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
3932
3939
|
};
|
|
3933
3940
|
}
|
|
3934
3941
|
this._showIgnoredFoldersMessage().then(() => {
|
|
3935
|
-
this._showQuickPick(tasks, ( localize(
|
|
3942
|
+
this._showQuickPick(tasks, ( localize(13414, "Select the task to be used as the default test task")), undefined, true, false, selectedEntry).then(entry => {
|
|
3936
3943
|
const task = entry && Object.hasOwn(entry, "task") ? entry.task : undefined;
|
|
3937
3944
|
if (!task) {
|
|
3938
3945
|
return;
|
|
@@ -3978,8 +3985,8 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
3978
3985
|
})) {
|
|
3979
3986
|
this._taskSystem.revealTask(activeTasks[0]);
|
|
3980
3987
|
} else {
|
|
3981
|
-
this._showQuickPick(activeTasksPromise, ( localize(
|
|
3982
|
-
label: ( localize(
|
|
3988
|
+
this._showQuickPick(activeTasksPromise, ( localize(13415, "Select the task to show its output")), {
|
|
3989
|
+
label: ( localize(13416, "No task is running")),
|
|
3983
3990
|
task: null
|
|
3984
3991
|
}, false, true).then(entry => {
|
|
3985
3992
|
const task = entry ? entry.task : undefined;
|
|
@@ -4131,13 +4138,13 @@ let AbstractTaskService = class AbstractTaskService extends Disposable {
|
|
|
4131
4138
|
}
|
|
4132
4139
|
this._updateSetup();
|
|
4133
4140
|
this._notificationService.prompt(Severity.Warning, fileDiffs.length === 1 ? ( localize(
|
|
4134
|
-
|
|
4141
|
+
13417,
|
|
4135
4142
|
"The deprecated tasks version 0.1.0 has been removed. Your tasks have been upgraded to version 2.0.0. Open the diff to review the upgrade."
|
|
4136
4143
|
)) : ( localize(
|
|
4137
|
-
|
|
4144
|
+
13418,
|
|
4138
4145
|
"The deprecated tasks version 0.1.0 has been removed. Your tasks have been upgraded to version 2.0.0. Open the diffs to review the upgrade."
|
|
4139
4146
|
)), [{
|
|
4140
|
-
label: fileDiffs.length === 1 ? ( localize(
|
|
4147
|
+
label: fileDiffs.length === 1 ? ( localize(13419, "Open diff")) : ( localize(13420, "Open diffs")),
|
|
4141
4148
|
run: async () => {
|
|
4142
4149
|
for (const upgrade of fileDiffs) {
|
|
4143
4150
|
await this._editorService.openEditor({
|