mirror of
https://github.com/Microsoft/vscode
synced 2024-10-04 02:14:06 +00:00
remove defaultProfile from IUserDataProfileService (#152960)
This commit is contained in:
parent
4b48304259
commit
72c723502f
|
@ -263,7 +263,7 @@ export class BrowserMain extends Disposable {
|
|||
const userDataProfilesService = new UserDataProfilesService(environmentService, fileService, logService);
|
||||
serviceCollection.set(IUserDataProfilesService, userDataProfilesService);
|
||||
|
||||
const userDataProfileService = new UserDataProfileService(userDataProfilesService.defaultProfile, userDataProfilesService.defaultProfile);
|
||||
const userDataProfileService = new UserDataProfileService(userDataProfilesService.defaultProfile);
|
||||
serviceCollection.set(IUserDataProfileService, userDataProfileService);
|
||||
|
||||
// URI Identity
|
||||
|
@ -272,7 +272,7 @@ export class BrowserMain extends Disposable {
|
|||
|
||||
// Long running services (workspace, config, storage)
|
||||
const [configurationService, storageService] = await Promise.all([
|
||||
this.createWorkspaceService(payload, environmentService, userDataProfileService, fileService, remoteAgentService, uriIdentityService, logService).then(service => {
|
||||
this.createWorkspaceService(payload, environmentService, userDataProfileService, userDataProfilesService, fileService, remoteAgentService, uriIdentityService, logService).then(service => {
|
||||
|
||||
// Workspace
|
||||
serviceCollection.set(IWorkspaceContextService, service);
|
||||
|
@ -473,9 +473,9 @@ export class BrowserMain extends Disposable {
|
|||
}
|
||||
}
|
||||
|
||||
private async createWorkspaceService(payload: IAnyWorkspaceIdentifier, environmentService: IWorkbenchEnvironmentService, userDataProfileService: IUserDataProfileService, fileService: FileService, remoteAgentService: IRemoteAgentService, uriIdentityService: IUriIdentityService, logService: ILogService): Promise<WorkspaceService> {
|
||||
private async createWorkspaceService(payload: IAnyWorkspaceIdentifier, environmentService: IWorkbenchEnvironmentService, userDataProfileService: IUserDataProfileService, userDataProfilesService: IUserDataProfilesService, fileService: FileService, remoteAgentService: IRemoteAgentService, uriIdentityService: IUriIdentityService, logService: ILogService): Promise<WorkspaceService> {
|
||||
const configurationCache = new ConfigurationCache([Schemas.file, Schemas.vscodeUserData, Schemas.tmp] /* Cache all non native resources */, environmentService, fileService);
|
||||
const workspaceService = new WorkspaceService({ remoteAuthority: this.configuration.remoteAuthority, configurationCache }, environmentService, userDataProfileService, fileService, remoteAgentService, uriIdentityService, logService, new NullPolicyService());
|
||||
const workspaceService = new WorkspaceService({ remoteAuthority: this.configuration.remoteAuthority, configurationCache }, environmentService, userDataProfileService, userDataProfilesService, fileService, remoteAgentService, uriIdentityService, logService, new NullPolicyService());
|
||||
|
||||
try {
|
||||
await workspaceService.initialize(payload);
|
||||
|
|
|
@ -243,7 +243,7 @@ export class DesktopMain extends Disposable {
|
|||
// User Data Profiles
|
||||
const userDataProfilesService = new UserDataProfilesNativeService(this.configuration.profiles.all, mainProcessService, environmentService, fileService, logService);
|
||||
serviceCollection.set(IUserDataProfilesService, userDataProfilesService);
|
||||
const userDataProfileService = new UserDataProfileService(userDataProfilesService.defaultProfile, reviveProfile(this.configuration.profiles.current, userDataProfilesService.profilesHome.scheme));
|
||||
const userDataProfileService = new UserDataProfileService(reviveProfile(this.configuration.profiles.current, userDataProfilesService.profilesHome.scheme));
|
||||
serviceCollection.set(IUserDataProfileService, userDataProfileService);
|
||||
|
||||
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
|
@ -262,7 +262,7 @@ export class DesktopMain extends Disposable {
|
|||
const payload = this.resolveWorkspaceInitializationPayload(environmentService);
|
||||
|
||||
const [configurationService, storageService] = await Promise.all([
|
||||
this.createWorkspaceService(payload, environmentService, userDataProfileService, fileService, remoteAgentService, uriIdentityService, logService, policyService).then(service => {
|
||||
this.createWorkspaceService(payload, environmentService, userDataProfileService, userDataProfilesService, fileService, remoteAgentService, uriIdentityService, logService, policyService).then(service => {
|
||||
|
||||
// Workspace
|
||||
serviceCollection.set(IWorkspaceContextService, service);
|
||||
|
@ -273,7 +273,7 @@ export class DesktopMain extends Disposable {
|
|||
return service;
|
||||
}),
|
||||
|
||||
this.createStorageService(payload, environmentService, userDataProfileService, mainProcessService).then(service => {
|
||||
this.createStorageService(payload, environmentService, userDataProfileService, userDataProfilesService, mainProcessService).then(service => {
|
||||
|
||||
// Storage
|
||||
serviceCollection.set(IStorageService, service);
|
||||
|
@ -344,6 +344,7 @@ export class DesktopMain extends Disposable {
|
|||
payload: IAnyWorkspaceIdentifier,
|
||||
environmentService: INativeWorkbenchEnvironmentService,
|
||||
userDataProfileService: IUserDataProfileService,
|
||||
userDataProfilesService: IUserDataProfilesService,
|
||||
fileService: FileService,
|
||||
remoteAgentService: IRemoteAgentService,
|
||||
uriIdentityService: IUriIdentityService,
|
||||
|
@ -351,7 +352,7 @@ export class DesktopMain extends Disposable {
|
|||
policyService: IPolicyService
|
||||
): Promise<WorkspaceService> {
|
||||
const configurationCache = new ConfigurationCache([Schemas.file, Schemas.vscodeUserData] /* Cache all non native resources */, environmentService, fileService);
|
||||
const workspaceService = new WorkspaceService({ remoteAuthority: environmentService.remoteAuthority, configurationCache }, environmentService, userDataProfileService, fileService, remoteAgentService, uriIdentityService, logService, policyService);
|
||||
const workspaceService = new WorkspaceService({ remoteAuthority: environmentService.remoteAuthority, configurationCache }, environmentService, userDataProfileService, userDataProfilesService, fileService, remoteAgentService, uriIdentityService, logService, policyService);
|
||||
|
||||
try {
|
||||
await workspaceService.initialize(payload);
|
||||
|
@ -364,8 +365,8 @@ export class DesktopMain extends Disposable {
|
|||
}
|
||||
}
|
||||
|
||||
private async createStorageService(payload: IAnyWorkspaceIdentifier, environmentService: INativeWorkbenchEnvironmentService, userDataProfileService: IUserDataProfileService, mainProcessService: IMainProcessService): Promise<NativeWorkbenchStorageService> {
|
||||
const storageService = new NativeWorkbenchStorageService(payload, userDataProfileService, mainProcessService, environmentService);
|
||||
private async createStorageService(payload: IAnyWorkspaceIdentifier, environmentService: INativeWorkbenchEnvironmentService, userDataProfileService: IUserDataProfileService, userDataProfilesService: IUserDataProfilesService, mainProcessService: IMainProcessService): Promise<NativeWorkbenchStorageService> {
|
||||
const storageService = new NativeWorkbenchStorageService(payload, userDataProfileService, userDataProfilesService, mainProcessService, environmentService);
|
||||
|
||||
try {
|
||||
await storageService.initialize();
|
||||
|
|
|
@ -42,7 +42,7 @@ import { isUndefined } from 'vs/base/common/types';
|
|||
import { localize } from 'vs/nls';
|
||||
import { DidChangeUserDataProfileEvent, IUserDataProfileService } from 'vs/workbench/services/userDataProfile/common/userDataProfile';
|
||||
import { IPolicyService, NullPolicyService } from 'vs/platform/policy/common/policy';
|
||||
import { IUserDataProfile } from 'vs/platform/userDataProfile/common/userDataProfile';
|
||||
import { IUserDataProfile, IUserDataProfilesService } from 'vs/platform/userDataProfile/common/userDataProfile';
|
||||
|
||||
function getLocalUserConfigurationScopes(userDataProfile: IUserDataProfile, hasRemote: boolean): ConfigurationScope[] | undefined {
|
||||
return userDataProfile.isDefault
|
||||
|
@ -108,6 +108,7 @@ export class WorkspaceService extends Disposable implements IWorkbenchConfigurat
|
|||
{ remoteAuthority, configurationCache }: { remoteAuthority?: string; configurationCache: IConfigurationCache },
|
||||
environmentService: IWorkbenchEnvironmentService,
|
||||
private readonly userDataProfileService: IUserDataProfileService,
|
||||
private readonly userDataProfilesService: IUserDataProfilesService,
|
||||
private readonly fileService: IFileService,
|
||||
remoteAgentService: IRemoteAgentService,
|
||||
private readonly uriIdentityService: IUriIdentityService,
|
||||
|
@ -160,7 +161,7 @@ export class WorkspaceService extends Disposable implements IWorkbenchConfigurat
|
|||
if (this.userDataProfileService.currentProfile.isDefault) {
|
||||
this.applicationConfiguration = null;
|
||||
} else {
|
||||
this.applicationConfiguration = this.applicationConfigurationDisposables.add(this._register(new UserConfiguration(this.userDataProfileService.defaultProfile.settingsResource, undefined, [ConfigurationScope.APPLICATION], this.fileService, this.uriIdentityService, this.logService)));
|
||||
this.applicationConfiguration = this.applicationConfigurationDisposables.add(this._register(new UserConfiguration(this.userDataProfilesService.defaultProfile.settingsResource, undefined, [ConfigurationScope.APPLICATION], this.fileService, this.uriIdentityService, this.logService)));
|
||||
this.applicationConfigurationDisposables.add(this.applicationConfiguration.onDidChangeConfiguration(configurationModel => this.onApplicationConfigurationChanged(configurationModel)));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -29,6 +29,7 @@ import { Range } from 'vs/editor/common/core/range';
|
|||
import { EditOperation } from 'vs/editor/common/core/editOperation';
|
||||
import { Selection } from 'vs/editor/common/core/selection';
|
||||
import { IUserDataProfileService } from 'vs/workbench/services/userDataProfile/common/userDataProfile';
|
||||
import { IUserDataProfilesService } from 'vs/platform/userDataProfile/common/userDataProfile';
|
||||
|
||||
export const enum ConfigurationEditingErrorCode {
|
||||
|
||||
|
@ -154,6 +155,7 @@ export class ConfigurationEditingService {
|
|||
@IConfigurationService private readonly configurationService: IConfigurationService,
|
||||
@IWorkspaceContextService private readonly contextService: IWorkspaceContextService,
|
||||
@IUserDataProfileService private readonly userDataProfileService: IUserDataProfileService,
|
||||
@IUserDataProfilesService private readonly userDataProfilesService: IUserDataProfilesService,
|
||||
@IFileService private readonly fileService: IFileService,
|
||||
@ITextModelService private readonly textModelResolverService: ITextModelService,
|
||||
@ITextFileService private readonly textFileService: ITextFileService,
|
||||
|
@ -619,7 +621,7 @@ export class ConfigurationEditingService {
|
|||
return this.userDataProfileService.currentProfile.tasksResource;
|
||||
} else {
|
||||
if (scope === ConfigurationScope.APPLICATION && !this.userDataProfileService.currentProfile.isDefault) {
|
||||
return this.userDataProfileService.defaultProfile.settingsResource;
|
||||
return this.userDataProfilesService.defaultProfile.settingsResource;
|
||||
}
|
||||
return this.userDataProfileService.currentProfile.settingsResource;
|
||||
}
|
||||
|
|
|
@ -39,7 +39,7 @@ import { joinPath } from 'vs/base/common/resources';
|
|||
import { VSBuffer } from 'vs/base/common/buffer';
|
||||
import { RemoteAgentService } from 'vs/workbench/services/remote/browser/remoteAgentService';
|
||||
import { getSingleFolderWorkspaceIdentifier } from 'vs/workbench/services/workspaces/browser/workspaces';
|
||||
import { toUserDataProfile } from 'vs/platform/userDataProfile/common/userDataProfile';
|
||||
import { IUserDataProfilesService, UserDataProfilesService } from 'vs/platform/userDataProfile/common/userDataProfile';
|
||||
import { IWorkbenchEnvironmentService } from 'vs/workbench/services/environment/common/environmentService';
|
||||
import { hash } from 'vs/base/common/hash';
|
||||
import { FilePolicyService } from 'vs/platform/policy/common/filePolicyService';
|
||||
|
@ -110,13 +110,13 @@ suite('ConfigurationEditingService', () => {
|
|||
environmentService = TestEnvironmentService;
|
||||
environmentService.policyFile = joinPath(workspaceFolder, 'policies.json');
|
||||
instantiationService.stub(IEnvironmentService, environmentService);
|
||||
const profile = toUserDataProfile('temp', environmentService.userRoamingDataHome);
|
||||
userDataProfileService = new UserDataProfileService(profile, profile);
|
||||
const userDataProfilesService = instantiationService.stub(IUserDataProfilesService, new UserDataProfilesService(environmentService, fileService, logService));
|
||||
userDataProfileService = new UserDataProfileService(userDataProfilesService.defaultProfile);
|
||||
const remoteAgentService = disposables.add(instantiationService.createInstance(RemoteAgentService, null));
|
||||
disposables.add(fileService.registerProvider(Schemas.vscodeUserData, disposables.add(new FileUserDataProvider(ROOT.scheme, fileSystemProvider, Schemas.vscodeUserData, logService))));
|
||||
instantiationService.stub(IFileService, fileService);
|
||||
instantiationService.stub(IRemoteAgentService, remoteAgentService);
|
||||
workspaceService = disposables.add(new WorkspaceService({ configurationCache: new ConfigurationCache() }, environmentService, userDataProfileService, fileService, remoteAgentService, new UriIdentityService(fileService), new NullLogService(), new FilePolicyService(environmentService.policyFile, fileService, logService)));
|
||||
workspaceService = disposables.add(new WorkspaceService({ configurationCache: new ConfigurationCache() }, environmentService, userDataProfileService, userDataProfilesService, fileService, remoteAgentService, new UriIdentityService(fileService), new NullLogService(), new FilePolicyService(environmentService.policyFile, fileService, logService)));
|
||||
await workspaceService.initialize({
|
||||
id: hash(workspaceFolder.toString()).toString(16),
|
||||
uri: workspaceFolder
|
||||
|
|
|
@ -44,7 +44,7 @@ import { RemoteAgentService } from 'vs/workbench/services/remote/browser/remoteA
|
|||
import { RemoteAuthorityResolverService } from 'vs/platform/remote/browser/remoteAuthorityResolverService';
|
||||
import { hash } from 'vs/base/common/hash';
|
||||
import { TestProductService } from 'vs/workbench/test/common/workbenchTestServices';
|
||||
import { toUserDataProfile } from 'vs/platform/userDataProfile/common/userDataProfile';
|
||||
import { IUserDataProfilesService, toUserDataProfile, UserDataProfilesService } from 'vs/platform/userDataProfile/common/userDataProfile';
|
||||
import { NullPolicyService } from 'vs/platform/policy/common/policy';
|
||||
import { FilePolicyService } from 'vs/platform/policy/common/filePolicyService';
|
||||
import { runWithFakedTimers } from 'vs/base/test/common/timeTravelScheduler';
|
||||
|
@ -67,11 +67,6 @@ export class ConfigurationCache implements IConfigurationCache {
|
|||
|
||||
const ROOT = URI.file('tests').with({ scheme: 'vscode-tests' });
|
||||
|
||||
function aUserDataProfileService(environmentService: IEnvironmentService): IUserDataProfileService {
|
||||
const profile = { ...toUserDataProfile('temp', environmentService.userRoamingDataHome), isDefault: true };
|
||||
return new UserDataProfileService(profile, profile);
|
||||
}
|
||||
|
||||
suite('WorkspaceContextService - Folder', () => {
|
||||
|
||||
const folderName = 'Folder A';
|
||||
|
@ -90,7 +85,8 @@ suite('WorkspaceContextService - Folder', () => {
|
|||
|
||||
const environmentService = TestEnvironmentService;
|
||||
fileService.registerProvider(Schemas.vscodeUserData, disposables.add(new FileUserDataProvider(ROOT.scheme, fileSystemProvider, Schemas.vscodeUserData, new NullLogService())));
|
||||
testObject = disposables.add(new WorkspaceService({ configurationCache: new ConfigurationCache() }, environmentService, aUserDataProfileService(environmentService), fileService, new RemoteAgentService(null, environmentService, TestProductService, new RemoteAuthorityResolverService(TestProductService, undefined, undefined), new SignService(undefined), new NullLogService()), new UriIdentityService(fileService), new NullLogService(), new NullPolicyService()));
|
||||
const userDataProfilesService = new UserDataProfilesService(environmentService, fileService, logService);
|
||||
testObject = disposables.add(new WorkspaceService({ configurationCache: new ConfigurationCache() }, environmentService, new UserDataProfileService(userDataProfilesService.defaultProfile), userDataProfilesService, fileService, new RemoteAgentService(null, environmentService, TestProductService, new RemoteAuthorityResolverService(TestProductService, undefined, undefined), new SignService(undefined), new NullLogService()), new UriIdentityService(fileService), new NullLogService(), new NullPolicyService()));
|
||||
await (<WorkspaceService>testObject).initialize(convertToWorkspacePayload(folder));
|
||||
});
|
||||
|
||||
|
@ -130,7 +126,8 @@ suite('WorkspaceContextService - Folder', () => {
|
|||
|
||||
const environmentService = TestEnvironmentService;
|
||||
fileService.registerProvider(Schemas.vscodeUserData, disposables.add(new FileUserDataProvider(ROOT.scheme, fileSystemProvider, Schemas.vscodeUserData, new NullLogService())));
|
||||
const testObject = disposables.add(new WorkspaceService({ configurationCache: new ConfigurationCache() }, environmentService, aUserDataProfileService(environmentService), fileService, new RemoteAgentService(null, environmentService, TestProductService, new RemoteAuthorityResolverService(TestProductService, undefined, undefined), new SignService(undefined), new NullLogService()), new UriIdentityService(fileService), new NullLogService(), new NullPolicyService()));
|
||||
const userDataProfilesService = new UserDataProfilesService(environmentService, fileService, logService);
|
||||
const testObject = disposables.add(new WorkspaceService({ configurationCache: new ConfigurationCache() }, environmentService, new UserDataProfileService(userDataProfilesService.defaultProfile), userDataProfilesService, fileService, new RemoteAgentService(null, environmentService, TestProductService, new RemoteAuthorityResolverService(TestProductService, undefined, undefined), new SignService(undefined), new NullLogService()), new UriIdentityService(fileService), new NullLogService(), new NullPolicyService()));
|
||||
await (<WorkspaceService>testObject).initialize(convertToWorkspacePayload(folder));
|
||||
|
||||
const actual = testObject.getWorkspaceFolder(joinPath(folder, 'a'));
|
||||
|
@ -150,7 +147,8 @@ suite('WorkspaceContextService - Folder', () => {
|
|||
|
||||
const environmentService = TestEnvironmentService;
|
||||
fileService.registerProvider(Schemas.vscodeUserData, disposables.add(new FileUserDataProvider(ROOT.scheme, fileSystemProvider, Schemas.vscodeUserData, new NullLogService())));
|
||||
const testObject = disposables.add(new WorkspaceService({ configurationCache: new ConfigurationCache() }, environmentService, aUserDataProfileService(environmentService), fileService, new RemoteAgentService(null, environmentService, TestProductService, new RemoteAuthorityResolverService(TestProductService, undefined, undefined), new SignService(undefined), new NullLogService()), new UriIdentityService(fileService), new NullLogService(), new NullPolicyService()));
|
||||
const userDataProfilesService = new UserDataProfilesService(environmentService, fileService, logService);
|
||||
const testObject = disposables.add(new WorkspaceService({ configurationCache: new ConfigurationCache() }, environmentService, new UserDataProfileService(userDataProfilesService.defaultProfile), userDataProfilesService, fileService, new RemoteAgentService(null, environmentService, TestProductService, new RemoteAuthorityResolverService(TestProductService, undefined, undefined), new SignService(undefined), new NullLogService()), new UriIdentityService(fileService), new NullLogService(), new NullPolicyService()));
|
||||
await (<WorkspaceService>testObject).initialize(convertToWorkspacePayload(folder));
|
||||
|
||||
|
||||
|
@ -197,7 +195,8 @@ suite('WorkspaceContextService - Workspace', () => {
|
|||
const remoteAgentService = disposables.add(instantiationService.createInstance(RemoteAgentService, null));
|
||||
instantiationService.stub(IRemoteAgentService, remoteAgentService);
|
||||
fileService.registerProvider(Schemas.vscodeUserData, disposables.add(new FileUserDataProvider(ROOT.scheme, fileSystemProvider, Schemas.vscodeUserData, new NullLogService())));
|
||||
testObject = disposables.add(new WorkspaceService({ configurationCache: new ConfigurationCache() }, environmentService, aUserDataProfileService(environmentService), fileService, remoteAgentService, new UriIdentityService(fileService), new NullLogService(), new NullPolicyService()));
|
||||
const userDataProfilesService = instantiationService.stub(IUserDataProfilesService, new UserDataProfilesService(environmentService, fileService, logService));
|
||||
testObject = disposables.add(new WorkspaceService({ configurationCache: new ConfigurationCache() }, environmentService, new UserDataProfileService(userDataProfilesService.defaultProfile), userDataProfilesService, fileService, remoteAgentService, new UriIdentityService(fileService), new NullLogService(), new NullPolicyService()));
|
||||
|
||||
instantiationService.stub(IWorkspaceContextService, testObject);
|
||||
instantiationService.stub(IConfigurationService, testObject);
|
||||
|
@ -255,7 +254,8 @@ suite('WorkspaceContextService - Workspace Editing', () => {
|
|||
const remoteAgentService = instantiationService.createInstance(RemoteAgentService, null);
|
||||
instantiationService.stub(IRemoteAgentService, remoteAgentService);
|
||||
fileService.registerProvider(Schemas.vscodeUserData, disposables.add(new FileUserDataProvider(ROOT.scheme, fileSystemProvider, Schemas.vscodeUserData, new NullLogService())));
|
||||
testObject = disposables.add(new WorkspaceService({ configurationCache: new ConfigurationCache() }, environmentService, aUserDataProfileService(environmentService), fileService, remoteAgentService, new UriIdentityService(fileService), new NullLogService(), new NullPolicyService()));
|
||||
const userDataProfilesService = instantiationService.stub(IUserDataProfilesService, new UserDataProfilesService(environmentService, fileService, logService));
|
||||
testObject = disposables.add(new WorkspaceService({ configurationCache: new ConfigurationCache() }, environmentService, new UserDataProfileService(userDataProfilesService.defaultProfile), userDataProfilesService, fileService, remoteAgentService, new UriIdentityService(fileService), new NullLogService(), new NullPolicyService()));
|
||||
|
||||
instantiationService.stub(IFileService, fileService);
|
||||
instantiationService.stub(IWorkspaceContextService, testObject);
|
||||
|
@ -497,9 +497,10 @@ suite('WorkspaceService - Initialization', () => {
|
|||
environmentService = TestEnvironmentService;
|
||||
const remoteAgentService = instantiationService.createInstance(RemoteAgentService, null);
|
||||
instantiationService.stub(IRemoteAgentService, remoteAgentService);
|
||||
userDataProfileService = instantiationService.stub(IUserDataProfileService, aUserDataProfileService(environmentService));
|
||||
fileService.registerProvider(Schemas.vscodeUserData, disposables.add(new FileUserDataProvider(ROOT.scheme, fileSystemProvider, Schemas.vscodeUserData, new NullLogService())));
|
||||
testObject = disposables.add(new WorkspaceService({ configurationCache: new ConfigurationCache() }, environmentService, userDataProfileService, fileService, remoteAgentService, new UriIdentityService(fileService), new NullLogService(), new NullPolicyService()));
|
||||
const userDataProfilesService = instantiationService.stub(IUserDataProfilesService, new UserDataProfilesService(environmentService, fileService, logService));
|
||||
userDataProfileService = instantiationService.stub(IUserDataProfileService, new UserDataProfileService(userDataProfilesService.defaultProfile));
|
||||
testObject = disposables.add(new WorkspaceService({ configurationCache: new ConfigurationCache() }, environmentService, userDataProfileService, userDataProfilesService, fileService, remoteAgentService, new UriIdentityService(fileService), new NullLogService(), new NullPolicyService()));
|
||||
instantiationService.stub(IFileService, fileService);
|
||||
instantiationService.stub(IWorkspaceContextService, testObject);
|
||||
instantiationService.stub(IConfigurationService, testObject);
|
||||
|
@ -757,8 +758,9 @@ suite('WorkspaceConfigurationService - Folder', () => {
|
|||
const remoteAgentService = instantiationService.createInstance(RemoteAgentService, null);
|
||||
instantiationService.stub(IRemoteAgentService, remoteAgentService);
|
||||
fileService.registerProvider(Schemas.vscodeUserData, disposables.add(new FileUserDataProvider(ROOT.scheme, fileSystemProvider, Schemas.vscodeUserData, new NullLogService())));
|
||||
userDataProfileService = instantiationService.stub(IUserDataProfileService, aUserDataProfileService(environmentService));
|
||||
workspaceService = testObject = disposables.add(new WorkspaceService({ configurationCache: new ConfigurationCache() }, environmentService, userDataProfileService, fileService, remoteAgentService, new UriIdentityService(fileService), new NullLogService(), new FilePolicyService(environmentService.policyFile, fileService, logService)));
|
||||
const userDataProfilesService = instantiationService.stub(IUserDataProfilesService, new UserDataProfilesService(environmentService, fileService, logService));
|
||||
userDataProfileService = instantiationService.stub(IUserDataProfileService, new UserDataProfileService(userDataProfilesService.defaultProfile));
|
||||
workspaceService = testObject = disposables.add(new WorkspaceService({ configurationCache: new ConfigurationCache() }, environmentService, userDataProfileService, userDataProfilesService, fileService, remoteAgentService, new UriIdentityService(fileService), new NullLogService(), new FilePolicyService(environmentService.policyFile, fileService, logService)));
|
||||
instantiationService.stub(IFileService, fileService);
|
||||
instantiationService.stub(IWorkspaceContextService, testObject);
|
||||
instantiationService.stub(IConfigurationService, testObject);
|
||||
|
@ -1422,15 +1424,15 @@ suite('WorkspaceConfigurationService - Profiles', () => {
|
|||
const remoteAgentService = instantiationService.createInstance(RemoteAgentService, null);
|
||||
instantiationService.stub(IRemoteAgentService, remoteAgentService);
|
||||
fileService.registerProvider(Schemas.vscodeUserData, disposables.add(new FileUserDataProvider(ROOT.scheme, fileSystemProvider, Schemas.vscodeUserData, new NullLogService())));
|
||||
userDataProfileService = new UserDataProfileService({ ...toUserDataProfile('default', environmentService.userRoamingDataHome), isDefault: true }, toUserDataProfile('custom', joinPath(environmentService.userRoamingDataHome, 'profiles', 'temp')));
|
||||
instantiationService.stub(IUserDataProfileService, userDataProfileService);
|
||||
workspaceService = testObject = disposables.add(new WorkspaceService({ configurationCache: new ConfigurationCache() }, environmentService, userDataProfileService, fileService, remoteAgentService, new UriIdentityService(fileService), new NullLogService(), new FilePolicyService(environmentService.policyFile, fileService, logService)));
|
||||
const userDataProfilesService = instantiationService.stub(IUserDataProfilesService, new UserDataProfilesService(environmentService, fileService, logService));
|
||||
userDataProfileService = instantiationService.stub(IUserDataProfileService, new UserDataProfileService(toUserDataProfile('custom', joinPath(environmentService.userRoamingDataHome, 'profiles', 'temp'))));
|
||||
workspaceService = testObject = disposables.add(new WorkspaceService({ configurationCache: new ConfigurationCache() }, environmentService, userDataProfileService, userDataProfilesService, fileService, remoteAgentService, new UriIdentityService(fileService), new NullLogService(), new FilePolicyService(environmentService.policyFile, fileService, logService)));
|
||||
instantiationService.stub(IFileService, fileService);
|
||||
instantiationService.stub(IWorkspaceContextService, testObject);
|
||||
instantiationService.stub(IConfigurationService, testObject);
|
||||
instantiationService.stub(IEnvironmentService, environmentService);
|
||||
|
||||
await fileService.writeFile(userDataProfileService.defaultProfile.settingsResource, VSBuffer.fromString('{ "configurationService.profiles.applicationSetting2": "applicationValue", "configurationService.profiles.testSetting2": "userValue" }'));
|
||||
await fileService.writeFile(userDataProfilesService.defaultProfile.settingsResource, VSBuffer.fromString('{ "configurationService.profiles.applicationSetting2": "applicationValue", "configurationService.profiles.testSetting2": "userValue" }'));
|
||||
await fileService.writeFile(userDataProfileService.currentProfile.settingsResource, VSBuffer.fromString('{ "configurationService.profiles.applicationSetting2": "profileValue", "configurationService.profiles.testSetting2": "profileValue" }'));
|
||||
await workspaceService.initialize(convertToWorkspacePayload(folder));
|
||||
instantiationService.stub(IKeybindingEditingService, instantiationService.createInstance(KeybindingsEditingService));
|
||||
|
@ -1463,7 +1465,7 @@ suite('WorkspaceConfigurationService - Profiles', () => {
|
|||
assert.strictEqual(actual.workspaceFolderValue, undefined);
|
||||
assert.strictEqual(actual.value, 'isSet');
|
||||
|
||||
await fileService.writeFile(userDataProfileService.defaultProfile.settingsResource, VSBuffer.fromString('{ "configurationService.profiles.applicationSetting": "applicationValue" }'));
|
||||
await fileService.writeFile(instantiationService.get(IUserDataProfilesService).defaultProfile.settingsResource, VSBuffer.fromString('{ "configurationService.profiles.applicationSetting": "applicationValue" }'));
|
||||
await fileService.writeFile(userDataProfileService.currentProfile.settingsResource, VSBuffer.fromString('{ "configurationService.profiles.applicationSetting": "profileValue" }'));
|
||||
await testObject.reloadConfiguration();
|
||||
actual = testObject.inspect('configurationService.profiles.applicationSetting');
|
||||
|
@ -1474,7 +1476,7 @@ suite('WorkspaceConfigurationService - Profiles', () => {
|
|||
assert.strictEqual(actual.workspaceFolderValue, undefined);
|
||||
assert.strictEqual(actual.value, 'applicationValue');
|
||||
|
||||
await fileService.writeFile(userDataProfileService.defaultProfile.settingsResource, VSBuffer.fromString('{ "configurationService.profiles.testSetting": "applicationValue" }'));
|
||||
await fileService.writeFile(instantiationService.get(IUserDataProfilesService).defaultProfile.settingsResource, VSBuffer.fromString('{ "configurationService.profiles.testSetting": "applicationValue" }'));
|
||||
await fileService.writeFile(userDataProfileService.currentProfile.settingsResource, VSBuffer.fromString('{ "configurationService.profiles.testSetting": "profileValue" }'));
|
||||
await testObject.reloadConfiguration();
|
||||
actual = testObject.inspect('configurationService.profiles.testSetting');
|
||||
|
@ -1489,7 +1491,7 @@ suite('WorkspaceConfigurationService - Profiles', () => {
|
|||
test('update application scope setting', async () => {
|
||||
await testObject.updateValue('configurationService.profiles.applicationSetting', 'applicationValue');
|
||||
|
||||
assert.deepStrictEqual(JSON.parse((await fileService.readFile(userDataProfileService.defaultProfile.settingsResource)).value.toString()), { 'configurationService.profiles.applicationSetting': 'applicationValue', 'configurationService.profiles.applicationSetting2': 'applicationValue', 'configurationService.profiles.testSetting2': 'userValue' });
|
||||
assert.deepStrictEqual(JSON.parse((await fileService.readFile(instantiationService.get(IUserDataProfilesService).defaultProfile.settingsResource)).value.toString()), { 'configurationService.profiles.applicationSetting': 'applicationValue', 'configurationService.profiles.applicationSetting2': 'applicationValue', 'configurationService.profiles.testSetting2': 'userValue' });
|
||||
assert.strictEqual(testObject.getValue('configurationService.profiles.applicationSetting'), 'applicationValue');
|
||||
});
|
||||
|
||||
|
@ -1501,12 +1503,12 @@ suite('WorkspaceConfigurationService - Profiles', () => {
|
|||
});
|
||||
|
||||
test('switch to default profile', async () => {
|
||||
await fileService.writeFile(userDataProfileService.defaultProfile.settingsResource, VSBuffer.fromString('{ "configurationService.profiles.applicationSetting": "applicationValue", "configurationService.profiles.testSetting": "userValue" }'));
|
||||
await fileService.writeFile(instantiationService.get(IUserDataProfilesService).defaultProfile.settingsResource, VSBuffer.fromString('{ "configurationService.profiles.applicationSetting": "applicationValue", "configurationService.profiles.testSetting": "userValue" }'));
|
||||
await fileService.writeFile(userDataProfileService.currentProfile.settingsResource, VSBuffer.fromString('{ "configurationService.profiles.applicationSetting": "profileValue", "configurationService.profiles.testSetting": "profileValue" }'));
|
||||
await testObject.reloadConfiguration();
|
||||
|
||||
const promise = Event.toPromise(testObject.onDidChangeConfiguration);
|
||||
await userDataProfileService.updateCurrentProfile(userDataProfileService.defaultProfile, false);
|
||||
await userDataProfileService.updateCurrentProfile(instantiationService.get(IUserDataProfilesService).defaultProfile, false);
|
||||
|
||||
const changeEvent = await promise;
|
||||
assert.deepStrictEqual(changeEvent.affectedKeys, ['configurationService.profiles.testSetting']);
|
||||
|
@ -1515,7 +1517,7 @@ suite('WorkspaceConfigurationService - Profiles', () => {
|
|||
});
|
||||
|
||||
test('switch to non default profile', async () => {
|
||||
await fileService.writeFile(userDataProfileService.defaultProfile.settingsResource, VSBuffer.fromString('{ "configurationService.profiles.applicationSetting": "applicationValue", "configurationService.profiles.testSetting": "userValue" }'));
|
||||
await fileService.writeFile(instantiationService.get(IUserDataProfilesService).defaultProfile.settingsResource, VSBuffer.fromString('{ "configurationService.profiles.applicationSetting": "applicationValue", "configurationService.profiles.testSetting": "userValue" }'));
|
||||
await fileService.writeFile(userDataProfileService.currentProfile.settingsResource, VSBuffer.fromString('{ "configurationService.profiles.applicationSetting": "profileValue", "configurationService.profiles.testSetting": "profileValue" }'));
|
||||
await testObject.reloadConfiguration();
|
||||
|
||||
|
@ -1610,8 +1612,9 @@ suite('WorkspaceConfigurationService-Multiroot', () => {
|
|||
const remoteAgentService = instantiationService.createInstance(RemoteAgentService, null);
|
||||
instantiationService.stub(IRemoteAgentService, remoteAgentService);
|
||||
fileService.registerProvider(Schemas.vscodeUserData, disposables.add(new FileUserDataProvider(ROOT.scheme, fileSystemProvider, Schemas.vscodeUserData, new NullLogService())));
|
||||
userDataProfileService = instantiationService.stub(IUserDataProfileService, aUserDataProfileService(environmentService));
|
||||
const workspaceService = disposables.add(new WorkspaceService({ configurationCache: new ConfigurationCache() }, environmentService, userDataProfileService, fileService, remoteAgentService, new UriIdentityService(fileService), new NullLogService(), new NullPolicyService()));
|
||||
const userDataProfilesService = instantiationService.stub(IUserDataProfilesService, new UserDataProfilesService(environmentService, fileService, logService));
|
||||
userDataProfileService = instantiationService.stub(IUserDataProfileService, new UserDataProfileService(userDataProfilesService.defaultProfile));
|
||||
const workspaceService = disposables.add(new WorkspaceService({ configurationCache: new ConfigurationCache() }, environmentService, userDataProfileService, userDataProfilesService, fileService, remoteAgentService, new UriIdentityService(fileService), new NullLogService(), new NullPolicyService()));
|
||||
|
||||
instantiationService.stub(IFileService, fileService);
|
||||
instantiationService.stub(IWorkspaceContextService, workspaceService);
|
||||
|
@ -2272,8 +2275,9 @@ suite('WorkspaceConfigurationService - Remote Folder', () => {
|
|||
const remoteAgentService = instantiationService.stub(IRemoteAgentService, <Partial<IRemoteAgentService>>{ getEnvironment: () => remoteEnvironmentPromise });
|
||||
fileService.registerProvider(Schemas.vscodeUserData, disposables.add(new FileUserDataProvider(ROOT.scheme, fileSystemProvider, Schemas.vscodeUserData, new NullLogService())));
|
||||
const configurationCache: IConfigurationCache = { read: () => Promise.resolve(''), write: () => Promise.resolve(), remove: () => Promise.resolve(), needsCaching: () => false };
|
||||
userDataProfileService = instantiationService.stub(IUserDataProfileService, aUserDataProfileService(environmentService));
|
||||
testObject = disposables.add(new WorkspaceService({ configurationCache, remoteAuthority }, environmentService, userDataProfileService, fileService, remoteAgentService, new UriIdentityService(fileService), new NullLogService(), new NullPolicyService()));
|
||||
const userDataProfilesService = instantiationService.stub(IUserDataProfilesService, new UserDataProfilesService(environmentService, fileService, logService));
|
||||
userDataProfileService = instantiationService.stub(IUserDataProfileService, new UserDataProfileService(userDataProfilesService.defaultProfile));
|
||||
testObject = disposables.add(new WorkspaceService({ configurationCache, remoteAuthority }, environmentService, userDataProfileService, userDataProfilesService, fileService, remoteAgentService, new UriIdentityService(fileService), new NullLogService(), new NullPolicyService()));
|
||||
instantiationService.stub(IWorkspaceContextService, testObject);
|
||||
instantiationService.stub(IConfigurationService, testObject);
|
||||
instantiationService.stub(IEnvironmentService, environmentService);
|
||||
|
|
|
@ -39,7 +39,7 @@ suite('ExtensionStorageMigration', () => {
|
|||
instantiationService.stub(IFileService, fileService);
|
||||
const environmentService = instantiationService.stub(IEnvironmentService, <Partial<IEnvironmentService>>{ userRoamingDataHome: ROOT, workspaceStorageHome });
|
||||
const userDataProfilesService = instantiationService.stub(IUserDataProfilesService, new UserDataProfilesService(environmentService, fileService, new NullLogService()));
|
||||
instantiationService.stub(IUserDataProfileService, new UserDataProfileService(userDataProfilesService.defaultProfile, userDataProfilesService.defaultProfile));
|
||||
instantiationService.stub(IUserDataProfileService, new UserDataProfileService(userDataProfilesService.defaultProfile));
|
||||
|
||||
instantiationService.stub(IExtensionStorageService, instantiationService.createInstance(ExtensionStorageService));
|
||||
});
|
||||
|
|
|
@ -28,7 +28,7 @@ import { joinPath } from 'vs/base/common/resources';
|
|||
import { InMemoryFileSystemProvider } from 'vs/platform/files/common/inMemoryFilesystemProvider';
|
||||
import { DisposableStore } from 'vs/base/common/lifecycle';
|
||||
import { VSBuffer } from 'vs/base/common/buffer';
|
||||
import { toUserDataProfile } from 'vs/platform/userDataProfile/common/userDataProfile';
|
||||
import { UserDataProfilesService } from 'vs/platform/userDataProfile/common/userDataProfile';
|
||||
import { UserDataProfileService } from 'vs/workbench/services/userDataProfile/common/userDataProfileService';
|
||||
import { IUserDataProfileService } from 'vs/workbench/services/userDataProfile/common/userDataProfile';
|
||||
|
||||
|
@ -66,8 +66,7 @@ suite('KeybindingsEditing', () => {
|
|||
const configService = new TestConfigurationService();
|
||||
configService.setUserConfiguration('files', { 'eol': '\n' });
|
||||
|
||||
const profile = toUserDataProfile('temp', environmentService.userRoamingDataHome);
|
||||
userDataProfileService = new UserDataProfileService(profile, profile);
|
||||
userDataProfileService = new UserDataProfileService(new UserDataProfilesService(environmentService, fileService, logService).defaultProfile);
|
||||
|
||||
instantiationService = workbenchInstantiationService({
|
||||
fileService: () => fileService,
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
import { IEnvironmentService } from 'vs/platform/environment/common/environment';
|
||||
import { IMainProcessService } from 'vs/platform/ipc/electron-sandbox/services';
|
||||
import { NativeStorageService } from 'vs/platform/storage/electron-sandbox/storageService';
|
||||
import { IUserDataProfilesService } from 'vs/platform/userDataProfile/common/userDataProfile';
|
||||
import { IEmptyWorkspaceIdentifier, ISingleFolderWorkspaceIdentifier, IWorkspaceIdentifier } from 'vs/platform/workspace/common/workspace';
|
||||
import { IUserDataProfileService } from 'vs/workbench/services/userDataProfile/common/userDataProfile';
|
||||
|
||||
|
@ -14,10 +15,11 @@ export class NativeWorkbenchStorageService extends NativeStorageService {
|
|||
constructor(
|
||||
workspace: IWorkspaceIdentifier | ISingleFolderWorkspaceIdentifier | IEmptyWorkspaceIdentifier | undefined,
|
||||
private readonly userDataProfileService: IUserDataProfileService,
|
||||
userDataProfilesService: IUserDataProfilesService,
|
||||
mainProcessService: IMainProcessService,
|
||||
environmentService: IEnvironmentService
|
||||
) {
|
||||
super(workspace, userDataProfileService, mainProcessService, environmentService);
|
||||
super(workspace, { currentProfile: userDataProfileService.currentProfile, defaultProfile: userDataProfilesService.defaultProfile }, mainProcessService, environmentService);
|
||||
|
||||
this.registerListeners();
|
||||
}
|
||||
|
|
|
@ -45,7 +45,7 @@ async function createStorageService(): Promise<[DisposableStore, BrowserStorageS
|
|||
extensionsResource: joinPath(inMemoryExtraProfileRoot, 'extensionsResource')
|
||||
};
|
||||
|
||||
const storageService = disposables.add(new BrowserStorageService({ id: 'workspace-storage-test' }, new UserDataProfileService(inMemoryExtraProfile, inMemoryExtraProfile), logService));
|
||||
const storageService = disposables.add(new BrowserStorageService({ id: 'workspace-storage-test' }, new UserDataProfileService(inMemoryExtraProfile), logService));
|
||||
|
||||
await storageService.initialize();
|
||||
|
||||
|
|
|
@ -49,7 +49,7 @@ export class UserDataProfileManagementService extends Disposable implements IUse
|
|||
if (this.userDataProfileService.currentProfile.extensionsResource) {
|
||||
return this.userDataProfileService.currentProfile.extensionsResource;
|
||||
}
|
||||
if (!this.userDataProfileService.defaultProfile.extensionsResource) {
|
||||
if (!this.userDataProfilesService.defaultProfile.extensionsResource) {
|
||||
// Extensions profile is not yet created for default profile, create it now
|
||||
return this.createDefaultExtensionsProfile(joinPath(this.userDataProfilesService.defaultProfile.location, EXTENSIONS_RESOURCE_NAME));
|
||||
}
|
||||
|
|
|
@ -20,7 +20,6 @@ export interface DidChangeUserDataProfileEvent {
|
|||
export const IUserDataProfileService = createDecorator<IUserDataProfileService>('IUserDataProfileService');
|
||||
export interface IUserDataProfileService {
|
||||
readonly _serviceBrand: undefined;
|
||||
readonly defaultProfile: IUserDataProfile;
|
||||
readonly onDidChangeCurrentProfile: Event<DidChangeUserDataProfileEvent>;
|
||||
readonly currentProfile: IUserDataProfile;
|
||||
updateCurrentProfile(currentProfile: IUserDataProfile, preserveData: boolean): Promise<void>;
|
||||
|
|
|
@ -13,20 +13,14 @@ export class UserDataProfileService extends Disposable implements IUserDataProfi
|
|||
|
||||
readonly _serviceBrand: undefined;
|
||||
|
||||
readonly defaultProfile: IUserDataProfile;
|
||||
|
||||
private readonly _onDidChangeCurrentProfile = this._register(new Emitter<DidChangeUserDataProfileEvent>());
|
||||
readonly onDidChangeCurrentProfile = this._onDidChangeCurrentProfile.event;
|
||||
|
||||
private _currentProfile: IUserDataProfile;
|
||||
get currentProfile(): IUserDataProfile { return this._currentProfile; }
|
||||
|
||||
constructor(
|
||||
defaultProfile: IUserDataProfile,
|
||||
currentProfile: IUserDataProfile,
|
||||
) {
|
||||
constructor(currentProfile: IUserDataProfile) {
|
||||
super();
|
||||
this.defaultProfile = defaultProfile;
|
||||
this._currentProfile = currentProfile;
|
||||
}
|
||||
|
||||
|
|
|
@ -284,7 +284,7 @@ export function workbenchInstantiationService(
|
|||
const fileService = overrides?.fileService ? overrides.fileService(instantiationService) : new TestFileService();
|
||||
instantiationService.stub(IFileService, fileService);
|
||||
const userDataProfilesService = instantiationService.stub(IUserDataProfilesService, new UserDataProfilesService(environmentService, fileService, new NullLogService()));
|
||||
instantiationService.stub(IUserDataProfileService, new UserDataProfileService(userDataProfilesService.defaultProfile, userDataProfilesService.defaultProfile));
|
||||
instantiationService.stub(IUserDataProfileService, new UserDataProfileService(userDataProfilesService.defaultProfile));
|
||||
instantiationService.stub(IUriIdentityService, new UriIdentityService(fileService));
|
||||
instantiationService.stub(IWorkingCopyBackupService, new TestWorkingCopyBackupService());
|
||||
instantiationService.stub(ITelemetryService, NullTelemetryService);
|
||||
|
|
|
@ -290,7 +290,7 @@ export function workbenchInstantiationService(disposables = new DisposableStore(
|
|||
instantiationService.stub(IWorkbenchEnvironmentService, TestEnvironmentService);
|
||||
instantiationService.stub(INativeWorkbenchEnvironmentService, TestEnvironmentService);
|
||||
const userDataProfilesService = instantiationService.stub(IUserDataProfilesService, new UserDataProfilesService(TestEnvironmentService, new FileService(new NullLogService()), new NullLogService()));
|
||||
instantiationService.stub(IUserDataProfileService, new UserDataProfileService(userDataProfilesService.defaultProfile, userDataProfilesService.defaultProfile));
|
||||
instantiationService.stub(IUserDataProfileService, new UserDataProfileService(userDataProfilesService.defaultProfile));
|
||||
|
||||
return instantiationService;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue