@codingame/monaco-vscode-user-data-profile-service-override 8.0.3 → 8.0.4
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
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codingame/monaco-vscode-user-data-profile-service-override",
|
|
3
|
-
"version": "8.0.
|
|
3
|
+
"version": "8.0.4",
|
|
4
4
|
"keywords": [],
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "CodinGame",
|
|
@@ -26,6 +26,6 @@
|
|
|
26
26
|
}
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"vscode": "npm:@codingame/monaco-vscode-api@8.0.
|
|
29
|
+
"vscode": "npm:@codingame/monaco-vscode-api@8.0.4"
|
|
30
30
|
}
|
|
31
31
|
}
|
|
@@ -145,7 +145,7 @@ let UserDataProfileImportExportService = class UserDataProfileImportExportServic
|
|
|
145
145
|
await this.importProfile(uri);
|
|
146
146
|
}
|
|
147
147
|
catch (error) {
|
|
148
|
-
this.notificationService.error(( localize(
|
|
148
|
+
this.notificationService.error(( localize(3668, "Error while importing profile: {0}", getErrorMessage(error))));
|
|
149
149
|
}
|
|
150
150
|
return true;
|
|
151
151
|
}
|
|
@@ -181,7 +181,7 @@ let UserDataProfileImportExportService = class UserDataProfileImportExportServic
|
|
|
181
181
|
const profileTemplate = await this.progressService.withProgress({
|
|
182
182
|
location: ProgressLocation.Window,
|
|
183
183
|
command: showWindowLogActionId,
|
|
184
|
-
title: ( localize(
|
|
184
|
+
title: ( localize(3669, "{0}: Resolving profile content...", options?.mode ? ( localize(3670, "Preview Profile")) : ( localize(3671, "Create Profile")))),
|
|
185
185
|
}, () => this.resolveProfileTemplate(uri, options));
|
|
186
186
|
if (!profileTemplate) {
|
|
187
187
|
return;
|
|
@@ -190,7 +190,7 @@ let UserDataProfileImportExportService = class UserDataProfileImportExportServic
|
|
|
190
190
|
await this.previewProfile(profileTemplate, options);
|
|
191
191
|
}
|
|
192
192
|
else if (mode === 'apply') {
|
|
193
|
-
await this.createAndSwitch(profileTemplate, !!options?.transient, true, options, ( localize(
|
|
193
|
+
await this.createAndSwitch(profileTemplate, !!options?.transient, true, options, ( localize(3672, "Create Profile")));
|
|
194
194
|
}
|
|
195
195
|
else if (mode === 'both') {
|
|
196
196
|
await this.importAndPreviewProfile(uri, profileTemplate, options);
|
|
@@ -217,7 +217,7 @@ let UserDataProfileImportExportService = class UserDataProfileImportExportServic
|
|
|
217
217
|
sticky: true,
|
|
218
218
|
cancellable: true,
|
|
219
219
|
}, async (progress) => {
|
|
220
|
-
const reportProgress = (message) => progress.report({ message: ( localize(
|
|
220
|
+
const reportProgress = (message) => progress.report({ message: ( localize(3673, "Create Profile: {0}", message)) });
|
|
221
221
|
creationPromise = createCancelablePromise(async (token) => {
|
|
222
222
|
const userDataProfilesExportState = disposables.add(this.instantiationService.createInstance(UserDataProfileExportState, from, { ...options?.resourceTypeFlags, extensions: false }));
|
|
223
223
|
const profileTemplate = await userDataProfilesExportState.getProfileTemplate(options.name ?? from.name, options?.icon);
|
|
@@ -233,7 +233,7 @@ let UserDataProfileImportExportService = class UserDataProfileImportExportServic
|
|
|
233
233
|
try {
|
|
234
234
|
await creationPromise;
|
|
235
235
|
if (profile && (options?.resourceTypeFlags?.extensions ?? true)) {
|
|
236
|
-
reportProgress(( localize(
|
|
236
|
+
reportProgress(( localize(3674, "Installing Extensions...")));
|
|
237
237
|
await this.instantiationService.createInstance(ExtensionsResource).copy(from, profile, false);
|
|
238
238
|
}
|
|
239
239
|
}
|
|
@@ -257,7 +257,7 @@ let UserDataProfileImportExportService = class UserDataProfileImportExportServic
|
|
|
257
257
|
sticky: true,
|
|
258
258
|
cancellable: true,
|
|
259
259
|
}, async (progress) => {
|
|
260
|
-
const reportProgress = (message) => progress.report({ message: ( localize(
|
|
260
|
+
const reportProgress = (message) => progress.report({ message: ( localize(3673, "Create Profile: {0}", message)) });
|
|
261
261
|
creationPromise = createCancelablePromise(async (token) => {
|
|
262
262
|
profile = await this.getProfileToImport({ ...profileTemplate, name: options.name ?? profileTemplate.name }, !!options.transient, options);
|
|
263
263
|
if (!profile) {
|
|
@@ -282,42 +282,42 @@ let UserDataProfileImportExportService = class UserDataProfileImportExportServic
|
|
|
282
282
|
}
|
|
283
283
|
async applyProfileTemplate(profileTemplate, profile, options, reportProgress, token) {
|
|
284
284
|
if (profileTemplate.settings && (options.resourceTypeFlags?.settings ?? true) && !profile.useDefaultFlags?.settings) {
|
|
285
|
-
reportProgress(( localize(
|
|
285
|
+
reportProgress(( localize(3675, "Creating Settings...")));
|
|
286
286
|
await this.instantiationService.createInstance(SettingsResource).apply(profileTemplate.settings, profile);
|
|
287
287
|
}
|
|
288
288
|
if (token.isCancellationRequested) {
|
|
289
289
|
return;
|
|
290
290
|
}
|
|
291
291
|
if (profileTemplate.keybindings && (options.resourceTypeFlags?.keybindings ?? true) && !profile.useDefaultFlags?.keybindings) {
|
|
292
|
-
reportProgress(( localize(
|
|
292
|
+
reportProgress(( localize(3676, "Creating Keyboard Shortcuts...")));
|
|
293
293
|
await this.instantiationService.createInstance(KeybindingsResource).apply(profileTemplate.keybindings, profile);
|
|
294
294
|
}
|
|
295
295
|
if (token.isCancellationRequested) {
|
|
296
296
|
return;
|
|
297
297
|
}
|
|
298
298
|
if (profileTemplate.tasks && (options.resourceTypeFlags?.tasks ?? true) && !profile.useDefaultFlags?.tasks) {
|
|
299
|
-
reportProgress(( localize(
|
|
299
|
+
reportProgress(( localize(3677, "Creating Tasks...")));
|
|
300
300
|
await this.instantiationService.createInstance(TasksResource).apply(profileTemplate.tasks, profile);
|
|
301
301
|
}
|
|
302
302
|
if (token.isCancellationRequested) {
|
|
303
303
|
return;
|
|
304
304
|
}
|
|
305
305
|
if (profileTemplate.snippets && (options.resourceTypeFlags?.snippets ?? true) && !profile.useDefaultFlags?.snippets) {
|
|
306
|
-
reportProgress(( localize(
|
|
306
|
+
reportProgress(( localize(3678, "Creating Snippets...")));
|
|
307
307
|
await this.instantiationService.createInstance(SnippetsResource).apply(profileTemplate.snippets, profile);
|
|
308
308
|
}
|
|
309
309
|
if (token.isCancellationRequested) {
|
|
310
310
|
return;
|
|
311
311
|
}
|
|
312
312
|
if (profileTemplate.globalState && !profile.useDefaultFlags?.globalState) {
|
|
313
|
-
reportProgress(( localize(
|
|
313
|
+
reportProgress(( localize(3679, "Applying UI State...")));
|
|
314
314
|
await this.instantiationService.createInstance(GlobalStateResource).apply(profileTemplate.globalState, profile);
|
|
315
315
|
}
|
|
316
316
|
if (token.isCancellationRequested) {
|
|
317
317
|
return;
|
|
318
318
|
}
|
|
319
319
|
if (profileTemplate.extensions && (options.resourceTypeFlags?.extensions ?? true) && !profile.useDefaultFlags?.extensions) {
|
|
320
|
-
reportProgress(( localize(
|
|
320
|
+
reportProgress(( localize(3674, "Installing Extensions...")));
|
|
321
321
|
await this.instantiationService.createInstance(ExtensionsResource).apply(profileTemplate.extensions, profile, reportProgress, token);
|
|
322
322
|
}
|
|
323
323
|
}
|
|
@@ -330,16 +330,16 @@ let UserDataProfileImportExportService = class UserDataProfileImportExportServic
|
|
|
330
330
|
this.telemetryService.publicLog2('userDataProfile.startCreate', createProfileTelemetryData);
|
|
331
331
|
}
|
|
332
332
|
const disposables = ( (new DisposableStore()));
|
|
333
|
-
const title = profile ? ( localize(
|
|
334
|
-
const settings = { id: ProfileResourceType.Settings, label: ( localize(
|
|
335
|
-
const keybindings = { id: ProfileResourceType.Keybindings, label: ( localize(
|
|
336
|
-
const snippets = { id: ProfileResourceType.Snippets, label: ( localize(
|
|
337
|
-
const tasks = { id: ProfileResourceType.Tasks, label: ( localize(
|
|
338
|
-
const extensions = { id: ProfileResourceType.Extensions, label: ( localize(
|
|
333
|
+
const title = profile ? ( localize(3680, "Edit {0} Profile...", profile.name)) : ( localize(3681, "Create New Profile..."));
|
|
334
|
+
const settings = { id: ProfileResourceType.Settings, label: ( localize(3682, "Settings")), picked: !profile?.useDefaultFlags?.settings };
|
|
335
|
+
const keybindings = { id: ProfileResourceType.Keybindings, label: ( localize(3683, "Keyboard Shortcuts")), picked: !profile?.useDefaultFlags?.keybindings };
|
|
336
|
+
const snippets = { id: ProfileResourceType.Snippets, label: ( localize(3684, "Snippets")), picked: !profile?.useDefaultFlags?.snippets };
|
|
337
|
+
const tasks = { id: ProfileResourceType.Tasks, label: ( localize(3685, "Tasks")), picked: !profile?.useDefaultFlags?.tasks };
|
|
338
|
+
const extensions = { id: ProfileResourceType.Extensions, label: ( localize(3686, "Extensions")), picked: !profile?.useDefaultFlags?.extensions };
|
|
339
339
|
const resources = [settings, keybindings, snippets, tasks, extensions];
|
|
340
340
|
const quickPick = this.quickInputService.createQuickPick();
|
|
341
341
|
quickPick.title = title;
|
|
342
|
-
quickPick.placeholder = ( localize(
|
|
342
|
+
quickPick.placeholder = ( localize(3687, "Profile name"));
|
|
343
343
|
quickPick.value = profile?.name ?? (isUserDataProfileTemplate(source) ? this.generateProfileName(source.name) : '');
|
|
344
344
|
quickPick.canSelectMany = true;
|
|
345
345
|
quickPick.matchOnDescription = false;
|
|
@@ -351,8 +351,8 @@ let UserDataProfileImportExportService = class UserDataProfileImportExportServic
|
|
|
351
351
|
quickPick.customButton = true;
|
|
352
352
|
quickPick.hideCheckAll = true;
|
|
353
353
|
quickPick.ignoreFocusOut = true;
|
|
354
|
-
quickPick.customLabel = profile ? ( localize(
|
|
355
|
-
quickPick.description = ( localize(
|
|
354
|
+
quickPick.customLabel = profile ? ( localize(3688, "Save")) : ( localize(3689, "Create"));
|
|
355
|
+
quickPick.description = ( localize(3690, "Choose what to configure in your Profile:"));
|
|
356
356
|
quickPick.items = [...resources];
|
|
357
357
|
const update = () => {
|
|
358
358
|
quickPick.items = resources;
|
|
@@ -361,12 +361,12 @@ let UserDataProfileImportExportService = class UserDataProfileImportExportServic
|
|
|
361
361
|
update();
|
|
362
362
|
const validate = () => {
|
|
363
363
|
if (!profile && ( (this.userDataProfilesService.profiles.some(p => p.name === quickPick.value)))) {
|
|
364
|
-
quickPick.validationMessage = ( localize(
|
|
364
|
+
quickPick.validationMessage = ( localize(3691, "Profile with name {0} already exists.", quickPick.value));
|
|
365
365
|
quickPick.severity = Severity$1.Warning;
|
|
366
366
|
return;
|
|
367
367
|
}
|
|
368
368
|
if (resources.every(resource => !resource.picked)) {
|
|
369
|
-
quickPick.validationMessage = ( localize(
|
|
369
|
+
quickPick.validationMessage = ( localize(3692, "The profile should contain at least one configuration."));
|
|
370
370
|
quickPick.severity = Severity$1.Warning;
|
|
371
371
|
return;
|
|
372
372
|
}
|
|
@@ -377,7 +377,7 @@ let UserDataProfileImportExportService = class UserDataProfileImportExportServic
|
|
|
377
377
|
let needUpdate = false;
|
|
378
378
|
for (const resource of resources) {
|
|
379
379
|
resource.picked = items.includes(resource);
|
|
380
|
-
const description = resource.picked ? undefined : ( localize(
|
|
380
|
+
const description = resource.picked ? undefined : ( localize(3693, "Using Default Profile"));
|
|
381
381
|
if (resource.description !== description) {
|
|
382
382
|
resource.description = description;
|
|
383
383
|
needUpdate = true;
|
|
@@ -403,7 +403,7 @@ let UserDataProfileImportExportService = class UserDataProfileImportExportServic
|
|
|
403
403
|
disposables.add(Event.any(quickPick.onDidCustom, quickPick.onDidAccept)(() => {
|
|
404
404
|
const name = quickPick.value.trim();
|
|
405
405
|
if (!name) {
|
|
406
|
-
quickPick.validationMessage = ( localize(
|
|
406
|
+
quickPick.validationMessage = ( localize(3694, "Profile name is required and must be a non-empty value."));
|
|
407
407
|
quickPick.severity = Severity$1.Error;
|
|
408
408
|
}
|
|
409
409
|
if (quickPick.validationMessage) {
|
|
@@ -416,11 +416,11 @@ let UserDataProfileImportExportService = class UserDataProfileImportExportServic
|
|
|
416
416
|
}));
|
|
417
417
|
const domNode = $('.profile-edit-widget');
|
|
418
418
|
const profileIconContainer = $('.profile-icon-container');
|
|
419
|
-
append(profileIconContainer, $('.profile-icon-label', undefined, ( localize(
|
|
419
|
+
append(profileIconContainer, $('.profile-icon-label', undefined, ( localize(3695, "Icon:"))));
|
|
420
420
|
const profileIconElement = append(profileIconContainer, $(`.profile-icon${ThemeIcon.asCSSSelector(icon)}`));
|
|
421
421
|
profileIconElement.tabIndex = 0;
|
|
422
422
|
profileIconElement.role = 'button';
|
|
423
|
-
profileIconElement.ariaLabel = ( localize(
|
|
423
|
+
profileIconElement.ariaLabel = ( localize(3696, "Icon: {0}", icon.id));
|
|
424
424
|
const iconSelectBox = disposables.add(this.instantiationService.createInstance(WorkbenchIconSelectBox, { icons: ICONS, inputBoxStyles: defaultInputBoxStyles }));
|
|
425
425
|
const dimension = new Dimension(486, 260);
|
|
426
426
|
iconSelectBox.layout(dimension);
|
|
@@ -428,7 +428,7 @@ let UserDataProfileImportExportService = class UserDataProfileImportExportServic
|
|
|
428
428
|
const updateIcon = (updated) => {
|
|
429
429
|
icon = updated ?? DEFAULT_ICON;
|
|
430
430
|
profileIconElement.className = `profile-icon ${ThemeIcon.asClassName(icon)}`;
|
|
431
|
-
profileIconElement.ariaLabel = ( localize(
|
|
431
|
+
profileIconElement.ariaLabel = ( localize(3696, "Icon: {0}", icon.id));
|
|
432
432
|
};
|
|
433
433
|
disposables.add(iconSelectBox.onDidSelect(selectedIcon => {
|
|
434
434
|
if (icon.id !== selectedIcon.id) {
|
|
@@ -479,18 +479,18 @@ let UserDataProfileImportExportService = class UserDataProfileImportExportServic
|
|
|
479
479
|
}));
|
|
480
480
|
if (!profile && !isUserDataProfileTemplate(source)) {
|
|
481
481
|
const profileTypeContainer = append(domNode, $('.profile-type-container'));
|
|
482
|
-
append(profileTypeContainer, $('.profile-type-create-label', undefined, ( localize(
|
|
482
|
+
append(profileTypeContainer, $('.profile-type-create-label', undefined, ( localize(3697, "Copy from:"))));
|
|
483
483
|
const separator = { text: '\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500', isDisabled: true };
|
|
484
484
|
const profileOptions = [];
|
|
485
|
-
profileOptions.push({ text: ( localize(
|
|
485
|
+
profileOptions.push({ text: ( localize(3698, "None")) });
|
|
486
486
|
const templates = await this.userDataProfileManagementService.getBuiltinProfileTemplates();
|
|
487
487
|
if (templates.length) {
|
|
488
|
-
profileOptions.push({ ...separator, decoratorRight: ( localize(
|
|
488
|
+
profileOptions.push({ ...separator, decoratorRight: ( localize(3699, "Profile Templates")) });
|
|
489
489
|
for (const template of templates) {
|
|
490
490
|
profileOptions.push({ text: template.name, id: template.url, source: ( (URI.parse(template.url))) });
|
|
491
491
|
}
|
|
492
492
|
}
|
|
493
|
-
profileOptions.push({ ...separator, decoratorRight: ( localize(
|
|
493
|
+
profileOptions.push({ ...separator, decoratorRight: ( localize(3700, "Existing Profiles")) });
|
|
494
494
|
for (const profile of this.userDataProfilesService.profiles) {
|
|
495
495
|
profileOptions.push({ text: profile.name, id: profile.id, source: profile });
|
|
496
496
|
}
|
|
@@ -509,7 +509,7 @@ let UserDataProfileImportExportService = class UserDataProfileImportExportServic
|
|
|
509
509
|
const initialIndex = findOptionIndex();
|
|
510
510
|
const selectBox = disposables.add(this.instantiationService.createInstance(SelectBox, profileOptions, initialIndex, this.contextViewService, defaultSelectBoxStyles, {
|
|
511
511
|
useCustomDrawn: true,
|
|
512
|
-
ariaLabel: ( localize(
|
|
512
|
+
ariaLabel: ( localize(3701, "Copy profile from")),
|
|
513
513
|
}));
|
|
514
514
|
selectBox.render(append(profileTypeContainer, $('.profile-type-select-container')));
|
|
515
515
|
if (profileOptions[initialIndex].source) {
|
|
@@ -572,7 +572,7 @@ let UserDataProfileImportExportService = class UserDataProfileImportExportServic
|
|
|
572
572
|
else if (isUserDataProfileTemplate(source)) {
|
|
573
573
|
source.name = result.name;
|
|
574
574
|
this.telemetryService.publicLog2('userDataProfile.createFromExternalTemplate', createProfileTelemetryData);
|
|
575
|
-
await this.createAndSwitch(source, false, true, { useDefaultFlags, icon: result.icon ? result.icon : undefined }, ( localize(
|
|
575
|
+
await this.createAndSwitch(source, false, true, { useDefaultFlags, icon: result.icon ? result.icon : undefined }, ( localize(3672, "Create Profile")));
|
|
576
576
|
}
|
|
577
577
|
else {
|
|
578
578
|
this.telemetryService.publicLog2('userDataProfile.createEmptyProfile', createProfileTelemetryData);
|
|
@@ -594,7 +594,7 @@ let UserDataProfileImportExportService = class UserDataProfileImportExportServic
|
|
|
594
594
|
try {
|
|
595
595
|
const userDataProfilesExportState = disposables.add(this.instantiationService.createInstance(UserDataProfileExportState, this.userDataProfileService.currentProfile, undefined));
|
|
596
596
|
const barrier = ( (new Barrier()));
|
|
597
|
-
const exportAction = ( (new BarrierAction(barrier, (new Action('export', ( localize(
|
|
597
|
+
const exportAction = ( (new BarrierAction(barrier, (new Action('export', ( localize(3702, "Export")), undefined, true, async () => {
|
|
598
598
|
exportAction.enabled = false;
|
|
599
599
|
try {
|
|
600
600
|
await this.doExportProfile(userDataProfilesExportState, EXPORT_PROFILE_PREVIEW_VIEW);
|
|
@@ -605,7 +605,7 @@ let UserDataProfileImportExportService = class UserDataProfileImportExportServic
|
|
|
605
605
|
throw error;
|
|
606
606
|
}
|
|
607
607
|
})), this.notificationService)));
|
|
608
|
-
const closeAction = ( (new BarrierAction(barrier, (new Action('close', ( localize(
|
|
608
|
+
const closeAction = ( (new BarrierAction(barrier, (new Action('close', ( localize(3703, "Close")))), this.notificationService)));
|
|
609
609
|
await this.showProfilePreviewView(EXPORT_PROFILE_PREVIEW_VIEW, userDataProfilesExportState.profile.name, exportAction, closeAction, true, userDataProfilesExportState);
|
|
610
610
|
disposables.add(this.userDataProfileService.onDidChangeCurrentProfile(e => barrier.open()));
|
|
611
611
|
await barrier.wait();
|
|
@@ -634,14 +634,14 @@ let UserDataProfileImportExportService = class UserDataProfileImportExportServic
|
|
|
634
634
|
delay: 500,
|
|
635
635
|
sticky: true,
|
|
636
636
|
}, async (progress) => {
|
|
637
|
-
const reportProgress = (message) => progress.report({ message: ( localize(
|
|
637
|
+
const reportProgress = (message) => progress.report({ message: ( localize(3673, "Create Profile: {0}", message)) });
|
|
638
638
|
const createdProfile = await this.doCreateProfile(profileTemplate, false, false, { useDefaultFlags: options?.useDefaultFlags, icon: options?.icon, transient: options?.transient }, reportProgress);
|
|
639
639
|
if (createdProfile) {
|
|
640
640
|
if (options?.resourceTypeFlags?.extensions ?? true) {
|
|
641
|
-
reportProgress(( localize(
|
|
641
|
+
reportProgress(( localize(3704, "Applying Extensions...")));
|
|
642
642
|
await this.instantiationService.createInstance(ExtensionsResource).copy(profile, createdProfile, false);
|
|
643
643
|
}
|
|
644
|
-
reportProgress(( localize(
|
|
644
|
+
reportProgress(( localize(3705, "Switching Profile...")));
|
|
645
645
|
await this.userDataProfileManagementService.switchProfile(createdProfile);
|
|
646
646
|
}
|
|
647
647
|
});
|
|
@@ -653,18 +653,18 @@ let UserDataProfileImportExportService = class UserDataProfileImportExportServic
|
|
|
653
653
|
async createTroubleshootProfile() {
|
|
654
654
|
const userDataProfilesExportState = this.instantiationService.createInstance(UserDataProfileExportState, this.userDataProfileService.currentProfile, undefined);
|
|
655
655
|
try {
|
|
656
|
-
const profileTemplate = await userDataProfilesExportState.getProfileTemplate(( localize(
|
|
656
|
+
const profileTemplate = await userDataProfilesExportState.getProfileTemplate(( localize(3706, "Troubleshoot Issue")), undefined);
|
|
657
657
|
await this.progressService.withProgress({
|
|
658
658
|
location: ProgressLocation.Notification,
|
|
659
659
|
delay: 1000,
|
|
660
660
|
sticky: true,
|
|
661
661
|
}, async (progress) => {
|
|
662
|
-
const reportProgress = (message) => progress.report({ message: ( localize(
|
|
662
|
+
const reportProgress = (message) => progress.report({ message: ( localize(3707, "Setting up Troubleshoot Profile: {0}", message)) });
|
|
663
663
|
const profile = await this.doCreateProfile(profileTemplate, true, false, { useDefaultFlags: this.userDataProfileService.currentProfile.useDefaultFlags }, reportProgress);
|
|
664
664
|
if (profile) {
|
|
665
|
-
reportProgress(( localize(
|
|
665
|
+
reportProgress(( localize(3704, "Applying Extensions...")));
|
|
666
666
|
await this.instantiationService.createInstance(ExtensionsResource).copy(this.userDataProfileService.currentProfile, profile, true);
|
|
667
|
-
reportProgress(( localize(
|
|
667
|
+
reportProgress(( localize(3705, "Switching Profile...")));
|
|
668
668
|
await this.userDataProfileManagementService.switchProfile(profile);
|
|
669
669
|
}
|
|
670
670
|
});
|
|
@@ -684,7 +684,7 @@ let UserDataProfileImportExportService = class UserDataProfileImportExportServic
|
|
|
684
684
|
try {
|
|
685
685
|
await this.progressService.withProgress({
|
|
686
686
|
location,
|
|
687
|
-
title: ( localize(
|
|
687
|
+
title: ( localize(3708, "{0}: Exporting...", PROFILES_CATEGORY.value)),
|
|
688
688
|
}, async (progress) => {
|
|
689
689
|
const id = await this.pickProfileContentHandler(profile.name);
|
|
690
690
|
if (!id) {
|
|
@@ -698,17 +698,17 @@ let UserDataProfileImportExportService = class UserDataProfileImportExportServic
|
|
|
698
698
|
if (!saveResult) {
|
|
699
699
|
return;
|
|
700
700
|
}
|
|
701
|
-
const message = ( localize(
|
|
701
|
+
const message = ( localize(3709, "Profile '{0}' was exported successfully.", profile.name));
|
|
702
702
|
if (profileContentHandler.extensionId) {
|
|
703
703
|
const buttons = [];
|
|
704
704
|
const link = this.productService.webUrl ? `${this.productService.webUrl}/${PROFILE_URL_AUTHORITY}/${id}/${saveResult.id}` : ( (toUserDataProfileUri(`/${id}/${saveResult.id}`, this.productService).toString()));
|
|
705
705
|
buttons.push({
|
|
706
|
-
label: ( localize(
|
|
706
|
+
label: ( localize(3710, "&&Copy Link")),
|
|
707
707
|
run: () => this.clipboardService.writeText(link)
|
|
708
708
|
});
|
|
709
709
|
if (this.productService.webUrl) {
|
|
710
710
|
buttons.push({
|
|
711
|
-
label: ( localize(
|
|
711
|
+
label: ( localize(3711, "&&Open Link")),
|
|
712
712
|
run: async () => {
|
|
713
713
|
await this.openerService.open(link);
|
|
714
714
|
}
|
|
@@ -716,7 +716,7 @@ let UserDataProfileImportExportService = class UserDataProfileImportExportServic
|
|
|
716
716
|
}
|
|
717
717
|
else {
|
|
718
718
|
buttons.push({
|
|
719
|
-
label: ( localize(
|
|
719
|
+
label: ( localize(3712, "&&Open in {0}", profileContentHandler.name)),
|
|
720
720
|
run: async () => {
|
|
721
721
|
await this.openerService.open(( (saveResult.link.toString())));
|
|
722
722
|
}
|
|
@@ -726,7 +726,7 @@ let UserDataProfileImportExportService = class UserDataProfileImportExportServic
|
|
|
726
726
|
type: Severity$1.Info,
|
|
727
727
|
message,
|
|
728
728
|
buttons,
|
|
729
|
-
cancelButton: ( localize(
|
|
729
|
+
cancelButton: ( localize(3703, "Close"))
|
|
730
730
|
});
|
|
731
731
|
}
|
|
732
732
|
else {
|
|
@@ -748,10 +748,10 @@ let UserDataProfileImportExportService = class UserDataProfileImportExportServic
|
|
|
748
748
|
profileTemplate = JSON.parse(profileContent);
|
|
749
749
|
}
|
|
750
750
|
catch (error) {
|
|
751
|
-
throw ( (new Error(localize(
|
|
751
|
+
throw ( (new Error(localize(3713, "This profile is not valid."))));
|
|
752
752
|
}
|
|
753
753
|
if (!isUserDataProfileTemplate(profileTemplate)) {
|
|
754
|
-
throw ( (new Error(localize(
|
|
754
|
+
throw ( (new Error(localize(3713, "This profile is not valid."))));
|
|
755
755
|
}
|
|
756
756
|
if (options?.name) {
|
|
757
757
|
profileTemplate.name = options.name;
|
|
@@ -784,32 +784,32 @@ let UserDataProfileImportExportService = class UserDataProfileImportExportServic
|
|
|
784
784
|
try {
|
|
785
785
|
const userDataProfileImportState = disposables.add(this.instantiationService.createInstance(UserDataProfileImportState, profileTemplate));
|
|
786
786
|
profileTemplate = await userDataProfileImportState.getProfileTemplateToImport();
|
|
787
|
-
const importedProfile = await this.createAndSwitch(profileTemplate, true, false, options, ( localize(
|
|
787
|
+
const importedProfile = await this.createAndSwitch(profileTemplate, true, false, options, ( localize(3670, "Preview Profile")));
|
|
788
788
|
if (!importedProfile) {
|
|
789
789
|
return;
|
|
790
790
|
}
|
|
791
791
|
const barrier = ( (new Barrier()));
|
|
792
792
|
const importAction = this.getCreateAction(barrier, userDataProfileImportState);
|
|
793
793
|
const primaryAction = isWeb
|
|
794
|
-
? ( (new Action('importInDesktop', ( localize(
|
|
794
|
+
? ( (new Action('importInDesktop', ( localize(3714, "Create Profile in {0}", this.productService.nameLong)), undefined, true, async () => this.openerService.open(uri, { openExternal: true }))))
|
|
795
795
|
: importAction;
|
|
796
796
|
const secondaryAction = isWeb
|
|
797
797
|
? importAction
|
|
798
|
-
: ( (new BarrierAction(barrier, (new Action('close', ( localize(
|
|
798
|
+
: ( (new BarrierAction(barrier, (new Action('close', ( localize(3703, "Close")))), this.notificationService)));
|
|
799
799
|
const view = await this.showProfilePreviewView(IMPORT_PROFILE_PREVIEW_VIEW, importedProfile.name, primaryAction, secondaryAction, false, userDataProfileImportState);
|
|
800
800
|
const message = ( (new MarkdownString()));
|
|
801
801
|
message.appendMarkdown(( localize(
|
|
802
|
-
|
|
802
|
+
3715,
|
|
803
803
|
"By default, extensions aren't installed when previewing a profile on the web. You can still install them manually before importing the profile. "
|
|
804
804
|
)));
|
|
805
|
-
message.appendMarkdown(`[${( localize(
|
|
805
|
+
message.appendMarkdown(`[${( localize(3716, "Learn more"))}](https://aka.ms/vscode-extension-marketplace#_can-i-trust-extensions-from-the-marketplace).`);
|
|
806
806
|
view.setMessage(message);
|
|
807
807
|
const that = this;
|
|
808
808
|
const disposable = disposables.add(registerAction2(class extends Action2 {
|
|
809
809
|
constructor() {
|
|
810
810
|
super({
|
|
811
811
|
id: 'previewProfile.installExtensions',
|
|
812
|
-
title: ( localize(
|
|
812
|
+
title: ( localize(3717, "Install Extensions")),
|
|
813
813
|
icon: Codicon.cloudDownload,
|
|
814
814
|
menu: {
|
|
815
815
|
id: MenuId.ViewItemContext,
|
|
@@ -856,11 +856,11 @@ let UserDataProfileImportExportService = class UserDataProfileImportExportServic
|
|
|
856
856
|
try {
|
|
857
857
|
const userDataProfileImportState = disposables.add(this.instantiationService.createInstance(UserDataProfileImportState, profileTemplate));
|
|
858
858
|
if (userDataProfileImportState.isEmpty()) {
|
|
859
|
-
await this.createAndSwitch(profileTemplate, false, true, options, ( localize(
|
|
859
|
+
await this.createAndSwitch(profileTemplate, false, true, options, ( localize(3672, "Create Profile")));
|
|
860
860
|
}
|
|
861
861
|
else {
|
|
862
862
|
const barrier = ( (new Barrier()));
|
|
863
|
-
const cancelAction = ( (new BarrierAction(barrier, (new Action('cancel', ( localize(
|
|
863
|
+
const cancelAction = ( (new BarrierAction(barrier, (new Action('cancel', ( localize(3718, "Cancel")))), this.notificationService)));
|
|
864
864
|
const importAction = this.getCreateAction(barrier, userDataProfileImportState, cancelAction);
|
|
865
865
|
await this.showProfilePreviewView(IMPORT_PROFILE_PREVIEW_VIEW, profileTemplate.name, importAction, cancelAction, false, userDataProfileImportState);
|
|
866
866
|
await barrier.wait();
|
|
@@ -872,7 +872,7 @@ let UserDataProfileImportExportService = class UserDataProfileImportExportServic
|
|
|
872
872
|
}
|
|
873
873
|
}
|
|
874
874
|
getCreateAction(barrier, userDataProfileImportState, cancelAction) {
|
|
875
|
-
const importAction = ( (new BarrierAction(barrier, (new Action('title', ( localize(
|
|
875
|
+
const importAction = ( (new BarrierAction(barrier, (new Action('title', ( localize(3719, "Create Profile")), undefined, true, async () => {
|
|
876
876
|
importAction.enabled = false;
|
|
877
877
|
if (cancelAction) {
|
|
878
878
|
cancelAction.enabled = false;
|
|
@@ -893,7 +893,7 @@ let UserDataProfileImportExportService = class UserDataProfileImportExportServic
|
|
|
893
893
|
const reportProgress = (message) => progress.report({ message: `${title}: ${message}` });
|
|
894
894
|
const profile = await this.doCreateProfile(profileTemplate, temporaryProfile, extensions, options, reportProgress);
|
|
895
895
|
if (profile) {
|
|
896
|
-
reportProgress(( localize(
|
|
896
|
+
reportProgress(( localize(3705, "Switching Profile...")));
|
|
897
897
|
await this.userDataProfileManagementService.switchProfile(profile);
|
|
898
898
|
}
|
|
899
899
|
return profile;
|
|
@@ -905,27 +905,27 @@ let UserDataProfileImportExportService = class UserDataProfileImportExportServic
|
|
|
905
905
|
return undefined;
|
|
906
906
|
}
|
|
907
907
|
if (profileTemplate.settings && !profile.useDefaultFlags?.settings) {
|
|
908
|
-
progress(( localize(
|
|
908
|
+
progress(( localize(3720, "Applying Settings...")));
|
|
909
909
|
await this.instantiationService.createInstance(SettingsResource).apply(profileTemplate.settings, profile);
|
|
910
910
|
}
|
|
911
911
|
if (profileTemplate.keybindings && !profile.useDefaultFlags?.keybindings) {
|
|
912
|
-
progress(( localize(
|
|
912
|
+
progress(( localize(3721, "Applying Keyboard Shortcuts...")));
|
|
913
913
|
await this.instantiationService.createInstance(KeybindingsResource).apply(profileTemplate.keybindings, profile);
|
|
914
914
|
}
|
|
915
915
|
if (profileTemplate.tasks && !profile.useDefaultFlags?.tasks) {
|
|
916
|
-
progress(( localize(
|
|
916
|
+
progress(( localize(3722, "Applying Tasks...")));
|
|
917
917
|
await this.instantiationService.createInstance(TasksResource).apply(profileTemplate.tasks, profile);
|
|
918
918
|
}
|
|
919
919
|
if (profileTemplate.snippets && !profile.useDefaultFlags?.snippets) {
|
|
920
|
-
progress(( localize(
|
|
920
|
+
progress(( localize(3723, "Applying Snippets...")));
|
|
921
921
|
await this.instantiationService.createInstance(SnippetsResource).apply(profileTemplate.snippets, profile);
|
|
922
922
|
}
|
|
923
923
|
if (profileTemplate.globalState && !profile.useDefaultFlags?.globalState) {
|
|
924
|
-
progress(( localize(
|
|
924
|
+
progress(( localize(3724, "Applying State...")));
|
|
925
925
|
await this.instantiationService.createInstance(GlobalStateResource).apply(profileTemplate.globalState, profile);
|
|
926
926
|
}
|
|
927
927
|
if (profileTemplate.extensions && extensions && !profile.useDefaultFlags?.extensions) {
|
|
928
|
-
progress(( localize(
|
|
928
|
+
progress(( localize(3704, "Applying Extensions...")));
|
|
929
929
|
await this.instantiationService.createInstance(ExtensionsResource).apply(profileTemplate.extensions, profile);
|
|
930
930
|
}
|
|
931
931
|
return profile;
|
|
@@ -978,7 +978,7 @@ let UserDataProfileImportExportService = class UserDataProfileImportExportServic
|
|
|
978
978
|
options.push({ id, label: profileContentHandler.name, description: profileContentHandler.description });
|
|
979
979
|
}
|
|
980
980
|
const result = await this.quickInputService.pick(options.reverse(), {
|
|
981
|
-
title: ( localize(
|
|
981
|
+
title: ( localize(3725, "Export '{0}' profile as...", name)),
|
|
982
982
|
hideInput: true
|
|
983
983
|
});
|
|
984
984
|
return result?.id;
|
|
@@ -993,11 +993,11 @@ let UserDataProfileImportExportService = class UserDataProfileImportExportServic
|
|
|
993
993
|
const { confirmed } = await this.dialogService.confirm({
|
|
994
994
|
type: Severity$1.Info,
|
|
995
995
|
message: ( localize(
|
|
996
|
-
|
|
996
|
+
3726,
|
|
997
997
|
"Profile with name '{0}' already exists. Do you want to replace its contents?",
|
|
998
998
|
profileName
|
|
999
999
|
)),
|
|
1000
|
-
primaryButton: ( localize(
|
|
1000
|
+
primaryButton: ( localize(3727, "&&Replace"))
|
|
1001
1001
|
});
|
|
1002
1002
|
if (!confirmed) {
|
|
1003
1003
|
return undefined;
|
|
@@ -1091,12 +1091,12 @@ let FileUserDataProfileContentHandler = class FileUserDataProfileContentHandler
|
|
|
1091
1091
|
this.uriIdentityService = uriIdentityService;
|
|
1092
1092
|
this.fileService = fileService;
|
|
1093
1093
|
this.textFileService = textFileService;
|
|
1094
|
-
this.name = ( localize(
|
|
1095
|
-
this.description = ( localize(
|
|
1094
|
+
this.name = ( localize(3728, "Local"));
|
|
1095
|
+
this.description = ( localize(3729, "file"));
|
|
1096
1096
|
}
|
|
1097
1097
|
async saveProfile(name, content, token) {
|
|
1098
1098
|
const link = await this.fileDialogService.showSaveDialog({
|
|
1099
|
-
title: ( localize(
|
|
1099
|
+
title: ( localize(3730, "Save Profile")),
|
|
1100
1100
|
filters: PROFILE_FILTER,
|
|
1101
1101
|
defaultUri: this.uriIdentityService.extUri.joinPath(await this.fileDialogService.defaultFilePath(), `${name}.${PROFILE_EXTENSION}`),
|
|
1102
1102
|
});
|
|
@@ -1123,7 +1123,7 @@ let FileUserDataProfileContentHandler = class FileUserDataProfileContentHandler
|
|
|
1123
1123
|
canSelectFiles: true,
|
|
1124
1124
|
canSelectMany: false,
|
|
1125
1125
|
filters: PROFILE_FILTER,
|
|
1126
|
-
title: ( localize(
|
|
1126
|
+
title: ( localize(3731, "Select Profile")),
|
|
1127
1127
|
});
|
|
1128
1128
|
return profileLocation ? profileLocation[0] : null;
|
|
1129
1129
|
}
|
|
@@ -1280,13 +1280,13 @@ let UserDataProfileImportExportState = class UserDataProfileImportExportState ex
|
|
|
1280
1280
|
for (const root of this.roots) {
|
|
1281
1281
|
root.checkbox = {
|
|
1282
1282
|
isChecked: !root.isFromDefaultProfile(),
|
|
1283
|
-
tooltip: ( localize(
|
|
1283
|
+
tooltip: ( localize(3732, "Select {0}", root.label.label)),
|
|
1284
1284
|
accessibilityInformation: {
|
|
1285
|
-
label: ( localize(
|
|
1285
|
+
label: ( localize(3732, "Select {0}", root.label.label)),
|
|
1286
1286
|
}
|
|
1287
1287
|
};
|
|
1288
1288
|
if (root.isFromDefaultProfile()) {
|
|
1289
|
-
root.description = ( localize(
|
|
1289
|
+
root.description = ( localize(3733, "From Default Profile"));
|
|
1290
1290
|
}
|
|
1291
1291
|
}
|
|
1292
1292
|
return this.roots;
|
|
@@ -1449,11 +1449,11 @@ let UserDataProfileExportState = class UserDataProfileExportState extends UserDa
|
|
|
1449
1449
|
let name = this.profile.name;
|
|
1450
1450
|
if (this.profile.isDefault) {
|
|
1451
1451
|
name = await this.quickInputService.input({
|
|
1452
|
-
placeHolder: ( localize(
|
|
1453
|
-
title: ( localize(
|
|
1452
|
+
placeHolder: ( localize(3734, "Name the profile")),
|
|
1453
|
+
title: ( localize(3735, "Export Profile")),
|
|
1454
1454
|
async validateInput(input) {
|
|
1455
1455
|
if (!input.trim()) {
|
|
1456
|
-
return ( localize(
|
|
1456
|
+
return ( localize(3736, "Profile name must be provided."));
|
|
1457
1457
|
}
|
|
1458
1458
|
return undefined;
|
|
1459
1459
|
},
|
package/vscode/src/vs/workbench/services/userDataProfile/browser/userDataProfileManagement.js
CHANGED
|
@@ -40,7 +40,7 @@ let UserDataProfileManagementService = class UserDataProfileManagementService ex
|
|
|
40
40
|
const updatedCurrentProfile = e.updated.find(p => this.userDataProfileService.currentProfile.id === p.id);
|
|
41
41
|
if (updatedCurrentProfile) {
|
|
42
42
|
this.changeCurrentProfile(updatedCurrentProfile, ( localize(
|
|
43
|
-
|
|
43
|
+
3661,
|
|
44
44
|
"The current profile has been updated. Please reload to switch back to the updated profile"
|
|
45
45
|
)));
|
|
46
46
|
}
|
|
@@ -49,7 +49,7 @@ let UserDataProfileManagementService = class UserDataProfileManagementService ex
|
|
|
49
49
|
onDidChangeProfiles(e) {
|
|
50
50
|
if (( (e.removed.some(profile => profile.id === this.userDataProfileService.currentProfile.id)))) {
|
|
51
51
|
this.changeCurrentProfile(this.userDataProfilesService.defaultProfile, ( localize(
|
|
52
|
-
|
|
52
|
+
3662,
|
|
53
53
|
"The current profile has been removed. Please reload to switch back to default profile"
|
|
54
54
|
)));
|
|
55
55
|
return;
|
|
@@ -58,7 +58,7 @@ let UserDataProfileManagementService = class UserDataProfileManagementService ex
|
|
|
58
58
|
onDidResetWorkspaces() {
|
|
59
59
|
if (!this.userDataProfileService.currentProfile.isDefault) {
|
|
60
60
|
this.changeCurrentProfile(this.userDataProfilesService.defaultProfile, ( localize(
|
|
61
|
-
|
|
61
|
+
3662,
|
|
62
62
|
"The current profile has been removed. Please reload to switch back to default profile"
|
|
63
63
|
)));
|
|
64
64
|
return;
|
|
@@ -89,7 +89,7 @@ let UserDataProfileManagementService = class UserDataProfileManagementService ex
|
|
|
89
89
|
throw ( (new Error(`Profile ${profile.name} does not exist`)));
|
|
90
90
|
}
|
|
91
91
|
if (profile.isDefault) {
|
|
92
|
-
throw ( (new Error(localize(
|
|
92
|
+
throw ( (new Error(localize(3663, "Cannot rename the default profile"))));
|
|
93
93
|
}
|
|
94
94
|
const updatedProfile = await this.userDataProfilesService.updateProfile(profile, updateOptions);
|
|
95
95
|
this.telemetryService.publicLog2('profileManagementActionExecuted', { id: 'updateProfile' });
|
|
@@ -100,7 +100,7 @@ let UserDataProfileManagementService = class UserDataProfileManagementService ex
|
|
|
100
100
|
throw ( (new Error(`Profile ${profile.name} does not exist`)));
|
|
101
101
|
}
|
|
102
102
|
if (profile.isDefault) {
|
|
103
|
-
throw ( (new Error(localize(
|
|
103
|
+
throw ( (new Error(localize(3664, "Cannot delete the default profile"))));
|
|
104
104
|
}
|
|
105
105
|
await this.userDataProfilesService.removeProfile(profile);
|
|
106
106
|
this.telemetryService.publicLog2('profileManagementActionExecuted', { id: 'removeProfile' });
|
|
@@ -139,7 +139,7 @@ let UserDataProfileManagementService = class UserDataProfileManagementService ex
|
|
|
139
139
|
const shouldRestartExtensionHosts = this.userDataProfileService.currentProfile.id !== profile.id || !equals(this.userDataProfileService.currentProfile.useDefaultFlags, profile.useDefaultFlags);
|
|
140
140
|
if (shouldRestartExtensionHosts) {
|
|
141
141
|
if (!isRemoteWindow) {
|
|
142
|
-
if (!(await this.extensionService.stopExtensionHosts(( localize(
|
|
142
|
+
if (!(await this.extensionService.stopExtensionHosts(( localize(3665, "Switching to a profile."))))) {
|
|
143
143
|
if (( (this.userDataProfilesService.profiles.some(p => p.id === this.userDataProfileService.currentProfile.id)))) {
|
|
144
144
|
await this.userDataProfilesService.setProfileForWorkspace(toWorkspaceIdentifier(this.workspaceContextService.getWorkspace()), this.userDataProfileService.currentProfile);
|
|
145
145
|
}
|
|
@@ -151,8 +151,8 @@ let UserDataProfileManagementService = class UserDataProfileManagementService ex
|
|
|
151
151
|
if (shouldRestartExtensionHosts) {
|
|
152
152
|
if (isRemoteWindow) {
|
|
153
153
|
const { confirmed } = await this.dialogService.confirm({
|
|
154
|
-
message: reloadMessage ?? ( localize(
|
|
155
|
-
primaryButton: ( localize(
|
|
154
|
+
message: reloadMessage ?? ( localize(3666, "Switching a profile requires reloading VS Code.")),
|
|
155
|
+
primaryButton: ( localize(3667, "&&Reload")),
|
|
156
156
|
});
|
|
157
157
|
if (confirmed) {
|
|
158
158
|
await this.hostService.reload();
|