@codingame/monaco-vscode-edit-sessions-service-override 16.1.0 → 17.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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codingame/monaco-vscode-edit-sessions-service-override",
3
- "version": "16.1.0",
3
+ "version": "17.0.0",
4
4
  "private": false,
5
5
  "description": "VSCode public API plugged on the monaco editor - edit-sessions service-override",
6
6
  "keywords": [],
@@ -15,15 +15,15 @@
15
15
  },
16
16
  "type": "module",
17
17
  "dependencies": {
18
- "@codingame/monaco-vscode-2bd6777a-3bff-5b83-ad25-0e029e81ffe9-common": "16.1.0",
19
- "@codingame/monaco-vscode-38f25ab8-ea30-5ba9-8a08-ae3308c297c0-common": "16.1.0",
20
- "@codingame/monaco-vscode-4a316137-39d1-5d77-8b53-112db3547c1e-common": "16.1.0",
21
- "@codingame/monaco-vscode-7559b0be-bfa5-5fe6-b731-1973fe9fffa1-common": "16.1.0",
22
- "@codingame/monaco-vscode-a2719803-af40-5ae9-a29f-8a2231c33056-common": "16.1.0",
23
- "@codingame/monaco-vscode-a7c9ae3c-16d2-5d17-86b2-981be7094566-common": "16.1.0",
24
- "@codingame/monaco-vscode-api": "16.1.0",
25
- "@codingame/monaco-vscode-e67a0dae-5b2c-54e6-8d61-90102c78362d-common": "16.1.0",
26
- "@codingame/monaco-vscode-f22e7e55-aee8-5b52-a6bc-950efd9f5890-common": "16.1.0"
18
+ "@codingame/monaco-vscode-2cbab29e-9393-5de6-b701-9a9555360b6b-common": "17.0.0",
19
+ "@codingame/monaco-vscode-4a316137-39d1-5d77-8b53-112db3547c1e-common": "17.0.0",
20
+ "@codingame/monaco-vscode-a2719803-af40-5ae9-a29f-8a2231c33056-common": "17.0.0",
21
+ "@codingame/monaco-vscode-a7c9ae3c-16d2-5d17-86b2-981be7094566-common": "17.0.0",
22
+ "@codingame/monaco-vscode-api": "17.0.0",
23
+ "@codingame/monaco-vscode-bed2b49f-41ae-5ed2-b61a-1105500a3f8a-common": "17.0.0",
24
+ "@codingame/monaco-vscode-e67a0dae-5b2c-54e6-8d61-90102c78362d-common": "17.0.0",
25
+ "@codingame/monaco-vscode-f22e7e55-aee8-5b52-a6bc-950efd9f5890-common": "17.0.0",
26
+ "@codingame/monaco-vscode-f48982c4-9e82-55e2-b800-20e6d1e6096f-common": "17.0.0"
27
27
  },
28
28
  "main": "index.js",
29
29
  "module": "index.js",
@@ -25,7 +25,7 @@ import { UserDataSyncStoreError, UserDataSyncErrorCode } from '@codingame/monaco
25
25
  import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
26
26
  import '@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification';
27
27
  import { INotificationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification.service';
28
- import { getFileNamesMessage } from '@codingame/monaco-vscode-2bd6777a-3bff-5b83-ad25-0e029e81ffe9-common/vscode/vs/platform/dialogs/common/dialogs';
28
+ import { getFileNamesMessage } from '@codingame/monaco-vscode-bed2b49f-41ae-5ed2-b61a-1105500a3f8a-common/vscode/vs/platform/dialogs/common/dialogs';
29
29
  import { IDialogService, IFileDialogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service';
30
30
  import { IProductService } from '@codingame/monaco-vscode-api/vscode/vs/platform/product/common/productService.service';
31
31
  import { IOpenerService } from '@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service';
@@ -37,7 +37,7 @@ import { ExtensionsRegistry } from '@codingame/monaco-vscode-api/vscode/vs/workb
37
37
  import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
38
38
  import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
39
39
  import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
40
- import { getVirtualWorkspaceLocation } from '@codingame/monaco-vscode-7559b0be-bfa5-5fe6-b731-1973fe9fffa1-common/vscode/vs/platform/workspace/common/virtualWorkspace';
40
+ import { getVirtualWorkspaceLocation } from '@codingame/monaco-vscode-2cbab29e-9393-5de6-b701-9a9555360b6b-common/vscode/vs/platform/workspace/common/virtualWorkspace';
41
41
  import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
42
42
  import { IsWebContext } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkeys';
43
43
  import { isProposedApiEnabled } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions';
@@ -74,29 +74,30 @@ import { EditSessionsStoreClient } from '../common/editSessionsStorageClient.js'
74
74
  import { IUriIdentityService } from '@codingame/monaco-vscode-api/vscode/vs/platform/uriIdentity/common/uriIdentity.service';
75
75
  import { IWorkspaceIdentityService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/workspaces/common/workspaceIdentityService.service';
76
76
  import { hashAsync } from '@codingame/monaco-vscode-api/vscode/vs/base/common/hash';
77
+ import { ResourceSet } from '@codingame/monaco-vscode-api/vscode/vs/base/common/map';
77
78
  import Severity from '@codingame/monaco-vscode-api/vscode/vs/base/common/severity';
78
79
 
79
80
  var EditSessionsContribution_1;
80
81
  const continueWorkingOnCommand = {
81
82
  id: '_workbench.editSessions.actions.continueEditSession',
82
- title: ( localize2(6037, 'Continue Working On...')),
83
+ title: ( localize2(6124, 'Continue Working On...')),
83
84
  precondition: ( WorkspaceFolderCountContext.notEqualsTo('0')),
84
85
  f1: true
85
86
  };
86
87
  const openLocalFolderCommand = {
87
88
  id: '_workbench.editSessions.actions.continueEditSession.openLocalFolder',
88
- title: ( localize2(6038, 'Open In Local Folder')),
89
+ title: ( localize2(6125, 'Open In Local Folder')),
89
90
  category: EDIT_SESSION_SYNC_CATEGORY,
90
91
  precondition: ( ContextKeyExpr.and(( IsWebContext.toNegated()), VirtualWorkspaceContext))
91
92
  };
92
93
  const showOutputChannelCommand = {
93
94
  id: 'workbench.editSessions.actions.showOutputChannel',
94
- title: ( localize2(6039, "Show Log")),
95
+ title: ( localize2(6126, "Show Log")),
95
96
  category: EDIT_SESSION_SYNC_CATEGORY
96
97
  };
97
98
  const installAdditionalContinueOnOptionsCommand = {
98
99
  id: 'workbench.action.continueOn.extensions',
99
- title: ( localize(6040, 'Install additional development environment options')),
100
+ title: ( localize(6127, 'Install additional development environment options')),
100
101
  };
101
102
  registerAction2(class extends Action2 {
102
103
  constructor() {
@@ -106,7 +107,7 @@ registerAction2(class extends Action2 {
106
107
  return accessor.get(IExtensionsWorkbenchService).openSearch('@tag:continueOn');
107
108
  }
108
109
  });
109
- const resumeProgressOptionsTitle = `[${( localize(6041, 'Resuming working changes...'))}](command:${showOutputChannelCommand.id})`;
110
+ const resumeProgressOptionsTitle = `[${( localize(6128, 'Resuming working changes...'))}](command:${showOutputChannelCommand.id})`;
110
111
  const resumeProgressOptions = {
111
112
  location: ProgressLocation.Window,
112
113
  type: 'syncing',
@@ -179,7 +180,7 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
179
180
  this._register(this.fileService.registerProvider(EditSessionsFileSystemProvider.SCHEMA, ( new EditSessionsFileSystemProvider(this.editSessionsStorageService))));
180
181
  this.lifecycleService.onWillShutdown((e) => {
181
182
  if (e.reason !== ShutdownReason.RELOAD && this.editSessionsStorageService.isSignedIn && this.configurationService.getValue('workbench.experimental.cloudChanges.autoStore') === 'onShutdown' && !isWeb) {
182
- e.join(this.autoStoreEditSession(), { id: 'autoStoreWorkingChanges', label: ( localize(6042, 'Storing current working changes...')) });
183
+ e.join(this.autoStoreEditSession(), { id: 'autoStoreWorkingChanges', label: ( localize(6129, 'Storing current working changes...')) });
183
184
  }
184
185
  });
185
186
  this._register(this.editSessionsStorageService.onDidSignIn(() => this.updateAccountsMenuBadge()));
@@ -237,7 +238,7 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
237
238
  if (this.editSessionsStorageService.isSignedIn) {
238
239
  return this.accountsMenuBadgeDisposable.clear();
239
240
  }
240
- const badge = ( new NumberBadge(1, () => ( localize(6043, 'Check for pending cloud changes'))));
241
+ const badge = ( new NumberBadge(1, () => ( localize(6130, 'Check for pending cloud changes'))));
241
242
  this.accountsMenuBadgeDisposable.value = this.activityService.showAccountsActivity({ badge });
242
243
  }
243
244
  async autoStoreEditSession() {
@@ -245,7 +246,7 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
245
246
  await this.progressService.withProgress({
246
247
  location: ProgressLocation.Window,
247
248
  type: 'syncing',
248
- title: ( localize(6044, 'Storing working changes...'))
249
+ title: ( localize(6131, 'Storing working changes...'))
249
250
  }, async () => this.storeEditSession(false, cancellationTokenSource.token), () => {
250
251
  cancellationTokenSource.cancel();
251
252
  cancellationTokenSource.dispose();
@@ -289,7 +290,7 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
289
290
  constructor() {
290
291
  super({
291
292
  id: 'workbench.editSessions.actions.showEditSessions',
292
- title: ( localize2(6045, 'Show Cloud Changes')),
293
+ title: ( localize2(6132, 'Show Cloud Changes')),
293
294
  category: EDIT_SESSION_SYNC_CATEGORY,
294
295
  f1: true
295
296
  });
@@ -326,7 +327,7 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
326
327
  location: ProgressLocation.Notification,
327
328
  cancellable: true,
328
329
  type: 'syncing',
329
- title: ( localize(6046, 'Storing your working changes...'))
330
+ title: ( localize(6133, 'Storing your working changes...'))
330
331
  }, async () => {
331
332
  const ref = await that.storeEditSession(false, cancellationTokenSource.token);
332
333
  if (ref !== undefined) {
@@ -375,7 +376,7 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
375
376
  constructor() {
376
377
  super({
377
378
  id: 'workbench.editSessions.actions.resumeLatest',
378
- title: ( localize2(6047, 'Resume Latest Changes from Cloud')),
379
+ title: ( localize2(6134, 'Resume Latest Changes from Cloud')),
379
380
  category: EDIT_SESSION_SYNC_CATEGORY,
380
381
  f1: true,
381
382
  });
@@ -388,7 +389,7 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
388
389
  constructor() {
389
390
  super({
390
391
  id: 'workbench.editSessions.actions.resumeFromSerializedPayload',
391
- title: ( localize2(6048, 'Resume Changes from Serialized Data')),
392
+ title: ( localize2(6135, 'Resume Changes from Serialized Data')),
392
393
  category: 'Developer',
393
394
  f1: true,
394
395
  });
@@ -408,7 +409,7 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
408
409
  constructor() {
409
410
  super({
410
411
  id: 'workbench.editSessions.actions.storeCurrent',
411
- title: ( localize2(6049, 'Store Working Changes in Cloud')),
412
+ title: ( localize2(6136, 'Store Working Changes in Cloud')),
412
413
  category: EDIT_SESSION_SYNC_CATEGORY,
413
414
  f1: true,
414
415
  });
@@ -417,7 +418,7 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
417
418
  const cancellationTokenSource = ( new CancellationTokenSource());
418
419
  await that.progressService.withProgress({
419
420
  location: ProgressLocation.Notification,
420
- title: ( localize(6050, 'Storing working changes...'))
421
+ title: ( localize(6137, 'Storing working changes...'))
421
422
  }, async () => {
422
423
  that.telemetryService.publicLog2('editSessions.store');
423
424
  await that.storeEditSession(true, cancellationTokenSource.token);
@@ -439,14 +440,14 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
439
440
  }
440
441
  this.telemetryService.publicLog2('editSessions.resume');
441
442
  performance.mark('code/willResumeEditSessionFromIdentifier');
442
- progress?.report({ message: ( localize(6051, 'Checking for pending cloud changes...')) });
443
+ progress?.report({ message: ( localize(6138, 'Checking for pending cloud changes...')) });
443
444
  const data = serializedData ? { content: serializedData, ref: '' } : await this.editSessionsStorageService.read('editSessions', ref);
444
445
  if (!data) {
445
446
  if (ref === undefined && !silent) {
446
- this.notificationService.info(( localize(6052, 'There are no changes to resume from the cloud.')));
447
+ this.notificationService.info(( localize(6139, 'There are no changes to resume from the cloud.')));
447
448
  }
448
449
  else if (ref !== undefined) {
449
- this.notificationService.warn(( localize(6053, 'Could not resume changes from the cloud for ID {0}.', ref)));
450
+ this.notificationService.warn(( localize(6140, 'Could not resume changes from the cloud for ID {0}.', ref)));
450
451
  }
451
452
  this.logService.info(ref !== undefined ? `Aborting resuming changes from cloud as no edit session content is available to be applied from ref ${ref}.` : `Aborting resuming edit session as no edit session content is available to be applied`);
452
453
  return;
@@ -456,7 +457,7 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
456
457
  ref = data.ref;
457
458
  if (editSession.version > EditSessionSchemaVersion) {
458
459
  this.notificationService.error(( localize(
459
- 6054,
460
+ 6141,
460
461
  "Please upgrade to a newer version of {0} to resume your working changes from the cloud.",
461
462
  this.productService.nameLong
462
463
  )));
@@ -473,12 +474,12 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
473
474
  type: Severity.Warning,
474
475
  message: conflictingChanges.length > 1 ?
475
476
  ( localize(
476
- 6055,
477
+ 6142,
477
478
  'Resuming your working changes from the cloud will overwrite the following {0} files. Do you want to proceed?',
478
479
  conflictingChanges.length
479
480
  )) :
480
481
  ( localize(
481
- 6056,
482
+ 6143,
482
483
  'Resuming your working changes from the cloud will overwrite {0}. Do you want to proceed?',
483
484
  basename(conflictingChanges[0].uri)
484
485
  )),
@@ -504,7 +505,7 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
504
505
  }
505
506
  catch (ex) {
506
507
  this.logService.error('Failed to resume edit session, reason: ', ( ex.toString()));
507
- this.notificationService.error(( localize(6057, "Failed to resume your working changes from the cloud.")));
508
+ this.notificationService.error(( localize(6144, "Failed to resume your working changes from the cloud.")));
508
509
  }
509
510
  performance.mark('code/didResumeEditSessionFromIdentifier');
510
511
  }
@@ -533,9 +534,9 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
533
534
  this.configurationService.getValue('workbench.experimental.cloudChanges.partialMatches.enabled') === true) {
534
535
  if (!applyPartialMatch) {
535
536
  this.notificationService.prompt(Severity.Info, ( localize(
536
- 6058,
537
+ 6145,
537
538
  'You have pending working changes in the cloud for this workspace. Would you like to resume them?'
538
- )), [{ label: ( localize(6059, 'Resume')), run: () => this.resumeEditSession(ref, false, undefined, true) }]);
539
+ )), [{ label: ( localize(6146, 'Resume')), run: () => this.resumeEditSession(ref, false, undefined, true) }]);
539
540
  }
540
541
  else {
541
542
  folderRoot = f;
@@ -595,6 +596,21 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
595
596
  let editSessionSize = 0;
596
597
  let hasEdits = false;
597
598
  await this.editorService.saveAll();
599
+ const createdEditSessionIdentities = ( new ResourceSet());
600
+ for (const repository of this.scmService.repositories) {
601
+ const changedResources = this.getChangedResources(repository);
602
+ if (!changedResources.size) {
603
+ continue;
604
+ }
605
+ for (const uri of changedResources) {
606
+ const workspaceFolder = this.contextService.getWorkspaceFolder(uri);
607
+ if (!workspaceFolder || ( createdEditSessionIdentities.has(uri))) {
608
+ continue;
609
+ }
610
+ createdEditSessionIdentities.add(uri);
611
+ await this.editSessionIdentityService.onWillCreateEditSessionIdentity(workspaceFolder, cancellationToken);
612
+ }
613
+ }
598
614
  for (const repository of this.scmService.repositories) {
599
615
  const trackedUris = this.getChangedResources(repository);
600
616
  const workingChanges = [];
@@ -607,7 +623,6 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
607
623
  this.logService.info(`Skipping working change ${( uri.toString())} as no associated workspace folder was found.`);
608
624
  continue;
609
625
  }
610
- await this.editSessionIdentityService.onWillCreateEditSessionIdentity(workspaceFolder, cancellationToken);
611
626
  name = name ?? workspaceFolder.name;
612
627
  const relativeFilePath = relativePath(workspaceFolder.uri, uri) ?? uri.path;
613
628
  try {
@@ -621,7 +636,7 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
621
636
  const contents = encodeBase64((await this.fileService.readFile(uri)).value);
622
637
  editSessionSize += contents.length;
623
638
  if (editSessionSize > this.editSessionsStorageService.SIZE_LIMIT) {
624
- this.notificationService.error(( localize(6060, 'Your working changes exceed the size limit and cannot be stored.')));
639
+ this.notificationService.error(( localize(6147, 'Your working changes exceed the size limit and cannot be stored.')));
625
640
  return undefined;
626
641
  }
627
642
  workingChanges.push({ type: ChangeType.Addition, fileType: FileType.File, contents: contents, relativeFilePath: relativeFilePath });
@@ -641,7 +656,7 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
641
656
  this.logService.info('Skipped storing working changes in the cloud as there are no edits to store.');
642
657
  if (fromStoreCommand) {
643
658
  this.notificationService.info(( localize(
644
- 6061,
659
+ 6148,
645
660
  'Skipped storing working changes in the cloud as there are no edits to store.'
646
661
  )));
647
662
  }
@@ -660,11 +675,11 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
660
675
  switch (ex.code) {
661
676
  case UserDataSyncErrorCode.TooLarge:
662
677
  this.telemetryService.publicLog2('editSessions.upload.failed', { reason: 'TooLarge' });
663
- this.notificationService.error(( localize(6060, 'Your working changes exceed the size limit and cannot be stored.')));
678
+ this.notificationService.error(( localize(6147, 'Your working changes exceed the size limit and cannot be stored.')));
664
679
  break;
665
680
  default:
666
681
  this.telemetryService.publicLog2('editSessions.upload.failed', { reason: 'unknown' });
667
- this.notificationService.error(( localize(6062, 'Your working changes cannot be stored.')));
682
+ this.notificationService.error(( localize(6149, 'Your working changes cannot be stored.')));
668
683
  break;
669
684
  }
670
685
  }
@@ -696,11 +711,11 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
696
711
  if (this.hasEditSession()) {
697
712
  const disposables = ( new DisposableStore());
698
713
  const quickpick = disposables.add(this.quickInputService.createQuickPick());
699
- quickpick.placeholder = ( localize(6063, "Select whether to bring your working changes with you"));
714
+ quickpick.placeholder = ( localize(6150, "Select whether to bring your working changes with you"));
700
715
  quickpick.ok = false;
701
716
  quickpick.ignoreFocusOut = true;
702
- const withCloudChanges = { label: ( localize(6064, "Yes, continue with my working changes")) };
703
- const withoutCloudChanges = { label: ( localize(6065, "No, continue without my working changes")) };
717
+ const withCloudChanges = { label: ( localize(6151, "Yes, continue with my working changes")) };
718
+ const withoutCloudChanges = { label: ( localize(6152, "No, continue without my working changes")) };
704
719
  quickpick.items = [withCloudChanges, withoutCloudChanges];
705
720
  const continueWithCloudChanges = await ( new Promise((resolve, reject) => {
706
721
  disposables.add(quickpick.onDidAccept(() => {
@@ -793,7 +808,7 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
793
808
  }
794
809
  async run(accessor) {
795
810
  const selection = await that.fileDialogService.showOpenDialog({
796
- title: ( localize(6066, 'Select a local folder to continue working in')),
811
+ title: ( localize(6153, 'Select a local folder to continue working in')),
797
812
  canSelectFolders: true,
798
813
  canSelectMany: false,
799
814
  canSelectFiles: false,
@@ -807,7 +822,7 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
807
822
  }
808
823
  }));
809
824
  if (getVirtualWorkspaceLocation(this.contextService.getWorkspace()) !== undefined && isNative) {
810
- this.generateStandaloneOptionCommand(openLocalFolderCommand.id, ( localize(6067, 'Continue Working in Existing Local Folder')), undefined, openLocalFolderCommand.precondition, undefined);
825
+ this.generateStandaloneOptionCommand(openLocalFolderCommand.id, ( localize(6154, 'Continue Working in Existing Local Folder')), undefined, openLocalFolderCommand.precondition, undefined);
811
826
  }
812
827
  }
813
828
  async pickContinueEditSessionDestination() {
@@ -817,7 +832,7 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
817
832
  ? this.contextService.getWorkspace().folders[0].name
818
833
  : ( this.contextService.getWorkspace().folders.map((folder) => folder.name)).join(', ');
819
834
  quickPick.placeholder = ( localize(
820
- 6068,
835
+ 6155,
821
836
  "Select a development environment to continue working on {0} in",
822
837
  `'${workspaceContext}'`
823
838
  ));
@@ -878,7 +893,7 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
878
893
  createPickItems() {
879
894
  const items = [...this.continueEditSessionOptions].filter((option) => option.when === undefined || this.contextKeyService.contextMatchesRules(option.when));
880
895
  if (getVirtualWorkspaceLocation(this.contextService.getWorkspace()) !== undefined && isNative) {
881
- items.push(( new ContinueEditSessionItem('$(folder) ' + ( localize(6069, 'Open in Local Folder')), openLocalFolderCommand.id, ( localize(6070, 'Built-in')))));
896
+ items.push(( new ContinueEditSessionItem('$(folder) ' + ( localize(6156, 'Open in Local Folder')), openLocalFolderCommand.id, ( localize(6157, 'Built-in')))));
882
897
  }
883
898
  const sortedItems = items.sort((item1, item2) => item1.label.localeCompare(item2.label));
884
899
  return sortedItems.concat({ type: 'separator' }, ( new ContinueEditSessionItem(
@@ -929,7 +944,7 @@ class ContinueEditSessionItem {
929
944
  if (documentation !== undefined) {
930
945
  this.buttons = [{
931
946
  iconClass: infoButtonClass,
932
- tooltip: ( localize(6071, 'Learn More')),
947
+ tooltip: ( localize(6158, 'Learn More')),
933
948
  }];
934
949
  }
935
950
  }
@@ -938,7 +953,7 @@ const continueEditSessionExtPoint = ExtensionsRegistry.registerExtensionPoint({
938
953
  extensionPoint: 'continueEditSession',
939
954
  jsonSchema: {
940
955
  description: ( localize(
941
- 6072,
956
+ 6159,
942
957
  'Contributes options for continuing the current edit session in a different environment'
943
958
  )),
944
959
  type: 'array',
@@ -947,35 +962,35 @@ const continueEditSessionExtPoint = ExtensionsRegistry.registerExtensionPoint({
947
962
  properties: {
948
963
  command: {
949
964
  description: ( localize(
950
- 6073,
965
+ 6160,
951
966
  'Identifier of the command to execute. The command must be declared in the \'commands\'-section and return a URI representing a different environment where the current edit session can be continued.'
952
967
  )),
953
968
  type: 'string'
954
969
  },
955
970
  group: {
956
- description: ( localize(6074, 'Group into which this item belongs.')),
971
+ description: ( localize(6161, 'Group into which this item belongs.')),
957
972
  type: 'string'
958
973
  },
959
974
  qualifiedName: {
960
975
  description: ( localize(
961
- 6075,
976
+ 6162,
962
977
  'A fully qualified name for this item which is used for display in menus.'
963
978
  )),
964
979
  type: 'string'
965
980
  },
966
981
  description: {
967
982
  description: ( localize(
968
- 6076,
983
+ 6163,
969
984
  "The url, or a command that returns the url, to the option's documentation page."
970
985
  )),
971
986
  type: 'string'
972
987
  },
973
988
  remoteGroup: {
974
- description: ( localize(6077, 'Group into which this item belongs in the remote indicator.')),
989
+ description: ( localize(6164, 'Group into which this item belongs in the remote indicator.')),
975
990
  type: 'string'
976
991
  },
977
992
  when: {
978
- description: ( localize(6078, 'Condition which must be true to show this item.')),
993
+ description: ( localize(6165, 'Condition which must be true to show this item.')),
979
994
  type: 'string'
980
995
  }
981
996
  },
@@ -992,16 +1007,16 @@ workbenchRegistry.registerWorkbenchContribution(EditSessionsContribution, Lifecy
992
1007
  enum: ['onShutdown', 'off'],
993
1008
  enumDescriptions: [
994
1009
  ( localize(
995
- 6079,
1010
+ 6166,
996
1011
  "Automatically store current working changes in the cloud on window close."
997
1012
  )),
998
- ( localize(6080, "Never attempt to automatically store working changes in the cloud."))
1013
+ ( localize(6167, "Never attempt to automatically store working changes in the cloud."))
999
1014
  ],
1000
1015
  'type': 'string',
1001
1016
  'tags': ['experimental', 'usesOnlineServices'],
1002
1017
  'default': 'off',
1003
1018
  'markdownDescription': ( localize(
1004
- 6081,
1019
+ 6168,
1005
1020
  "Controls whether to automatically store available working changes in the cloud for the current workspace. This setting has no effect in the web."
1006
1021
  )),
1007
1022
  },
@@ -1009,16 +1024,16 @@ workbenchRegistry.registerWorkbenchContribution(EditSessionsContribution, Lifecy
1009
1024
  enum: ['onReload', 'off'],
1010
1025
  enumDescriptions: [
1011
1026
  ( localize(
1012
- 6082,
1027
+ 6169,
1013
1028
  "Automatically resume available working changes from the cloud on window reload."
1014
1029
  )),
1015
- ( localize(6083, "Never attempt to resume working changes from the cloud."))
1030
+ ( localize(6170, "Never attempt to resume working changes from the cloud."))
1016
1031
  ],
1017
1032
  'type': 'string',
1018
1033
  'tags': ['usesOnlineServices'],
1019
1034
  'default': 'onReload',
1020
1035
  'markdownDescription': ( localize(
1021
- 6084,
1036
+ 6171,
1022
1037
  "Controls whether to automatically resume available working changes stored in the cloud for the current workspace."
1023
1038
  )),
1024
1039
  },
@@ -1026,11 +1041,11 @@ workbenchRegistry.registerWorkbenchContribution(EditSessionsContribution, Lifecy
1026
1041
  enum: ['prompt', 'off'],
1027
1042
  enumDescriptions: [
1028
1043
  ( localize(
1029
- 6085,
1044
+ 6172,
1030
1045
  'Prompt the user to sign in to store working changes in the cloud with Continue Working On.'
1031
1046
  )),
1032
1047
  ( localize(
1033
- 6086,
1048
+ 6173,
1034
1049
  'Do not store working changes in the cloud with Continue Working On unless the user has already turned on Cloud Changes.'
1035
1050
  ))
1036
1051
  ],
@@ -1038,7 +1053,7 @@ workbenchRegistry.registerWorkbenchContribution(EditSessionsContribution, Lifecy
1038
1053
  tags: ['usesOnlineServices'],
1039
1054
  default: 'prompt',
1040
1055
  markdownDescription: ( localize(
1041
- 6087,
1056
+ 6174,
1042
1057
  'Controls whether to prompt the user to store working changes in the cloud when using Continue Working On.'
1043
1058
  ))
1044
1059
  },
@@ -1047,7 +1062,7 @@ workbenchRegistry.registerWorkbenchContribution(EditSessionsContribution, Lifecy
1047
1062
  'tags': ['experimental', 'usesOnlineServices'],
1048
1063
  'default': false,
1049
1064
  'markdownDescription': ( localize(
1050
- 6088,
1065
+ 6175,
1051
1066
  "Controls whether to surface cloud changes which partially match the current session."
1052
1067
  ))
1053
1068
  }
@@ -234,7 +234,7 @@ let EditSessionsWorkbenchService = class EditSessionsWorkbenchService extends Di
234
234
  const disposables = ( new DisposableStore());
235
235
  const quickpick = disposables.add(this.quickInputService.createQuickPick({ useSeparators: true }));
236
236
  quickpick.ok = false;
237
- quickpick.placeholder = reason === 'read' ? ( localize(6089, "Select an account to restore your working changes from the cloud")) : ( localize(6090, "Select an account to store your working changes in the cloud"));
237
+ quickpick.placeholder = reason === 'read' ? ( localize(6176, "Select an account to restore your working changes from the cloud")) : ( localize(6177, "Select an account to store your working changes in the cloud"));
238
238
  quickpick.ignoreFocusOut = true;
239
239
  quickpick.items = await this.createQuickpickItems();
240
240
  return ( new Promise((resolve, reject) => {
@@ -253,15 +253,15 @@ let EditSessionsWorkbenchService = class EditSessionsWorkbenchService extends Di
253
253
  }
254
254
  async createQuickpickItems() {
255
255
  const options = [];
256
- options.push({ type: 'separator', label: ( localize(6091, "Signed In")) });
256
+ options.push({ type: 'separator', label: ( localize(6178, "Signed In")) });
257
257
  const sessions = await this.getAllSessions();
258
258
  options.push(...sessions);
259
- options.push({ type: 'separator', label: ( localize(6092, "Others")) });
259
+ options.push({ type: 'separator', label: ( localize(6179, "Others")) });
260
260
  for (const authenticationProvider of (await this.getAuthenticationProviders())) {
261
261
  const signedInForProvider = ( sessions.some(account => account.session.providerId === authenticationProvider.id));
262
262
  if (!signedInForProvider || this.authenticationService.getProvider(authenticationProvider.id).supportsMultipleAccounts) {
263
263
  const providerName = this.authenticationService.getProvider(authenticationProvider.id).label;
264
- options.push({ label: ( localize(6093, "Sign in with {0}", providerName)), provider: authenticationProvider });
264
+ options.push({ label: ( localize(6180, "Sign in with {0}", providerName)), provider: authenticationProvider });
265
265
  }
266
266
  }
267
267
  return options;
@@ -350,7 +350,7 @@ let EditSessionsWorkbenchService = class EditSessionsWorkbenchService extends Di
350
350
  constructor() {
351
351
  super({
352
352
  id,
353
- title: ( localize(6094, 'Turn on Cloud Changes...')),
353
+ title: ( localize(6181, 'Turn on Cloud Changes...')),
354
354
  category: EDIT_SESSION_SYNC_CATEGORY,
355
355
  precondition: when,
356
356
  menu: [{
@@ -371,7 +371,7 @@ let EditSessionsWorkbenchService = class EditSessionsWorkbenchService extends Di
371
371
  group: '2_editSessions',
372
372
  command: {
373
373
  id,
374
- title: ( localize(6095, 'Turn on Cloud Changes... (1)')),
374
+ title: ( localize(6182, 'Turn on Cloud Changes... (1)')),
375
375
  },
376
376
  when: ( ContextKeyExpr.and(( ContextKeyExpr.equals(EDIT_SESSIONS_PENDING_KEY, true)), ( ContextKeyExpr.equals(EDIT_SESSIONS_SIGNED_IN_KEY, false))))
377
377
  })));
@@ -382,7 +382,7 @@ let EditSessionsWorkbenchService = class EditSessionsWorkbenchService extends Di
382
382
  constructor() {
383
383
  super({
384
384
  id: 'workbench.editSessions.actions.resetAuth',
385
- title: ( localize(6096, 'Turn off Cloud Changes...')),
385
+ title: ( localize(6183, 'Turn off Cloud Changes...')),
386
386
  category: EDIT_SESSION_SYNC_CATEGORY,
387
387
  precondition: ( ContextKeyExpr.equals(EDIT_SESSIONS_SIGNED_IN_KEY, true)),
388
388
  menu: [{
@@ -397,8 +397,8 @@ let EditSessionsWorkbenchService = class EditSessionsWorkbenchService extends Di
397
397
  }
398
398
  async run() {
399
399
  const result = await that.dialogService.confirm({
400
- message: ( localize(6097, 'Do you want to disable storing working changes in the cloud?')),
401
- checkbox: { label: ( localize(6098, 'Delete all stored data from the cloud.')) }
400
+ message: ( localize(6184, 'Do you want to disable storing working changes in the cloud?')),
401
+ checkbox: { label: ( localize(6185, 'Delete all stored data from the cloud.')) }
402
402
  });
403
403
  if (result.confirmed) {
404
404
  if (result.checkboxChecked) {
@@ -12,7 +12,7 @@ import { IEditSessionsStorageService } from '@codingame/monaco-vscode-api/vscode
12
12
  import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
13
13
  import { fromNow } from '@codingame/monaco-vscode-api/vscode/vs/base/common/date';
14
14
  import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
15
- import { API_OPEN_EDITOR_COMMAND_ID } from '@codingame/monaco-vscode-38f25ab8-ea30-5ba9-8a08-ae3308c297c0-common/vscode/vs/workbench/browser/parts/editor/editorCommands';
15
+ import { API_OPEN_EDITOR_COMMAND_ID } from '@codingame/monaco-vscode-f48982c4-9e82-55e2-b800-20e6d1e6096f-common/vscode/vs/workbench/browser/parts/editor/editorCommands';
16
16
  import { registerAction2, Action2, MenuId } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
17
17
  import { RawContextKey, ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
18
18
  import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
@@ -52,9 +52,9 @@ let EditSessionsDataViews = class EditSessionsDataViews extends Disposable {
52
52
  }], container);
53
53
  viewsRegistry.registerViewWelcomeContent(viewId, {
54
54
  content: ( localize(
55
- 6099,
55
+ 6186,
56
56
  'You have no stored changes in the cloud to display.\n{0}',
57
- `[${( localize(6100, 'Store Working Changes'))}](command:workbench.editSessions.actions.store)`
57
+ `[${( localize(6187, 'Store Working Changes'))}](command:workbench.editSessions.actions.store)`
58
58
  )),
59
59
  when: ( ContextKeyExpr.equals(EDIT_SESSIONS_COUNT_KEY, 0)),
60
60
  order: 1
@@ -63,7 +63,7 @@ let EditSessionsDataViews = class EditSessionsDataViews extends Disposable {
63
63
  constructor() {
64
64
  super({
65
65
  id: 'workbench.editSessions.actions.resume',
66
- title: ( localize(6101, "Resume Working Changes")),
66
+ title: ( localize(6188, "Resume Working Changes")),
67
67
  icon: Codicon.desktopDownload,
68
68
  menu: {
69
69
  id: MenuId.ViewItemContext,
@@ -83,7 +83,7 @@ let EditSessionsDataViews = class EditSessionsDataViews extends Disposable {
83
83
  constructor() {
84
84
  super({
85
85
  id: 'workbench.editSessions.actions.store',
86
- title: ( localize(6102, "Store Working Changes")),
86
+ title: ( localize(6189, "Store Working Changes")),
87
87
  icon: Codicon.cloudUpload,
88
88
  });
89
89
  }
@@ -97,7 +97,7 @@ let EditSessionsDataViews = class EditSessionsDataViews extends Disposable {
97
97
  constructor() {
98
98
  super({
99
99
  id: 'workbench.editSessions.actions.delete',
100
- title: ( localize(6103, "Delete Working Changes")),
100
+ title: ( localize(6190, "Delete Working Changes")),
101
101
  icon: Codicon.trash,
102
102
  menu: {
103
103
  id: MenuId.ViewItemContext,
@@ -112,11 +112,11 @@ let EditSessionsDataViews = class EditSessionsDataViews extends Disposable {
112
112
  const editSessionStorageService = accessor.get(IEditSessionsStorageService);
113
113
  const result = await dialogService.confirm({
114
114
  message: ( localize(
115
- 6104,
115
+ 6191,
116
116
  'Are you sure you want to permanently delete your working changes with ref {0}?',
117
117
  editSessionId
118
118
  )),
119
- detail: ( localize(6105, ' You cannot undo this action.')),
119
+ detail: ( localize(6192, ' You cannot undo this action.')),
120
120
  type: 'warning',
121
121
  title: EDIT_SESSIONS_TITLE.value
122
122
  });
@@ -130,7 +130,7 @@ let EditSessionsDataViews = class EditSessionsDataViews extends Disposable {
130
130
  constructor() {
131
131
  super({
132
132
  id: 'workbench.editSessions.actions.deleteAll',
133
- title: ( localize(6106, "Delete All Working Changes from Cloud")),
133
+ title: ( localize(6193, "Delete All Working Changes from Cloud")),
134
134
  icon: Codicon.trash,
135
135
  menu: {
136
136
  id: MenuId.ViewTitle,
@@ -143,10 +143,10 @@ let EditSessionsDataViews = class EditSessionsDataViews extends Disposable {
143
143
  const editSessionStorageService = accessor.get(IEditSessionsStorageService);
144
144
  const result = await dialogService.confirm({
145
145
  message: ( localize(
146
- 6107,
146
+ 6194,
147
147
  'Are you sure you want to permanently delete all stored changes from the cloud?'
148
148
  )),
149
- detail: ( localize(6108, ' You cannot undo this action.')),
149
+ detail: ( localize(6195, ' You cannot undo this action.')),
150
150
  type: 'warning',
151
151
  title: EDIT_SESSIONS_TITLE.value
152
152
  });
@@ -258,11 +258,11 @@ let EditSessionDataViewDataProvider = class EditSessionDataViewDataProvider {
258
258
  themeIcon: Codicon.file,
259
259
  command: {
260
260
  id: 'vscode.diff',
261
- title: ( localize(6109, 'Compare Changes')),
261
+ title: ( localize(6196, 'Compare Changes')),
262
262
  arguments: [
263
263
  localCopy,
264
264
  cloudChangeUri,
265
- `${basename(change.relativeFilePath)} (${( localize(6110, 'Local Copy'))} \u2194 ${( localize(6111, 'Cloud Changes'))})`,
265
+ `${basename(change.relativeFilePath)} (${( localize(6197, 'Local Copy'))} \u2194 ${( localize(6198, 'Cloud Changes'))})`,
266
266
  undefined
267
267
  ]
268
268
  }
@@ -277,7 +277,7 @@ let EditSessionDataViewDataProvider = class EditSessionDataViewDataProvider {
277
277
  themeIcon: Codicon.file,
278
278
  command: {
279
279
  id: API_OPEN_EDITOR_COMMAND_ID,
280
- title: ( localize(6112, 'Open File')),
280
+ title: ( localize(6199, 'Open File')),
281
281
  arguments: [cloudChangeUri, undefined, undefined]
282
282
  }
283
283
  };
@@ -6,7 +6,7 @@ import { RawContextKey } from '@codingame/monaco-vscode-api/vscode/vs/platform/c
6
6
  import { registerIcon } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/iconRegistry';
7
7
  import { StringSHA1 } from '@codingame/monaco-vscode-api/vscode/vs/base/common/hash';
8
8
 
9
- const EDIT_SESSION_SYNC_CATEGORY = ( localize2(6113, 'Cloud Changes'));
9
+ const EDIT_SESSION_SYNC_CATEGORY = ( localize2(6200, 'Cloud Changes'));
10
10
  var ChangeType;
11
11
  (function (ChangeType) {
12
12
  ChangeType[ChangeType["Addition"] = 1] = "Addition";
@@ -23,8 +23,8 @@ const EDIT_SESSIONS_PENDING_KEY = 'editSessionsPending';
23
23
  const EDIT_SESSIONS_PENDING = ( new RawContextKey(EDIT_SESSIONS_PENDING_KEY, false));
24
24
  const EDIT_SESSIONS_CONTAINER_ID = 'workbench.view.editSessions';
25
25
  const EDIT_SESSIONS_DATA_VIEW_ID = 'workbench.views.editSessions.data';
26
- const EDIT_SESSIONS_TITLE = ( localize2(6113, 'Cloud Changes'));
27
- const EDIT_SESSIONS_VIEW_ICON = registerIcon('edit-sessions-view-icon', Codicon.cloudDownload, ( localize(6114, 'View icon of the cloud changes view.')));
26
+ const EDIT_SESSIONS_TITLE = ( localize2(6200, 'Cloud Changes'));
27
+ const EDIT_SESSIONS_VIEW_ICON = registerIcon('edit-sessions-view-icon', Codicon.cloudDownload, ( localize(6201, 'View icon of the cloud changes view.')));
28
28
  const EDIT_SESSIONS_SHOW_VIEW = ( new RawContextKey('editSessionsShowView', false));
29
29
  const EDIT_SESSIONS_SCHEME = 'vscode-edit-sessions';
30
30
  function decodeEditSessionFileContent(version, content) {
@@ -11,7 +11,7 @@ import { editSessionsLogId } from './editSessions.js';
11
11
  let EditSessionsLogService = class EditSessionsLogService extends AbstractLogger {
12
12
  constructor(loggerService, environmentService) {
13
13
  super();
14
- this.logger = this._register(loggerService.createLogger(joinPath(environmentService.logsHome, `${editSessionsLogId}.log`), { id: editSessionsLogId, name: ( localize(6115, "Cloud Changes")), group: windowLogGroup }));
14
+ this.logger = this._register(loggerService.createLogger(joinPath(environmentService.logsHome, `${editSessionsLogId}.log`), { id: editSessionsLogId, name: ( localize(6202, "Cloud Changes")), group: windowLogGroup }));
15
15
  }
16
16
  trace(message, ...args) {
17
17
  this.logger.trace(message, ...args);