src/vs/workbench/services/userDataProfile/browser/userDataProfileImportExportService.ts/UserDataProfileImportExportService/getProfileToImport
class UserDataProfileImportExportService:	private async getProfileToImport(profileTemplate: IUserDataProfileTemplate): Promise<IUserDataProfile | undefined> {
		const profile = this.userDataProfilesService.profiles.find(p => p.name === profileTemplate.name);
		if (profile) {
			const result = await this.dialogService.show(
				Severity.Info,
				localize('profile already exists', "Profile with name '{0}' already exists. Do you want to overwrite it?", profileTemplate.name),
				[localize('overwrite', "Overwrite"), localize('create new', "Create New Profile"), localize('cancel', "Cancel")],
				{ cancelId: 2 }
			);
			switch (result.choice) {
				case 0: return profile;
				case 2: return undefined;
			}

			// Create new profile
			const nameRegEx = new RegExp(`${escapeRegExpCharacters(profileTemplate.name)}\\s(\\d+)`);
			let nameIndex = 0;
			for (const profile of this.userDataProfilesService.profiles) {
				const matches = nameRegEx.exec(profile.name);
				const index = matches ? parseInt(matches[1]) : 0;
				nameIndex = index > nameIndex ? index : nameIndex;
			}
			const name = await this.quickInputService.input({
				placeHolder: localize('name', "Profile name"),
				title: localize('create new', "Create New Profile"),
				value: `${profileTemplate.name} ${nameIndex + 1}`,
				validateInput: async (value: string) => {
					if (this.userDataProfilesService.profiles.some(p => p.name === value)) {
						return localize('profileExists', "Profile with name {0} already exists.", value);
					}
					return undefined;
				}
			});
			if (!name) {
				return undefined;
			}
			return this.userDataProfilesService.createNamedProfile(name);
		} else {
			return this.userDataProfilesService.createNamedProfile(profileTemplate.name, { shortName: profileTemplate.shortName });
		}
	}