src/vs/workbench/services/userDataProfile/browser/userDataProfileImportExportService.ts/UserDataProfileImportExportService/showProfilePreviewView
class UserDataProfileImportExportService:	private async showProfilePreviewView(id: string, name: string, userDataProfilesData: UserDataProfileImportExportState): Promise<boolean> {
		const disposables = new DisposableStore();
		const viewsRegistry = Registry.as<IViewsRegistry>(Extensions.ViewsRegistry);
		const treeView = disposables.add(this.instantiationService.createInstance(TreeView, id, name));
		treeView.showRefreshAction = true;
		let onConfirm: (() => void) | undefined, onCancel: (() => void) | undefined;
		const exportPreviewConfirmPomise = new Promise<void>((c, e) => { onConfirm = c; onCancel = e; });
		const descriptor: ITreeViewDescriptor = {
			id,
			name,
			ctorDescriptor: new SyncDescriptor(UserDataProfileExportViewPane, [userDataProfilesData, name, onConfirm, onCancel]),
			canToggleVisibility: false,
			canMoveView: false,
			treeView,
			collapsed: false,
		};

		try {
			viewsRegistry.registerViews([descriptor], this.viewContainer);
			await this.viewsService.openView(id, true);
			await exportPreviewConfirmPomise;
			return true;
		} catch {
			return false;
		} finally {
			viewsRegistry.deregisterViews([descriptor], this.viewContainer);
			disposables.dispose();
			this.closeAllImportExportPreviewEditors().then(null, onUnexpectedError);
		}
	}