@codingame/monaco-vscode-user-data-profile-service-override 5.3.0 → 6.0.1

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.
Files changed (25) hide show
  1. package/package.json +2 -2
  2. package/vscode/src/vs/platform/userDataProfile/common/userDataProfileStorageService.js +7 -9
  3. package/vscode/src/vs/platform/userDataSync/common/extensionsSync.js +21 -20
  4. package/vscode/src/vs/platform/userDataSync/common/globalStateSync.js +26 -25
  5. package/vscode/src/vs/platform/userDataSync/common/keybindingsSync.js +26 -25
  6. package/vscode/src/vs/platform/userDataSync/common/settingsSync.js +20 -18
  7. package/vscode/src/vs/platform/userDataSync/common/snippetsSync.js +40 -40
  8. package/vscode/src/vs/platform/userDataSync/common/tasksSync.js +14 -14
  9. package/vscode/src/vs/workbench/contrib/userDataProfile/browser/media/userDataProfilesEditor.css.js +6 -0
  10. package/vscode/src/vs/workbench/contrib/userDataProfile/browser/userDataProfile.contribution.js +4 -3
  11. package/vscode/src/vs/workbench/contrib/userDataProfile/browser/userDataProfile.js +91 -25
  12. package/vscode/src/vs/workbench/contrib/userDataProfile/browser/userDataProfilesEditor.js +943 -0
  13. package/vscode/src/vs/workbench/contrib/userDataProfile/browser/userDataProfilesEditorModel.js +481 -0
  14. package/vscode/src/vs/workbench/services/userData/browser/userDataInit.js +2 -1
  15. package/vscode/src/vs/workbench/services/userDataProfile/browser/extensionsResource.js +14 -8
  16. package/vscode/src/vs/workbench/services/userDataProfile/browser/globalStateResource.js +10 -8
  17. package/vscode/src/vs/workbench/services/userDataProfile/browser/keybindingsResource.js +5 -4
  18. package/vscode/src/vs/workbench/services/userDataProfile/browser/settingsResource.js +7 -6
  19. package/vscode/src/vs/workbench/services/userDataProfile/browser/snippetsResource.js +4 -3
  20. package/vscode/src/vs/workbench/services/userDataProfile/browser/tasksResource.js +5 -4
  21. package/vscode/src/vs/workbench/services/userDataProfile/browser/userDataProfileImportExportService.js +119 -70
  22. package/vscode/src/vs/workbench/services/userDataProfile/browser/userDataProfileInit.js +9 -7
  23. package/vscode/src/vs/workbench/services/userDataProfile/browser/userDataProfileManagement.js +1 -0
  24. package/vscode/src/vs/workbench/services/userDataProfile/browser/userDataProfileStorageService.js +4 -3
  25. package/vscode/src/vs/workbench/services/userDataSync/browser/userDataSyncInit.js +15 -13
@@ -7,6 +7,7 @@ import { IMenuService } from 'vscode/vscode/vs/platform/actions/common/actions.s
7
7
  import { ContextKeyExpr } from 'vscode/vscode/vs/platform/contextkey/common/contextkey';
8
8
  import { IContextKeyService } from 'vscode/vscode/vs/platform/contextkey/common/contextkey.service';
9
9
  import { IUserDataProfilesService } from 'vscode/vscode/vs/platform/userDataProfile/common/userDataProfile.service';
10
+ import { LifecyclePhase } from 'vscode/vscode/vs/workbench/services/lifecycle/common/lifecycle';
10
11
  import { ILifecycleService } from 'vscode/vscode/vs/workbench/services/lifecycle/common/lifecycle.service';
11
12
  import { CURRENT_PROFILE_CONTEXT, PROFILES_ENABLEMENT_CONTEXT, IS_CURRENT_PROFILE_TRANSIENT_CONTEXT, HAS_PROFILES_CONTEXT, ProfilesMenu, PROFILES_CATEGORY, IS_PROFILE_EXPORT_IN_PROGRESS_CONTEXT, IS_PROFILE_IMPORT_IN_PROGRESS_CONTEXT, PROFILE_FILTER, PROFILES_TITLE } from 'vscode/vscode/vs/workbench/services/userDataProfile/common/userDataProfile';
12
13
  import { IUserDataProfileImportExportService, IUserDataProfileService, IUserDataProfileManagementService } from 'vscode/vscode/vs/workbench/services/userDataProfile/common/userDataProfile.service';
@@ -15,11 +16,19 @@ import { INotificationService } from 'vscode/vscode/vs/platform/notification/com
15
16
  import { IFileDialogService } from 'vscode/vscode/vs/platform/dialogs/common/dialogs.service';
16
17
  import { URI } from 'vscode/vscode/vs/base/common/uri';
17
18
  import { ITelemetryService } from 'vscode/vscode/vs/platform/telemetry/common/telemetry.service';
19
+ import { WorkbenchState } from 'vscode/vscode/vs/platform/workspace/common/workspace';
18
20
  import { IWorkspaceContextService } from 'vscode/vscode/vs/platform/workspace/common/workspace.service';
19
21
  import { IWorkspaceTagsService } from 'vscode/vscode/vs/workbench/contrib/tags/common/workspaceTags.service';
20
22
  import { getErrorMessage } from 'vscode/vscode/vs/base/common/errors';
21
23
  import { Categories } from 'vscode/vscode/vs/platform/action/common/actionCommonCategories';
22
24
  import { IOpenerService } from 'vscode/vscode/vs/platform/opener/common/opener.service';
25
+ import { Registry } from 'vscode/vscode/vs/platform/registry/common/platform';
26
+ import { EditorPaneDescriptor } from 'vscode/vscode/vs/workbench/browser/editor';
27
+ import { EditorExtensions } from 'vscode/vscode/vs/workbench/common/editor';
28
+ import { UserDataProfilesEditor, UserDataProfilesEditorInput, UserDataProfilesEditorInputSerializer } from './userDataProfilesEditor.js';
29
+ import { SyncDescriptor } from 'vscode/vscode/vs/platform/instantiation/common/descriptors';
30
+ import { IEditorGroupsService } from 'vscode/vscode/vs/workbench/services/editor/common/editorGroupsService.service';
31
+ import { IInstantiationService } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
23
32
 
24
33
  const _moduleId = "vs/workbench/contrib/userDataProfile/browser/userDataProfile";
25
34
  let UserDataProfilesWorkbenchContribution = class UserDataProfilesWorkbenchContribution extends Disposable {
@@ -34,6 +43,7 @@ let UserDataProfilesWorkbenchContribution = class UserDataProfilesWorkbenchContr
34
43
  this.workspaceContextService = workspaceContextService;
35
44
  this.workspaceTagsService = workspaceTagsService;
36
45
  this.lifecycleService = lifecycleService;
46
+ this.startTime = Date.now();
37
47
  this.profilesDisposable = this._register(( (new MutableDisposable())));
38
48
  this.currentprofileActionsDisposable = this._register(( (new MutableDisposable())));
39
49
  this.currentProfileContext = CURRENT_PROFILE_CONTEXT.bindTo(contextKeyService);
@@ -48,14 +58,22 @@ let UserDataProfilesWorkbenchContribution = class UserDataProfilesWorkbenchContr
48
58
  this.hasProfilesContext = HAS_PROFILES_CONTEXT.bindTo(contextKeyService);
49
59
  this.hasProfilesContext.set(this.userDataProfilesService.profiles.length > 1);
50
60
  this._register(this.userDataProfilesService.onDidChangeProfiles(e => this.hasProfilesContext.set(this.userDataProfilesService.profiles.length > 1)));
61
+ this.registerEditor();
51
62
  this.registerActions();
52
63
  if (isWeb) {
53
- lifecycleService.when(4 ).then(() => userDataProfilesService.cleanUp());
64
+ lifecycleService.when(LifecyclePhase.Eventually).then(() => userDataProfilesService.cleanUp());
54
65
  }
55
66
  this.reportWorkspaceProfileInfo();
56
67
  }
68
+ registerEditor() {
69
+ ( (Registry.as(EditorExtensions.EditorPane))).registerEditorPane(EditorPaneDescriptor.create(UserDataProfilesEditor, UserDataProfilesEditor.ID, ( localizeWithPath(_moduleId, 0, "Profiles Editor"))), [
70
+ ( (new SyncDescriptor(UserDataProfilesEditorInput)))
71
+ ]);
72
+ ( (Registry.as(EditorExtensions.EditorFactory))).registerEditorSerializer(UserDataProfilesEditorInput.ID, UserDataProfilesEditorInputSerializer);
73
+ }
57
74
  registerActions() {
58
75
  this.registerProfileSubMenu();
76
+ this._register(this.registerManageProfilesAction());
59
77
  this._register(this.registerSwitchProfileAction());
60
78
  this.registerProfilesActions();
61
79
  this._register(this.userDataProfilesService.onDidChangeProfiles(() => this.registerProfilesActions()));
@@ -70,8 +88,8 @@ let UserDataProfilesWorkbenchContribution = class UserDataProfilesWorkbenchContr
70
88
  const getProfilesTitle = () => {
71
89
  return ( localizeWithPath(
72
90
  _moduleId,
73
- 0,
74
- "Profiles ({0})",
91
+ 1,
92
+ "Profile ({0})",
75
93
  this.userDataProfileService.currentProfile.name
76
94
  ));
77
95
  };
@@ -93,6 +111,49 @@ let UserDataProfilesWorkbenchContribution = class UserDataProfilesWorkbenchContr
93
111
  when: PROFILES_ENABLEMENT_CONTEXT,
94
112
  });
95
113
  }
114
+ registerManageProfilesAction() {
115
+ const disposables = ( (new DisposableStore()));
116
+ const when = ( (ContextKeyExpr.equals('config.workbench.experimental.enableNewProfilesUI', true)));
117
+ disposables.add(registerAction2(class ManageProfilesAction extends Action2 {
118
+ constructor() {
119
+ super({
120
+ id: `workbench.profiles.actions.manageProfiles`,
121
+ title: {
122
+ ...( localize2WithPath(_moduleId, 2, "Profiles")),
123
+ mnemonicTitle: ( localizeWithPath(_moduleId, 3, "&&Profiles")),
124
+ },
125
+ menu: [
126
+ {
127
+ id: MenuId.GlobalActivity,
128
+ group: '2_configuration',
129
+ when,
130
+ order: 1
131
+ },
132
+ {
133
+ id: MenuId.MenubarPreferencesMenu,
134
+ group: '2_configuration',
135
+ when,
136
+ order: 1
137
+ }
138
+ ]
139
+ });
140
+ }
141
+ run(accessor) {
142
+ const editorGroupsService = accessor.get(IEditorGroupsService);
143
+ const instantiationService = accessor.get(IInstantiationService);
144
+ return editorGroupsService.activeGroup.openEditor(( (new UserDataProfilesEditorInput(instantiationService))));
145
+ }
146
+ }));
147
+ disposables.add(MenuRegistry.appendMenuItem(MenuId.CommandPalette, {
148
+ command: {
149
+ id: 'workbench.profiles.actions.manageProfiles',
150
+ category: Categories.Preferences,
151
+ title: ( localize2WithPath(_moduleId, 4, "Open Profiles (UI)")),
152
+ precondition: when,
153
+ },
154
+ }));
155
+ return disposables;
156
+ }
96
157
  registerProfilesActions() {
97
158
  this.profilesDisposable.value = ( (new DisposableStore()));
98
159
  for (const profile of this.userDataProfilesService.profiles) {
@@ -118,6 +179,11 @@ let UserDataProfilesWorkbenchContribution = class UserDataProfilesWorkbenchContr
118
179
  }
119
180
  async run(accessor) {
120
181
  if (that.userDataProfileService.currentProfile.id !== profile.id) {
182
+ if (profile.isDefault && Date.now() - that.startTime < ((1000 * 20) )) {
183
+ that.telemetryService.publicLog2('profiles:newwindowprofile', {
184
+ emptyWindow: that.workspaceContextService.getWorkbenchState() === WorkbenchState.EMPTY
185
+ });
186
+ }
121
187
  return that.userDataProfileManagementService.switchProfile(profile);
122
188
  }
123
189
  }
@@ -128,7 +194,7 @@ let UserDataProfilesWorkbenchContribution = class UserDataProfilesWorkbenchContr
128
194
  constructor() {
129
195
  super({
130
196
  id: `workbench.profiles.actions.switchProfile`,
131
- title: ( localize2WithPath(_moduleId, 1, 'Switch Profile...')),
197
+ title: ( localize2WithPath(_moduleId, 5, 'Switch Profile...')),
132
198
  category: PROFILES_CATEGORY,
133
199
  f1: true,
134
200
  precondition: PROFILES_ENABLEMENT_CONTEXT,
@@ -144,7 +210,7 @@ let UserDataProfilesWorkbenchContribution = class UserDataProfilesWorkbenchContr
144
210
  action,
145
211
  label: action.checked ? `$(check) ${action.label}` : action.label,
146
212
  })))), {
147
- placeHolder: ( localizeWithPath(_moduleId, 2, "Select Profile"))
213
+ placeHolder: ( localizeWithPath(_moduleId, 6, "Select Profile"))
148
214
  });
149
215
  await result?.action.run();
150
216
  }
@@ -171,7 +237,7 @@ let UserDataProfilesWorkbenchContribution = class UserDataProfilesWorkbenchContr
171
237
  )), (IS_CURRENT_PROFILE_TRANSIENT_CONTEXT.toNegated()))));
172
238
  super({
173
239
  id: `workbench.profiles.actions.editCurrentProfile`,
174
- title: ( localize2WithPath(_moduleId, 3, "Edit Profile...")),
240
+ title: ( localize2WithPath(_moduleId, 7, "Edit Profile...")),
175
241
  precondition: when,
176
242
  f1: true,
177
243
  menu: [
@@ -195,7 +261,7 @@ let UserDataProfilesWorkbenchContribution = class UserDataProfilesWorkbenchContr
195
261
  constructor() {
196
262
  super({
197
263
  id,
198
- title: ( localize2WithPath(_moduleId, 4, "Show Profile Contents")),
264
+ title: ( localize2WithPath(_moduleId, 8, "Show Profile Contents")),
199
265
  category: PROFILES_CATEGORY,
200
266
  menu: [
201
267
  {
@@ -222,7 +288,7 @@ let UserDataProfilesWorkbenchContribution = class UserDataProfilesWorkbenchContr
222
288
  constructor() {
223
289
  super({
224
290
  id,
225
- title: ( localize2WithPath(_moduleId, 5, "Export Profile...")),
291
+ title: ( localize2WithPath(_moduleId, 9, "Export Profile...")),
226
292
  category: PROFILES_CATEGORY,
227
293
  precondition: ( (IS_PROFILE_EXPORT_IN_PROGRESS_CONTEXT.toNegated())),
228
294
  menu: [
@@ -246,7 +312,7 @@ let UserDataProfilesWorkbenchContribution = class UserDataProfilesWorkbenchContr
246
312
  id,
247
313
  title: ( localize2WithPath(
248
314
  _moduleId,
249
- 6,
315
+ 10,
250
316
  "Export Profile ({0})...",
251
317
  that.userDataProfileService.currentProfile.name
252
318
  )),
@@ -263,7 +329,7 @@ let UserDataProfilesWorkbenchContribution = class UserDataProfilesWorkbenchContr
263
329
  constructor() {
264
330
  super({
265
331
  id,
266
- title: ( localize2WithPath(_moduleId, 7, "Import Profile...")),
332
+ title: ( localize2WithPath(_moduleId, 11, "Import Profile...")),
267
333
  category: PROFILES_CATEGORY,
268
334
  precondition: ( (IS_PROFILE_IMPORT_IN_PROGRESS_CONTEXT.toNegated())),
269
335
  menu: [
@@ -290,19 +356,19 @@ let UserDataProfilesWorkbenchContribution = class UserDataProfilesWorkbenchContr
290
356
  const updateQuickPickItems = (value) => {
291
357
  const quickPickItems = [];
292
358
  if (value) {
293
- quickPickItems.push({ label: quickPick.value, description: ( localizeWithPath(_moduleId, 8, "Import from URL")) });
359
+ quickPickItems.push({ label: quickPick.value, description: ( localizeWithPath(_moduleId, 12, "Import from URL")) });
294
360
  }
295
- quickPickItems.push({ label: ( localizeWithPath(_moduleId, 9, "Select File...")) });
361
+ quickPickItems.push({ label: ( localizeWithPath(_moduleId, 13, "Select File...")) });
296
362
  if (profileTemplateQuickPickItems.length) {
297
363
  quickPickItems.push({
298
364
  type: 'separator',
299
- label: ( localizeWithPath(_moduleId, 10, "Profile Templates"))
365
+ label: ( localizeWithPath(_moduleId, 14, "Profile Templates"))
300
366
  }, ...profileTemplateQuickPickItems);
301
367
  }
302
368
  quickPick.items = quickPickItems;
303
369
  };
304
- quickPick.title = ( localizeWithPath(_moduleId, 11, "Import from Profile Template..."));
305
- quickPick.placeholder = ( localizeWithPath(_moduleId, 12, "Provide Profile Template URL"));
370
+ quickPick.title = ( localizeWithPath(_moduleId, 15, "Import from Profile Template..."));
371
+ quickPick.placeholder = ( localizeWithPath(_moduleId, 16, "Provide Profile Template URL"));
306
372
  quickPick.ignoreFocusOut = true;
307
373
  disposables.add(quickPick.onDidChangeValue(updateQuickPickItems));
308
374
  updateQuickPickItems();
@@ -324,7 +390,7 @@ let UserDataProfilesWorkbenchContribution = class UserDataProfilesWorkbenchContr
324
390
  }
325
391
  }
326
392
  catch (error) {
327
- notificationService.error(( localizeWithPath(_moduleId, 13, "Error while creating profile: {0}", getErrorMessage(error))));
393
+ notificationService.error(( localizeWithPath(_moduleId, 17, "Error while creating profile: {0}", getErrorMessage(error))));
328
394
  }
329
395
  }));
330
396
  disposables.add(quickPick.onDidHide(() => disposables.dispose()));
@@ -336,7 +402,7 @@ let UserDataProfilesWorkbenchContribution = class UserDataProfilesWorkbenchContr
336
402
  canSelectFiles: true,
337
403
  canSelectMany: false,
338
404
  filters: PROFILE_FILTER,
339
- title: ( localizeWithPath(_moduleId, 14, "Select Profile Template File")),
405
+ title: ( localizeWithPath(_moduleId, 18, "Select Profile Template File")),
340
406
  });
341
407
  if (!profileLocation) {
342
408
  return null;
@@ -347,7 +413,7 @@ let UserDataProfilesWorkbenchContribution = class UserDataProfilesWorkbenchContr
347
413
  disposables.add(MenuRegistry.appendMenuItem(MenuId.MenubarShare, {
348
414
  command: {
349
415
  id,
350
- title: ( localize2WithPath(_moduleId, 15, "Import Profile...")),
416
+ title: ( localize2WithPath(_moduleId, 19, "Import Profile...")),
351
417
  precondition: PROFILES_ENABLEMENT_CONTEXT,
352
418
  },
353
419
  }));
@@ -359,7 +425,7 @@ let UserDataProfilesWorkbenchContribution = class UserDataProfilesWorkbenchContr
359
425
  constructor() {
360
426
  super({
361
427
  id: 'workbench.profiles.actions.createFromCurrentProfile',
362
- title: ( localize2WithPath(_moduleId, 16, "Save Current Profile As...")),
428
+ title: ( localize2WithPath(_moduleId, 20, "Save Current Profile As...")),
363
429
  category: PROFILES_CATEGORY,
364
430
  f1: true,
365
431
  precondition: PROFILES_ENABLEMENT_CONTEXT
@@ -376,7 +442,7 @@ let UserDataProfilesWorkbenchContribution = class UserDataProfilesWorkbenchContr
376
442
  constructor() {
377
443
  super({
378
444
  id: 'workbench.profiles.actions.createProfile',
379
- title: ( localize2WithPath(_moduleId, 17, "Create Profile...")),
445
+ title: ( localize2WithPath(_moduleId, 21, "Create Profile...")),
380
446
  category: PROFILES_CATEGORY,
381
447
  precondition: PROFILES_ENABLEMENT_CONTEXT,
382
448
  f1: true,
@@ -400,7 +466,7 @@ let UserDataProfilesWorkbenchContribution = class UserDataProfilesWorkbenchContr
400
466
  constructor() {
401
467
  super({
402
468
  id: 'workbench.profiles.actions.deleteProfile',
403
- title: ( localize2WithPath(_moduleId, 18, "Delete Profile...")),
469
+ title: ( localize2WithPath(_moduleId, 22, "Delete Profile...")),
404
470
  category: PROFILES_CATEGORY,
405
471
  f1: true,
406
472
  precondition: ( (ContextKeyExpr.and(PROFILES_ENABLEMENT_CONTEXT, HAS_PROFILES_CONTEXT))),
@@ -424,11 +490,11 @@ let UserDataProfilesWorkbenchContribution = class UserDataProfilesWorkbenchContr
424
490
  if (profiles.length) {
425
491
  const picks = await quickInputService.pick(( (profiles.map(profile => ({
426
492
  label: profile.name,
427
- description: profile.id === userDataProfileService.currentProfile.id ? ( localizeWithPath(_moduleId, 19, "Current")) : undefined,
493
+ description: profile.id === userDataProfileService.currentProfile.id ? ( localizeWithPath(_moduleId, 23, "Current")) : undefined,
428
494
  profile
429
495
  })))), {
430
- title: ( localizeWithPath(_moduleId, 20, "Delete Profile...")),
431
- placeHolder: ( localizeWithPath(_moduleId, 21, "Select Profiles to Delete")),
496
+ title: ( localizeWithPath(_moduleId, 24, "Delete Profile...")),
497
+ placeHolder: ( localizeWithPath(_moduleId, 25, "Select Profiles to Delete")),
432
498
  canPickMany: true
433
499
  });
434
500
  if (picks) {
@@ -472,7 +538,7 @@ let UserDataProfilesWorkbenchContribution = class UserDataProfilesWorkbenchContr
472
538
  return quickPickItems;
473
539
  }
474
540
  async reportWorkspaceProfileInfo() {
475
- await this.lifecycleService.when(4 );
541
+ await this.lifecycleService.when(LifecyclePhase.Eventually);
476
542
  const workspaceId = await this.workspaceTagsService.getTelemetryWorkspaceId(this.workspaceContextService.getWorkspace(), this.workspaceContextService.getWorkbenchState());
477
543
  this.telemetryService.publicLog2('workspaceProfileInfo', {
478
544
  workspaceId,