Skip to content

Commit 8332665

Browse files
authored
use workspaceIdentifier while getting profile (microsoft#152177)
1 parent f64b324 commit 8332665

File tree

4 files changed

+11
-7
lines changed

4 files changed

+11
-7
lines changed

src/vs/platform/userDataProfile/common/userDataProfile.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ export interface IUserDataProfilesService {
5757
newProfile(name: string, options?: ProfileOptions): IUserDataProfile;
5858
createProfile(profile: IUserDataProfile, options: ProfileOptions, workspaceIdentifier?: ISingleFolderWorkspaceIdentifier | IWorkspaceIdentifier): Promise<IUserDataProfile>;
5959
setProfileForWorkspace(profile: IUserDataProfile, workspaceIdentifier: ISingleFolderWorkspaceIdentifier | IWorkspaceIdentifier): Promise<IUserDataProfile>;
60-
getProfile(workspace: URI): IUserDataProfile;
60+
getProfile(workspaceIdentifier: ISingleFolderWorkspaceIdentifier | IWorkspaceIdentifier): IUserDataProfile;
6161
getAllProfiles(): Promise<IUserDataProfile[]>;
6262
removeProfile(profile: IUserDataProfile): Promise<void>;
6363
}
@@ -123,6 +123,6 @@ export class UserDataProfilesService extends Disposable implements IUserDataProf
123123
getAllProfiles(): Promise<IUserDataProfile[]> { throw new Error('Not implemented'); }
124124
createProfile(profile: IUserDataProfile, options: ProfileOptions, workspaceIdentifier?: ISingleFolderWorkspaceIdentifier | IWorkspaceIdentifier): Promise<IUserDataProfile> { throw new Error('Not implemented'); }
125125
setProfileForWorkspace(profile: IUserDataProfile, workspaceIdentifier: ISingleFolderWorkspaceIdentifier | IWorkspaceIdentifier): Promise<IUserDataProfile> { throw new Error('Not implemented'); }
126-
getProfile(workspace: URI): IUserDataProfile { throw new Error('Not implemented'); }
126+
getProfile(workspaceIdentifier: ISingleFolderWorkspaceIdentifier | IWorkspaceIdentifier): IUserDataProfile { throw new Error('Not implemented'); }
127127
removeProfile(profile: IUserDataProfile): Promise<void> { throw new Error('Not implemented'); }
128128
}

src/vs/platform/userDataProfile/electron-main/userDataProfile.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,8 @@ export class UserDataProfilesMainService extends UserDataProfilesService impleme
7373
return this.profiles.profiles;
7474
}
7575

76-
override getProfile(workspace: URI): IUserDataProfile {
77-
return this.profiles.workspaces.get(workspace) ?? this.defaultProfile;
76+
override getProfile(workspaceIdentifier: ISingleFolderWorkspaceIdentifier | IWorkspaceIdentifier): IUserDataProfile {
77+
return this.profiles.workspaces.get(this.getWorkspace(workspaceIdentifier)) ?? this.defaultProfile;
7878
}
7979

8080
override async createProfile(profile: IUserDataProfile, options: ProfileOptions, workspaceIdentifier?: ISingleFolderWorkspaceIdentifier | IWorkspaceIdentifier): Promise<IUserDataProfile> {
@@ -93,7 +93,7 @@ export class UserDataProfilesMainService extends UserDataProfilesService impleme
9393

9494
override async setProfileForWorkspace(profile: IUserDataProfile, workspaceIdentifier: ISingleFolderWorkspaceIdentifier | IWorkspaceIdentifier): Promise<IUserDataProfile> {
9595
profile = reviveProfile(profile, this.profilesHome.scheme);
96-
const workspace = isSingleFolderWorkspaceIdentifier(workspaceIdentifier) ? workspaceIdentifier.uri : workspaceIdentifier.configPath;
96+
const workspace = this.getWorkspace(workspaceIdentifier);
9797
const storedWorkspaceInfos = this.storedWorskpaceInfos.filter(info => !this.uriIdentityService.extUri.isEqual(info.workspace, workspace));
9898
if (!profile.isDefault) {
9999
storedWorkspaceInfos.push({ workspace, profile: profile.location });
@@ -102,6 +102,10 @@ export class UserDataProfilesMainService extends UserDataProfilesService impleme
102102
return this.profiles.profiles.find(p => this.uriIdentityService.extUri.isEqual(p.location, profile.location))!;
103103
}
104104

105+
private getWorkspace(workspaceIdentifier: ISingleFolderWorkspaceIdentifier | IWorkspaceIdentifier) {
106+
return isSingleFolderWorkspaceIdentifier(workspaceIdentifier) ? workspaceIdentifier.uri : workspaceIdentifier.configPath;
107+
}
108+
105109
override async removeProfile(profile: IUserDataProfile): Promise<void> {
106110
if (profile.isDefault) {
107111
throw new Error('Cannot remove default profile');

src/vs/platform/windows/electron-main/window.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -885,7 +885,7 @@ export class CodeWindow extends Disposable implements ICodeWindow {
885885
configuration.policiesData = this.policyService.serialize(); // set policies data again
886886
configuration.profiles = {
887887
default: this.userDataProfilesService.defaultProfile,
888-
current: configuration.workspace ? this.userDataProfilesService.getProfile(isWorkspaceIdentifier(configuration.workspace) ? configuration.workspace.configPath : configuration.workspace.uri) : this.userDataProfilesService.defaultProfile,
888+
current: configuration.workspace ? this.userDataProfilesService.getProfile(configuration.workspace) : this.userDataProfilesService.defaultProfile,
889889
};
890890

891891
// Load config

src/vs/platform/windows/electron-main/windowsMainService.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1302,7 +1302,7 @@ export class WindowsMainService extends Disposable implements IWindowsMainServic
13021302

13031303
profiles: {
13041304
default: this.userDataProfilesService.defaultProfile,
1305-
current: options.workspace ? this.userDataProfilesService.getProfile(isWorkspaceIdentifier(options.workspace) ? options.workspace.configPath : options.workspace.uri) : this.userDataProfilesService.defaultProfile,
1305+
current: options.workspace ? this.userDataProfilesService.getProfile(options.workspace) : this.userDataProfilesService.defaultProfile,
13061306
},
13071307

13081308
homeDir: this.environmentMainService.userHome.fsPath,

0 commit comments

Comments
 (0)