@codingame/monaco-vscode-user-data-profile-service-override 11.1.2 → 12.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/index.d.ts +2 -1
- package/index.js +126 -1
- package/package.json +31 -8
- package/vscode/src/vs/base/browser/ui/radio/radio.css.js +1 -1
- package/vscode/src/vs/base/browser/ui/radio/radio.d.ts +37 -0
- package/vscode/src/vs/base/browser/ui/radio/radio.js +1 -0
- package/vscode/src/vs/platform/userDataProfile/browser/userDataProfile.d.ts +16 -0
- package/vscode/src/vs/platform/userDataProfile/browser/userDataProfile.js +3 -2
- package/vscode/src/vs/platform/userDataProfile/common/userDataProfileStorageService.d.ts +42 -0
- package/vscode/src/vs/platform/userDataProfile/common/userDataProfileStorageService.js +10 -11
- package/vscode/src/vs/workbench/contrib/userDataProfile/browser/media/userDataProfilesEditor.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/userDataProfile/browser/userDataProfile.contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/userDataProfile/browser/userDataProfile.contribution.js +3 -2
- package/vscode/src/vs/workbench/contrib/userDataProfile/browser/userDataProfile.d.ts +53 -0
- package/vscode/src/vs/workbench/contrib/userDataProfile/browser/userDataProfile.js +65 -63
- package/vscode/src/vs/workbench/contrib/userDataProfile/browser/userDataProfileActions.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/userDataProfile/browser/userDataProfileActions.js +5 -4
- package/vscode/src/vs/workbench/contrib/userDataProfile/browser/userDataProfilesEditor.d.ts +73 -0
- package/vscode/src/vs/workbench/contrib/userDataProfile/browser/userDataProfilesEditor.js +298 -307
- package/vscode/src/vs/workbench/contrib/userDataProfile/browser/userDataProfilesEditorModel.d.ts +236 -0
- package/vscode/src/vs/workbench/contrib/userDataProfile/browser/userDataProfilesEditorModel.js +168 -166
- package/vscode/src/vs/workbench/contrib/userDataProfile/common/userDataProfile.d.ts +7 -0
- package/vscode/src/vs/workbench/services/userData/browser/userDataInit.d.ts +19 -0
- package/vscode/src/vs/workbench/services/userData/browser/userDataInit.js +4 -2
- package/vscode/src/vs/workbench/services/userDataProfile/browser/extensionsResource.d.ts +77 -0
- package/vscode/src/vs/workbench/services/userDataProfile/browser/extensionsResource.js +83 -82
- package/vscode/src/vs/workbench/services/userDataProfile/browser/globalStateResource.d.ts +58 -0
- package/vscode/src/vs/workbench/services/userDataProfile/browser/globalStateResource.js +31 -28
- package/vscode/src/vs/workbench/services/userDataProfile/browser/keybindingsResource.d.ts +47 -0
- package/vscode/src/vs/workbench/services/userDataProfile/browser/keybindingsResource.js +24 -24
- package/vscode/src/vs/workbench/services/userDataProfile/browser/media/userDataProfileView.css.js +1 -1
- package/vscode/src/vs/workbench/services/userDataProfile/browser/settingsResource.d.ts +48 -0
- package/vscode/src/vs/workbench/services/userDataProfile/browser/settingsResource.js +29 -29
- package/vscode/src/vs/workbench/services/userDataProfile/browser/snippetsResource.d.ts +43 -0
- package/vscode/src/vs/workbench/services/userDataProfile/browser/snippetsResource.js +54 -54
- package/vscode/src/vs/workbench/services/userDataProfile/browser/tasksResource.d.ts +45 -0
- package/vscode/src/vs/workbench/services/userDataProfile/browser/tasksResource.js +24 -24
- package/vscode/src/vs/workbench/services/userDataProfile/browser/userDataProfileImportExportService.d.ts +63 -0
- package/vscode/src/vs/workbench/services/userDataProfile/browser/userDataProfileImportExportService.js +106 -111
- package/vscode/src/vs/workbench/services/userDataProfile/browser/userDataProfileInit.d.ts +32 -0
- package/vscode/src/vs/workbench/services/userDataProfile/browser/userDataProfileInit.js +11 -8
- package/vscode/src/vs/workbench/services/userDataProfile/browser/userDataProfileManagement.d.ts +58 -0
- package/vscode/src/vs/workbench/services/userDataProfile/browser/userDataProfileManagement.js +35 -33
- package/vscode/src/vs/workbench/services/userDataProfile/browser/userDataProfileStorageService.d.ts +18 -0
- package/vscode/src/vs/workbench/services/userDataProfile/browser/userDataProfileStorageService.js +7 -5
- package/vscode/src/vs/workbench/services/userDataSync/browser/userDataSyncInit.d.ts +45 -0
- package/vscode/src/vs/workbench/services/userDataSync/browser/userDataSyncInit.js +25 -22
- package/vscode/src/vs/workbench/services/userDataSync/common/userDataSyncUtil.d.ts +18 -0
- package/vscode/src/vs/workbench/services/userDataSync/common/userDataSyncUtil.js +3 -1
- package/userDataProfile.js +0 -125
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from 'vscode/external/tslib/tslib.es6';
|
|
3
|
+
import { StorageScope } from 'vscode/vscode/vs/platform/storage/common/storage';
|
|
2
4
|
import { IStorageService } from 'vscode/vscode/vs/platform/storage/common/storage.service';
|
|
3
5
|
import { IFileService } from 'vscode/vscode/vs/platform/files/common/files.service';
|
|
4
6
|
import { ILogService } from 'vscode/vscode/vs/platform/log/common/log.service';
|
|
@@ -17,6 +19,7 @@ import { asJson } from 'vscode/vscode/vs/platform/request/common/request';
|
|
|
17
19
|
import { IRequestService } from 'vscode/vscode/vs/platform/request/common/request.service';
|
|
18
20
|
import { CancellationToken } from 'vscode/vscode/vs/base/common/cancellation';
|
|
19
21
|
import { URI } from 'vscode/vscode/vs/base/common/uri';
|
|
22
|
+
import { ProfileResourceType } from 'vscode/vscode/vs/platform/userDataProfile/common/userDataProfile';
|
|
20
23
|
|
|
21
24
|
let UserDataProfileInitializer = class UserDataProfileInitializer {
|
|
22
25
|
constructor(environmentService, fileService, userDataProfileService, storageService, logService, uriIdentityService, requestService) {
|
|
@@ -37,7 +40,7 @@ let UserDataProfileInitializer = class UserDataProfileInitializer {
|
|
|
37
40
|
if (!this.environmentService.options?.profile?.contents) {
|
|
38
41
|
return false;
|
|
39
42
|
}
|
|
40
|
-
if (!this.storageService.isNew(
|
|
43
|
+
if (!this.storageService.isNew(StorageScope.PROFILE)) {
|
|
41
44
|
return false;
|
|
42
45
|
}
|
|
43
46
|
return true;
|
|
@@ -47,10 +50,10 @@ let UserDataProfileInitializer = class UserDataProfileInitializer {
|
|
|
47
50
|
const promises = [];
|
|
48
51
|
const profileTemplate = await this.getProfileTemplate();
|
|
49
52
|
if (profileTemplate?.settings) {
|
|
50
|
-
promises.push(this.initialize(( new SettingsResourceInitializer(this.userDataProfileService, this.fileService, this.logService)), profileTemplate.settings,
|
|
53
|
+
promises.push(this.initialize(( new SettingsResourceInitializer(this.userDataProfileService, this.fileService, this.logService)), profileTemplate.settings, ProfileResourceType.Settings));
|
|
51
54
|
}
|
|
52
55
|
if (profileTemplate?.globalState) {
|
|
53
|
-
promises.push(this.initialize(( new GlobalStateResourceInitializer(this.storageService)), profileTemplate.globalState,
|
|
56
|
+
promises.push(this.initialize(( new GlobalStateResourceInitializer(this.storageService)), profileTemplate.globalState, ProfileResourceType.GlobalState));
|
|
54
57
|
}
|
|
55
58
|
await Promise.all(promises);
|
|
56
59
|
}
|
|
@@ -60,13 +63,13 @@ let UserDataProfileInitializer = class UserDataProfileInitializer {
|
|
|
60
63
|
const promises = [];
|
|
61
64
|
const profileTemplate = await this.getProfileTemplate();
|
|
62
65
|
if (profileTemplate?.keybindings) {
|
|
63
|
-
promises.push(this.initialize(( new KeybindingsResourceInitializer(this.userDataProfileService, this.fileService, this.logService)), profileTemplate.keybindings,
|
|
66
|
+
promises.push(this.initialize(( new KeybindingsResourceInitializer(this.userDataProfileService, this.fileService, this.logService)), profileTemplate.keybindings, ProfileResourceType.Keybindings));
|
|
64
67
|
}
|
|
65
68
|
if (profileTemplate?.tasks) {
|
|
66
|
-
promises.push(this.initialize(( new TasksResourceInitializer(this.userDataProfileService, this.fileService, this.logService)), profileTemplate.tasks,
|
|
69
|
+
promises.push(this.initialize(( new TasksResourceInitializer(this.userDataProfileService, this.fileService, this.logService)), profileTemplate.tasks, ProfileResourceType.Tasks));
|
|
67
70
|
}
|
|
68
71
|
if (profileTemplate?.snippets) {
|
|
69
|
-
promises.push(this.initialize(( new SnippetsResourceInitializer(this.userDataProfileService, this.fileService, this.uriIdentityService)), profileTemplate.snippets,
|
|
72
|
+
promises.push(this.initialize(( new SnippetsResourceInitializer(this.userDataProfileService, this.fileService, this.uriIdentityService)), profileTemplate.snippets, ProfileResourceType.Snippets));
|
|
70
73
|
}
|
|
71
74
|
promises.push(this.initializeInstalledExtensions(instantiationService));
|
|
72
75
|
await Promises.settled(promises);
|
|
@@ -79,7 +82,7 @@ let UserDataProfileInitializer = class UserDataProfileInitializer {
|
|
|
79
82
|
if (!this.initializeInstalledExtensionsPromise) {
|
|
80
83
|
const profileTemplate = await this.getProfileTemplate();
|
|
81
84
|
if (profileTemplate?.extensions) {
|
|
82
|
-
this.initializeInstalledExtensionsPromise = this.initialize(instantiationService.createInstance(ExtensionsResourceInitializer), profileTemplate.extensions,
|
|
85
|
+
this.initializeInstalledExtensionsPromise = this.initialize(instantiationService.createInstance(ExtensionsResourceInitializer), profileTemplate.extensions, ProfileResourceType.Extensions);
|
|
83
86
|
}
|
|
84
87
|
else {
|
|
85
88
|
this.initializeInstalledExtensionsPromise = Promise.resolve();
|
package/vscode/src/vs/workbench/services/userDataProfile/browser/userDataProfileManagement.d.ts
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Disposable } from "vscode/vscode/vs/base/common/lifecycle";
|
|
2
|
+
import { IConfigurationService } from "vscode/vscode/vs/platform/configuration/common/configuration.service";
|
|
3
|
+
import { IDialogService } from "vscode/vscode/vs/platform/dialogs/common/dialogs.service";
|
|
4
|
+
import { ILogService } from "vscode/vscode/vs/platform/log/common/log.service";
|
|
5
|
+
import { IProductService } from "vscode/vscode/vs/platform/product/common/productService.service";
|
|
6
|
+
import { IRequestService } from "vscode/vscode/vs/platform/request/common/request.service";
|
|
7
|
+
import { ITelemetryService } from "vscode/vscode/vs/platform/telemetry/common/telemetry.service";
|
|
8
|
+
import { IUriIdentityService } from "vscode/vscode/vs/platform/uriIdentity/common/uriIdentity.service";
|
|
9
|
+
import { IUserDataProfile, IUserDataProfileOptions, IUserDataProfileUpdateOptions } from "vscode/vscode/vs/platform/userDataProfile/common/userDataProfile";
|
|
10
|
+
import { IUserDataProfilesService } from "vscode/vscode/vs/platform/userDataProfile/common/userDataProfile.service";
|
|
11
|
+
import { IWorkspaceContextService } from "vscode/vscode/vs/platform/workspace/common/workspace.service";
|
|
12
|
+
import { IWorkbenchEnvironmentService } from "vscode/vscode/vs/workbench/services/environment/common/environmentService.service";
|
|
13
|
+
import { IExtensionService } from "vscode/vscode/vs/workbench/services/extensions/common/extensions.service";
|
|
14
|
+
import { IHostService } from "vscode/vscode/vs/workbench/services/host/browser/host.service";
|
|
15
|
+
import { IProfileTemplateInfo } from "@codingame/monaco-vscode-e72c94ca-257a-5b75-8b68-5a5fa3c18255-common/vscode/vs/workbench/services/userDataProfile/common/userDataProfile";
|
|
16
|
+
import { IUserDataProfileManagementService } from "vscode/vscode/vs/workbench/services/userDataProfile/common/userDataProfile.service";
|
|
17
|
+
import { IUserDataProfileService } from "vscode/vscode/vs/workbench/services/userDataProfile/common/userDataProfile.service";
|
|
18
|
+
export type ProfileManagementActionExecutedClassification = {
|
|
19
|
+
owner: "sandy081";
|
|
20
|
+
comment: "Logged when profile management action is excuted";
|
|
21
|
+
id: {
|
|
22
|
+
classification: "SystemMetaData";
|
|
23
|
+
purpose: "FeatureInsight";
|
|
24
|
+
comment: "The identifier of the action that was run.";
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
export type ProfileManagementActionExecutedEvent = {
|
|
28
|
+
id: string;
|
|
29
|
+
};
|
|
30
|
+
export declare class UserDataProfileManagementService extends Disposable implements IUserDataProfileManagementService {
|
|
31
|
+
private readonly userDataProfilesService;
|
|
32
|
+
private readonly userDataProfileService;
|
|
33
|
+
private readonly hostService;
|
|
34
|
+
private readonly dialogService;
|
|
35
|
+
private readonly workspaceContextService;
|
|
36
|
+
private readonly extensionService;
|
|
37
|
+
private readonly environmentService;
|
|
38
|
+
private readonly telemetryService;
|
|
39
|
+
private readonly productService;
|
|
40
|
+
private readonly requestService;
|
|
41
|
+
private readonly configurationService;
|
|
42
|
+
private readonly uriIdentityService;
|
|
43
|
+
private readonly logService;
|
|
44
|
+
readonly _serviceBrand: undefined;
|
|
45
|
+
constructor(userDataProfilesService: IUserDataProfilesService, userDataProfileService: IUserDataProfileService, hostService: IHostService, dialogService: IDialogService, workspaceContextService: IWorkspaceContextService, extensionService: IExtensionService, environmentService: IWorkbenchEnvironmentService, telemetryService: ITelemetryService, productService: IProductService, requestService: IRequestService, configurationService: IConfigurationService, uriIdentityService: IUriIdentityService, logService: ILogService);
|
|
46
|
+
private onDidChangeCurrentProfile;
|
|
47
|
+
private getWorkspaceUri;
|
|
48
|
+
private getProfileToUseForCurrentWorkspace;
|
|
49
|
+
getDefaultProfileToUse(): IUserDataProfile;
|
|
50
|
+
createProfile(name: string, options?: IUserDataProfileOptions): Promise<IUserDataProfile>;
|
|
51
|
+
createAndEnterProfile(name: string, options?: IUserDataProfileOptions): Promise<IUserDataProfile>;
|
|
52
|
+
createAndEnterTransientProfile(): Promise<IUserDataProfile>;
|
|
53
|
+
updateProfile(profile: IUserDataProfile, updateOptions: IUserDataProfileUpdateOptions): Promise<IUserDataProfile>;
|
|
54
|
+
removeProfile(profile: IUserDataProfile): Promise<void>;
|
|
55
|
+
switchProfile(profile: IUserDataProfile): Promise<void>;
|
|
56
|
+
getBuiltinProfileTemplates(): Promise<IProfileTemplateInfo[]>;
|
|
57
|
+
private changeCurrentProfile;
|
|
58
|
+
}
|
package/vscode/src/vs/workbench/services/userDataProfile/browser/userDataProfileManagement.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from 'vscode/external/tslib/tslib.es6';
|
|
2
3
|
import { CancellationToken } from 'vscode/vscode/vs/base/common/cancellation';
|
|
3
4
|
import { CancellationError } from 'vscode/vscode/vs/base/common/errors';
|
|
4
5
|
import { Disposable } from 'vscode/vscode/vs/base/common/lifecycle';
|
|
@@ -6,6 +7,7 @@ import { equals } from 'vscode/vscode/vs/base/common/objects';
|
|
|
6
7
|
import { localize } from 'vscode/vscode/vs/nls';
|
|
7
8
|
import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration.service';
|
|
8
9
|
import { IDialogService } from 'vscode/vscode/vs/platform/dialogs/common/dialogs.service';
|
|
10
|
+
import 'vscode/vscode/vs/platform/instantiation/common/extensions';
|
|
9
11
|
import { ILogService } from 'vscode/vscode/vs/platform/log/common/log.service';
|
|
10
12
|
import { IProductService } from 'vscode/vscode/vs/platform/product/common/productService.service';
|
|
11
13
|
import { asJson } from 'vscode/vscode/vs/platform/request/common/request';
|
|
@@ -39,11 +41,11 @@ let UserDataProfileManagementService = class UserDataProfileManagementService ex
|
|
|
39
41
|
this.logService = logService;
|
|
40
42
|
this._register(userDataProfileService.onDidChangeCurrentProfile(e => this.onDidChangeCurrentProfile(e)));
|
|
41
43
|
this._register(userDataProfilesService.onDidChangeProfiles(e => {
|
|
42
|
-
if ((
|
|
44
|
+
if (( e.removed.some(profile => profile.id === this.userDataProfileService.currentProfile.id))) {
|
|
43
45
|
const profileToUse = this.getProfileToUseForCurrentWorkspace();
|
|
44
46
|
this.switchProfile(profileToUse);
|
|
45
47
|
this.changeCurrentProfile(profileToUse, ( localize(
|
|
46
|
-
|
|
48
|
+
12018,
|
|
47
49
|
"The current profile has been removed. Please reload to switch back to default profile"
|
|
48
50
|
)));
|
|
49
51
|
return;
|
|
@@ -54,13 +56,13 @@ let UserDataProfileManagementService = class UserDataProfileManagementService ex
|
|
|
54
56
|
if (profileToUse?.id !== updatedCurrentProfile.id) {
|
|
55
57
|
this.switchProfile(profileToUse);
|
|
56
58
|
this.changeCurrentProfile(profileToUse, ( localize(
|
|
57
|
-
|
|
59
|
+
12019,
|
|
58
60
|
"The current workspace has been removed from the current profile. Please reload to switch back to the updated profile"
|
|
59
61
|
)));
|
|
60
62
|
}
|
|
61
63
|
else {
|
|
62
64
|
this.changeCurrentProfile(updatedCurrentProfile, ( localize(
|
|
63
|
-
|
|
65
|
+
12020,
|
|
64
66
|
"The current profile has been updated. Please reload to switch back to the updated profile"
|
|
65
67
|
)));
|
|
66
68
|
}
|
|
@@ -118,29 +120,29 @@ let UserDataProfileManagementService = class UserDataProfileManagementService ex
|
|
|
118
120
|
return profile;
|
|
119
121
|
}
|
|
120
122
|
async updateProfile(profile, updateOptions) {
|
|
121
|
-
if (!(
|
|
122
|
-
throw (
|
|
123
|
+
if (!( this.userDataProfilesService.profiles.some(p => p.id === profile.id))) {
|
|
124
|
+
throw ( new Error(`Profile ${profile.name} does not exist`));
|
|
123
125
|
}
|
|
124
126
|
if (profile.isDefault) {
|
|
125
|
-
throw (
|
|
127
|
+
throw ( new Error(( localize(12021, "Cannot rename the default profile"))));
|
|
126
128
|
}
|
|
127
129
|
const updatedProfile = await this.userDataProfilesService.updateProfile(profile, updateOptions);
|
|
128
130
|
this.telemetryService.publicLog2('profileManagementActionExecuted', { id: 'updateProfile' });
|
|
129
131
|
return updatedProfile;
|
|
130
132
|
}
|
|
131
133
|
async removeProfile(profile) {
|
|
132
|
-
if (!(
|
|
133
|
-
throw (
|
|
134
|
+
if (!( this.userDataProfilesService.profiles.some(p => p.id === profile.id))) {
|
|
135
|
+
throw ( new Error(`Profile ${profile.name} does not exist`));
|
|
134
136
|
}
|
|
135
137
|
if (profile.isDefault) {
|
|
136
|
-
throw (
|
|
138
|
+
throw ( new Error(( localize(12022, "Cannot delete the default profile"))));
|
|
137
139
|
}
|
|
138
140
|
await this.userDataProfilesService.removeProfile(profile);
|
|
139
141
|
this.telemetryService.publicLog2('profileManagementActionExecuted', { id: 'removeProfile' });
|
|
140
142
|
}
|
|
141
143
|
async switchProfile(profile) {
|
|
142
|
-
if (!(
|
|
143
|
-
throw (
|
|
144
|
+
if (!( this.userDataProfilesService.profiles.some(p => p.id === profile.id))) {
|
|
145
|
+
throw ( new Error(`Profile ${profile.name} does not exist`));
|
|
144
146
|
}
|
|
145
147
|
if (this.userDataProfileService.currentProfile.id === profile.id) {
|
|
146
148
|
return;
|
|
@@ -178,11 +180,11 @@ let UserDataProfileManagementService = class UserDataProfileManagementService ex
|
|
|
178
180
|
const shouldRestartExtensionHosts = this.userDataProfileService.currentProfile.id !== profile.id || !equals(this.userDataProfileService.currentProfile.useDefaultFlags, profile.useDefaultFlags);
|
|
179
181
|
if (shouldRestartExtensionHosts) {
|
|
180
182
|
if (!isRemoteWindow) {
|
|
181
|
-
if (!(await this.extensionService.stopExtensionHosts(( localize(
|
|
182
|
-
if ((
|
|
183
|
+
if (!(await this.extensionService.stopExtensionHosts(( localize(12023, "Switching to a profile."))))) {
|
|
184
|
+
if (( this.userDataProfilesService.profiles.some(p => p.id === this.userDataProfileService.currentProfile.id))) {
|
|
183
185
|
await this.userDataProfilesService.setProfileForWorkspace(toWorkspaceIdentifier(this.workspaceContextService.getWorkspace()), this.userDataProfileService.currentProfile);
|
|
184
186
|
}
|
|
185
|
-
throw (
|
|
187
|
+
throw ( new CancellationError());
|
|
186
188
|
}
|
|
187
189
|
}
|
|
188
190
|
}
|
|
@@ -190,8 +192,8 @@ let UserDataProfileManagementService = class UserDataProfileManagementService ex
|
|
|
190
192
|
if (shouldRestartExtensionHosts) {
|
|
191
193
|
if (isRemoteWindow) {
|
|
192
194
|
const { confirmed } = await this.dialogService.confirm({
|
|
193
|
-
message: reloadMessage ?? ( localize(
|
|
194
|
-
primaryButton: ( localize(
|
|
195
|
+
message: reloadMessage ?? ( localize(12024, "Switching a profile requires reloading VS Code.")),
|
|
196
|
+
primaryButton: ( localize(12025, "&&Reload")),
|
|
195
197
|
});
|
|
196
198
|
if (confirmed) {
|
|
197
199
|
await this.hostService.reload();
|
|
@@ -203,20 +205,20 @@ let UserDataProfileManagementService = class UserDataProfileManagementService ex
|
|
|
203
205
|
}
|
|
204
206
|
}
|
|
205
207
|
};
|
|
206
|
-
UserDataProfileManagementService = (
|
|
207
|
-
(
|
|
208
|
-
(
|
|
209
|
-
(
|
|
210
|
-
(
|
|
211
|
-
(
|
|
212
|
-
(
|
|
213
|
-
(
|
|
214
|
-
(
|
|
215
|
-
(
|
|
216
|
-
(
|
|
217
|
-
(
|
|
218
|
-
(
|
|
219
|
-
(
|
|
220
|
-
], UserDataProfileManagementService))
|
|
208
|
+
UserDataProfileManagementService = ( __decorate([
|
|
209
|
+
( __param(0, IUserDataProfilesService)),
|
|
210
|
+
( __param(1, IUserDataProfileService)),
|
|
211
|
+
( __param(2, IHostService)),
|
|
212
|
+
( __param(3, IDialogService)),
|
|
213
|
+
( __param(4, IWorkspaceContextService)),
|
|
214
|
+
( __param(5, IExtensionService)),
|
|
215
|
+
( __param(6, IWorkbenchEnvironmentService)),
|
|
216
|
+
( __param(7, ITelemetryService)),
|
|
217
|
+
( __param(8, IProductService)),
|
|
218
|
+
( __param(9, IRequestService)),
|
|
219
|
+
( __param(10, IConfigurationService)),
|
|
220
|
+
( __param(11, IUriIdentityService)),
|
|
221
|
+
( __param(12, ILogService))
|
|
222
|
+
], UserDataProfileManagementService));
|
|
221
223
|
|
|
222
224
|
export { UserDataProfileManagementService };
|
package/vscode/src/vs/workbench/services/userDataProfile/browser/userDataProfileStorageService.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Event } from "vscode/vscode/vs/base/common/event";
|
|
2
|
+
import { IStorageDatabase } from "vscode/vscode/vs/base/parts/storage/common/storage";
|
|
3
|
+
import { ILogService } from "vscode/vscode/vs/platform/log/common/log.service";
|
|
4
|
+
import { AbstractUserDataProfileStorageService, IProfileStorageChanges } from "../../../../platform/userDataProfile/common/userDataProfileStorageService.js";
|
|
5
|
+
import { IUserDataProfileStorageService } from "vscode/vscode/vs/platform/userDataProfile/common/userDataProfileStorageService.service";
|
|
6
|
+
import { IStorageService } from "vscode/vscode/vs/platform/storage/common/storage.service";
|
|
7
|
+
import { IUserDataProfile } from "vscode/vscode/vs/platform/userDataProfile/common/userDataProfile";
|
|
8
|
+
import { IUserDataProfileService } from "vscode/vscode/vs/workbench/services/userDataProfile/common/userDataProfile.service";
|
|
9
|
+
export declare class UserDataProfileStorageService extends AbstractUserDataProfileStorageService implements IUserDataProfileStorageService {
|
|
10
|
+
private readonly userDataProfileService;
|
|
11
|
+
private readonly logService;
|
|
12
|
+
private readonly _onDidChange;
|
|
13
|
+
readonly onDidChange: Event<IProfileStorageChanges>;
|
|
14
|
+
constructor(storageService: IStorageService, userDataProfileService: IUserDataProfileService, logService: ILogService);
|
|
15
|
+
private onDidChangeStorageTargetInCurrentProfile;
|
|
16
|
+
private onDidChangeStorageValueInCurrentProfile;
|
|
17
|
+
protected createStorageDatabase(profile: IUserDataProfile): Promise<IStorageDatabase>;
|
|
18
|
+
}
|
package/vscode/src/vs/workbench/services/userDataProfile/browser/userDataProfileStorageService.js
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from 'vscode/external/tslib/tslib.es6';
|
|
2
3
|
import { Emitter, Event } from 'vscode/vscode/vs/base/common/event';
|
|
4
|
+
import 'vscode/vscode/vs/platform/instantiation/common/extensions';
|
|
3
5
|
import { ILogService } from 'vscode/vscode/vs/platform/log/common/log.service';
|
|
4
6
|
import { AbstractUserDataProfileStorageService } from '../../../../platform/userDataProfile/common/userDataProfileStorageService.js';
|
|
5
7
|
import 'vscode/vscode/vs/platform/instantiation/common/instantiation';
|
|
6
|
-
import { isProfileUsingDefaultStorage } from 'vscode/vscode/vs/platform/storage/common/storage';
|
|
8
|
+
import { StorageScope, isProfileUsingDefaultStorage } from 'vscode/vscode/vs/platform/storage/common/storage';
|
|
7
9
|
import { IStorageService } from 'vscode/vscode/vs/platform/storage/common/storage.service';
|
|
8
|
-
import { IndexedDBStorageDatabase } from 'vscode/vscode/vs/workbench/services/storage/browser/storageService';
|
|
10
|
+
import { IndexedDBStorageDatabase } from '@codingame/monaco-vscode-2f06fe84-148e-5e6b-a7ca-c7989c5f128a-common/vscode/vs/workbench/services/storage/browser/storageService';
|
|
9
11
|
import { IUserDataProfileService } from 'vscode/vscode/vs/workbench/services/userDataProfile/common/userDataProfile.service';
|
|
10
12
|
import { DisposableStore } from 'vscode/vscode/vs/base/common/lifecycle';
|
|
11
13
|
|
|
@@ -17,8 +19,8 @@ let UserDataProfileStorageService = class UserDataProfileStorageService extends
|
|
|
17
19
|
this._onDidChange = this._register(( new Emitter()));
|
|
18
20
|
this.onDidChange = this._onDidChange.event;
|
|
19
21
|
const disposables = this._register(( new DisposableStore()));
|
|
20
|
-
this._register(Event.filter(storageService.onDidChangeTarget, e => e.scope ===
|
|
21
|
-
this._register(storageService.onDidChangeValue(
|
|
22
|
+
this._register(Event.filter(storageService.onDidChangeTarget, e => e.scope === StorageScope.PROFILE, disposables)(() => this.onDidChangeStorageTargetInCurrentProfile()));
|
|
23
|
+
this._register(storageService.onDidChangeValue(StorageScope.PROFILE, undefined, disposables)(e => this.onDidChangeStorageValueInCurrentProfile(e)));
|
|
22
24
|
}
|
|
23
25
|
onDidChangeStorageTargetInCurrentProfile() {
|
|
24
26
|
this._onDidChange.fire({ targetChanges: [this.userDataProfileService.currentProfile], valueChanges: [] });
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { IStorageService } from "vscode/vscode/vs/platform/storage/common/storage.service";
|
|
2
|
+
import { IFileService } from "vscode/vscode/vs/platform/files/common/files.service";
|
|
3
|
+
import { IInstantiationService } from "vscode/vscode/vs/platform/instantiation/common/instantiation";
|
|
4
|
+
import { ILogService } from "vscode/vscode/vs/platform/log/common/log.service";
|
|
5
|
+
import { IProductService } from "vscode/vscode/vs/platform/product/common/productService.service";
|
|
6
|
+
import { IRequestService } from "vscode/vscode/vs/platform/request/common/request.service";
|
|
7
|
+
import { IUserDataSyncStoreManagementService } from "vscode/vscode/vs/platform/userDataSync/common/userDataSync.service";
|
|
8
|
+
import { IUriIdentityService } from "vscode/vscode/vs/platform/uriIdentity/common/uriIdentity.service";
|
|
9
|
+
import { IUserDataProfilesService } from "vscode/vscode/vs/platform/userDataProfile/common/userDataProfile.service";
|
|
10
|
+
import { IBrowserWorkbenchEnvironmentService } from "vscode/vscode/vs/workbench/services/environment/browser/environmentService.service";
|
|
11
|
+
import { IUserDataInitializer } from "../../userData/browser/userDataInit.js";
|
|
12
|
+
import { ISecretStorageService } from "vscode/vscode/vs/platform/secrets/common/secrets.service";
|
|
13
|
+
export declare class UserDataSyncInitializer implements IUserDataInitializer {
|
|
14
|
+
private readonly environmentService;
|
|
15
|
+
private readonly secretStorageService;
|
|
16
|
+
private readonly userDataSyncStoreManagementService;
|
|
17
|
+
private readonly fileService;
|
|
18
|
+
private readonly userDataProfilesService;
|
|
19
|
+
private readonly storageService;
|
|
20
|
+
private readonly productService;
|
|
21
|
+
private readonly requestService;
|
|
22
|
+
private readonly logService;
|
|
23
|
+
private readonly uriIdentityService;
|
|
24
|
+
_serviceBrand: any;
|
|
25
|
+
private readonly initialized;
|
|
26
|
+
private readonly initializationFinished;
|
|
27
|
+
private globalStateUserData;
|
|
28
|
+
constructor(environmentService: IBrowserWorkbenchEnvironmentService, secretStorageService: ISecretStorageService, userDataSyncStoreManagementService: IUserDataSyncStoreManagementService, fileService: IFileService, userDataProfilesService: IUserDataProfilesService, storageService: IStorageService, productService: IProductService, requestService: IRequestService, logService: ILogService, uriIdentityService: IUriIdentityService);
|
|
29
|
+
private _userDataSyncStoreClientPromise;
|
|
30
|
+
private createUserDataSyncStoreClient;
|
|
31
|
+
private initializeUserDataSyncStore;
|
|
32
|
+
whenInitializationFinished(): Promise<void>;
|
|
33
|
+
requiresInitialization(): Promise<boolean>;
|
|
34
|
+
initializeRequiredResources(): Promise<void>;
|
|
35
|
+
initializeOtherResources(instantiationService: IInstantiationService): Promise<void>;
|
|
36
|
+
private initializeExtensions;
|
|
37
|
+
private initializeInstalledExtensionsPromise;
|
|
38
|
+
initializeInstalledExtensions(instantiationService: IInstantiationService): Promise<void>;
|
|
39
|
+
private initializeNewExtensionsPromise;
|
|
40
|
+
private initializeNewExtensions;
|
|
41
|
+
private extensionsPreviewInitializerPromise;
|
|
42
|
+
private getExtensionsPreviewInitializer;
|
|
43
|
+
private initialize;
|
|
44
|
+
private createSyncResourceInitializer;
|
|
45
|
+
}
|
|
@@ -1,17 +1,20 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from 'vscode/external/tslib/tslib.es6';
|
|
3
|
+
import { StorageScope } from 'vscode/vscode/vs/platform/storage/common/storage';
|
|
2
4
|
import { IStorageService } from 'vscode/vscode/vs/platform/storage/common/storage.service';
|
|
3
|
-
import { AbstractExtensionsInitializer } from '@codingame/monaco-vscode-
|
|
4
|
-
import { UserDataSyncStoreTypeSynchronizer, GlobalStateInitializer } from '@codingame/monaco-vscode-
|
|
5
|
-
import { KeybindingsInitializer } from '@codingame/monaco-vscode-
|
|
6
|
-
import { SettingsInitializer } from '@codingame/monaco-vscode-
|
|
7
|
-
import { SnippetsInitializer } from '@codingame/monaco-vscode-
|
|
5
|
+
import { AbstractExtensionsInitializer } from '@codingame/monaco-vscode-a022e9a8-b522-5ea2-97c7-f3dda2b0b597-common/vscode/vs/platform/userDataSync/common/extensionsSync';
|
|
6
|
+
import { UserDataSyncStoreTypeSynchronizer, GlobalStateInitializer } from '@codingame/monaco-vscode-a022e9a8-b522-5ea2-97c7-f3dda2b0b597-common/vscode/vs/platform/userDataSync/common/globalStateSync';
|
|
7
|
+
import { KeybindingsInitializer } from '@codingame/monaco-vscode-a022e9a8-b522-5ea2-97c7-f3dda2b0b597-common/vscode/vs/platform/userDataSync/common/keybindingsSync';
|
|
8
|
+
import { SettingsInitializer } from '@codingame/monaco-vscode-a022e9a8-b522-5ea2-97c7-f3dda2b0b597-common/vscode/vs/platform/userDataSync/common/settingsSync';
|
|
9
|
+
import { SnippetsInitializer } from '@codingame/monaco-vscode-a022e9a8-b522-5ea2-97c7-f3dda2b0b597-common/vscode/vs/platform/userDataSync/common/snippetsSync';
|
|
8
10
|
import { IFileService } from 'vscode/vscode/vs/platform/files/common/files.service';
|
|
9
11
|
import { ILogService } from 'vscode/vscode/vs/platform/log/common/log.service';
|
|
10
|
-
import { UserDataSyncStoreClient } from 'vscode/vscode/vs/platform/userDataSync/common/userDataSyncStoreService';
|
|
12
|
+
import { UserDataSyncStoreClient } from '@codingame/monaco-vscode-a2719803-af40-5ae9-a29f-8a2231c33056-common/vscode/vs/platform/userDataSync/common/userDataSyncStoreService';
|
|
11
13
|
import { IProductService } from 'vscode/vscode/vs/platform/product/common/productService.service';
|
|
12
14
|
import { IRequestService } from 'vscode/vscode/vs/platform/request/common/request.service';
|
|
15
|
+
import { SyncResource } from 'vscode/vscode/vs/platform/userDataSync/common/userDataSync';
|
|
13
16
|
import { IUserDataSyncStoreManagementService, IUserDataSyncLogService } from 'vscode/vscode/vs/platform/userDataSync/common/userDataSync.service';
|
|
14
|
-
import { getCurrentAuthenticationSessionInfo } from 'vscode/vscode/vs/workbench/services/authentication/browser/authenticationService';
|
|
17
|
+
import { getCurrentAuthenticationSessionInfo } from '@codingame/monaco-vscode-3607c442-ae7a-594b-b840-038378c24fef-common/vscode/vs/workbench/services/authentication/browser/authenticationService';
|
|
15
18
|
import { getSyncAreaLabel } from 'vscode/vscode/vs/workbench/services/userDataSync/common/userDataSync';
|
|
16
19
|
import { isWeb } from 'vscode/vscode/vs/base/common/platform';
|
|
17
20
|
import { Barrier, Promises } from 'vscode/vscode/vs/base/common/async';
|
|
@@ -26,7 +29,7 @@ import { isEqual } from 'vscode/vscode/vs/base/common/resources';
|
|
|
26
29
|
import { CancellationToken } from 'vscode/vscode/vs/base/common/cancellation';
|
|
27
30
|
import { IUriIdentityService } from 'vscode/vscode/vs/platform/uriIdentity/common/uriIdentity.service';
|
|
28
31
|
import { IExtensionStorageService } from 'vscode/vscode/vs/platform/extensionManagement/common/extensionStorage.service';
|
|
29
|
-
import { TasksInitializer } from '@codingame/monaco-vscode-
|
|
32
|
+
import { TasksInitializer } from '@codingame/monaco-vscode-a022e9a8-b522-5ea2-97c7-f3dda2b0b597-common/vscode/vs/platform/userDataSync/common/tasksSync';
|
|
30
33
|
import { IUserDataProfilesService } from 'vscode/vscode/vs/platform/userDataProfile/common/userDataProfile.service';
|
|
31
34
|
import { IBrowserWorkbenchEnvironmentService } from 'vscode/vscode/vs/workbench/services/environment/browser/environmentService.service';
|
|
32
35
|
import { ISecretStorageService } from 'vscode/vscode/vs/platform/secrets/common/secrets.service';
|
|
@@ -60,11 +63,11 @@ let UserDataSyncInitializer = class UserDataSyncInitializer {
|
|
|
60
63
|
this.logService.trace(`Skipping initializing user data in desktop`);
|
|
61
64
|
return;
|
|
62
65
|
}
|
|
63
|
-
if (!this.storageService.isNew(
|
|
66
|
+
if (!this.storageService.isNew(StorageScope.APPLICATION)) {
|
|
64
67
|
this.logService.trace(`Skipping initializing user data as application was opened before`);
|
|
65
68
|
return;
|
|
66
69
|
}
|
|
67
|
-
if (!this.storageService.isNew(
|
|
70
|
+
if (!this.storageService.isNew(StorageScope.WORKSPACE)) {
|
|
68
71
|
this.logService.trace(`Skipping initializing user data as workspace was opened before`);
|
|
69
72
|
return;
|
|
70
73
|
}
|
|
@@ -133,7 +136,7 @@ let UserDataSyncInitializer = class UserDataSyncInitializer {
|
|
|
133
136
|
this.storageService
|
|
134
137
|
)));
|
|
135
138
|
userDataSyncStoreClient.setAuthToken(authenticationSession.accessToken, authenticationSession.providerId);
|
|
136
|
-
this.globalStateUserData = await userDataSyncStoreClient.readResource(
|
|
139
|
+
this.globalStateUserData = await userDataSyncStoreClient.readResource(SyncResource.GlobalState, null);
|
|
137
140
|
if (this.globalStateUserData) {
|
|
138
141
|
const userDataSyncStoreType = ( new UserDataSyncStoreTypeSynchronizer(
|
|
139
142
|
userDataSyncStoreClient,
|
|
@@ -165,12 +168,12 @@ let UserDataSyncInitializer = class UserDataSyncInitializer {
|
|
|
165
168
|
}
|
|
166
169
|
async initializeRequiredResources() {
|
|
167
170
|
this.logService.trace(`UserDataInitializationService#initializeRequiredResources`);
|
|
168
|
-
return this.initialize([
|
|
171
|
+
return this.initialize([SyncResource.Settings, SyncResource.GlobalState]);
|
|
169
172
|
}
|
|
170
173
|
async initializeOtherResources(instantiationService) {
|
|
171
174
|
try {
|
|
172
175
|
this.logService.trace(`UserDataInitializationService#initializeOtherResources`);
|
|
173
|
-
await Promise.allSettled([this.initialize([
|
|
176
|
+
await Promise.allSettled([this.initialize([SyncResource.Keybindings, SyncResource.Snippets, SyncResource.Tasks]), this.initializeExtensions(instantiationService)]);
|
|
174
177
|
}
|
|
175
178
|
finally {
|
|
176
179
|
this.initializationFinished.open();
|
|
@@ -181,7 +184,7 @@ let UserDataSyncInitializer = class UserDataSyncInitializer {
|
|
|
181
184
|
await Promise.all([this.initializeInstalledExtensions(instantiationService), this.initializeNewExtensions(instantiationService)]);
|
|
182
185
|
}
|
|
183
186
|
finally {
|
|
184
|
-
this.initialized.push(
|
|
187
|
+
this.initialized.push(SyncResource.Extensions);
|
|
185
188
|
}
|
|
186
189
|
}
|
|
187
190
|
async initializeInstalledExtensions(instantiationService) {
|
|
@@ -215,7 +218,7 @@ let UserDataSyncInitializer = class UserDataSyncInitializer {
|
|
|
215
218
|
if (!userDataSyncStoreClient) {
|
|
216
219
|
return null;
|
|
217
220
|
}
|
|
218
|
-
const userData = await userDataSyncStoreClient.readResource(
|
|
221
|
+
const userData = await userDataSyncStoreClient.readResource(SyncResource.Extensions, null);
|
|
219
222
|
return instantiationService.createInstance(ExtensionsPreviewInitializer, userData);
|
|
220
223
|
})();
|
|
221
224
|
}
|
|
@@ -235,7 +238,7 @@ let UserDataSyncInitializer = class UserDataSyncInitializer {
|
|
|
235
238
|
this.initialized.push(syncResource);
|
|
236
239
|
this.logService.trace(`Initializing ${getSyncAreaLabel(syncResource)}`);
|
|
237
240
|
const initializer = this.createSyncResourceInitializer(syncResource);
|
|
238
|
-
const userData = await userDataSyncStoreClient.readResource(syncResource, syncResource ===
|
|
241
|
+
const userData = await userDataSyncStoreClient.readResource(syncResource, syncResource === SyncResource.GlobalState ? this.globalStateUserData : null);
|
|
239
242
|
await initializer.initialize(userData);
|
|
240
243
|
this.logService.info(`Initialized ${getSyncAreaLabel(syncResource)}`);
|
|
241
244
|
}
|
|
@@ -247,7 +250,7 @@ let UserDataSyncInitializer = class UserDataSyncInitializer {
|
|
|
247
250
|
}
|
|
248
251
|
createSyncResourceInitializer(syncResource) {
|
|
249
252
|
switch (syncResource) {
|
|
250
|
-
case
|
|
253
|
+
case SyncResource.Settings: return ( new SettingsInitializer(
|
|
251
254
|
this.fileService,
|
|
252
255
|
this.userDataProfilesService,
|
|
253
256
|
this.environmentService,
|
|
@@ -255,7 +258,7 @@ let UserDataSyncInitializer = class UserDataSyncInitializer {
|
|
|
255
258
|
this.storageService,
|
|
256
259
|
this.uriIdentityService
|
|
257
260
|
));
|
|
258
|
-
case
|
|
261
|
+
case SyncResource.Keybindings: return ( new KeybindingsInitializer(
|
|
259
262
|
this.fileService,
|
|
260
263
|
this.userDataProfilesService,
|
|
261
264
|
this.environmentService,
|
|
@@ -263,7 +266,7 @@ let UserDataSyncInitializer = class UserDataSyncInitializer {
|
|
|
263
266
|
this.storageService,
|
|
264
267
|
this.uriIdentityService
|
|
265
268
|
));
|
|
266
|
-
case
|
|
269
|
+
case SyncResource.Tasks: return ( new TasksInitializer(
|
|
267
270
|
this.fileService,
|
|
268
271
|
this.userDataProfilesService,
|
|
269
272
|
this.environmentService,
|
|
@@ -271,7 +274,7 @@ let UserDataSyncInitializer = class UserDataSyncInitializer {
|
|
|
271
274
|
this.storageService,
|
|
272
275
|
this.uriIdentityService
|
|
273
276
|
));
|
|
274
|
-
case
|
|
277
|
+
case SyncResource.Snippets: return ( new SnippetsInitializer(
|
|
275
278
|
this.fileService,
|
|
276
279
|
this.userDataProfilesService,
|
|
277
280
|
this.environmentService,
|
|
@@ -279,7 +282,7 @@ let UserDataSyncInitializer = class UserDataSyncInitializer {
|
|
|
279
282
|
this.storageService,
|
|
280
283
|
this.uriIdentityService
|
|
281
284
|
));
|
|
282
|
-
case
|
|
285
|
+
case SyncResource.GlobalState: return ( new GlobalStateInitializer(
|
|
283
286
|
this.storageService,
|
|
284
287
|
this.fileService,
|
|
285
288
|
this.userDataProfilesService,
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { IKeybindingService } from "vscode/vscode/vs/platform/keybinding/common/keybinding.service";
|
|
2
|
+
import { IUserDataSyncUtilService } from "vscode/vscode/vs/platform/userDataSync/common/userDataSync.service";
|
|
3
|
+
import { IStringDictionary } from "vscode/vscode/vs/base/common/collections";
|
|
4
|
+
import { FormattingOptions } from "@codingame/monaco-vscode-56402b83-4a60-5b15-86f9-71fe99c32744-common/vscode/vs/base/common/jsonFormatter";
|
|
5
|
+
import { URI } from "vscode/vscode/vs/base/common/uri";
|
|
6
|
+
import { ITextModelService } from "vscode/vscode/vs/editor/common/services/resolverService";
|
|
7
|
+
import { ITextResourcePropertiesService, ITextResourceConfigurationService } from "vscode/vscode/vs/editor/common/services/textResourceConfiguration";
|
|
8
|
+
export declare class UserDataSyncUtilService implements IUserDataSyncUtilService {
|
|
9
|
+
private readonly keybindingsService;
|
|
10
|
+
private readonly textModelService;
|
|
11
|
+
private readonly textResourcePropertiesService;
|
|
12
|
+
private readonly textResourceConfigurationService;
|
|
13
|
+
readonly _serviceBrand: undefined;
|
|
14
|
+
constructor(keybindingsService: IKeybindingService, textModelService: ITextModelService, textResourcePropertiesService: ITextResourcePropertiesService, textResourceConfigurationService: ITextResourceConfigurationService);
|
|
15
|
+
resolveDefaultCoreIgnoredSettings(): Promise<string[]>;
|
|
16
|
+
resolveUserBindings(userBindings: string[]): Promise<IStringDictionary<string>>;
|
|
17
|
+
resolveFormattingOptions(resource: URI): Promise<FormattingOptions>;
|
|
18
|
+
}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from 'vscode/external/tslib/tslib.es6';
|
|
2
3
|
import { IKeybindingService } from 'vscode/vscode/vs/platform/keybinding/common/keybinding.service';
|
|
3
4
|
import { getDefaultIgnoredSettings } from 'vscode/vscode/vs/platform/userDataSync/common/userDataSync';
|
|
4
5
|
import 'vscode/vscode/vs/platform/instantiation/common/instantiation';
|
|
6
|
+
import 'vscode/vscode/vs/platform/instantiation/common/extensions';
|
|
5
7
|
import { ITextModelService } from 'vscode/vscode/vs/editor/common/services/resolverService';
|
|
6
8
|
import { ITextResourcePropertiesService, ITextResourceConfigurationService } from 'vscode/vscode/vs/editor/common/services/textResourceConfiguration';
|
|
7
9
|
|