Change:
<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Read our guide about submitting issues: --<!-- Search existing issues to avoid creating duplicates. --<!-- Test using the latest Insiders build to see if your issue has already been fixed: --<!-- Instead of creating your report here, use 'Report Issue' from the 'Help' menu in VS Code to pre-fill useful information. --<!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes <!-- If you answered No above, use 'Help: Start Extension Bisect' from Command Palette to try to identify the cause. --<!-- Issues caused by an extension need to be reported directly to the extension publisher. The 'Help Report Issue' dialog can assist with this. --- VS Code Version: OS Version: MacOS Big Sur latest Steps to Reproduce: Create a new profile Click on the Profile Activity Bar icon, then choose Result: the quick pick comes up... ! Now click on the menu item to bring up the view Click on the menu item again Result: focus just moves to the pane ! Expectation: Show the Quick Pick so the menu works the same regardless of whether or not the content view is open
I was also hit by this - that by clicking on "Export Profile..." it looks like it has no effect, when it fact it just passed the focus. we could always show quick pick as Chris suggests?
What about the contents view when you click on again? Does this has to be closed or remain like this? May I understand what is confusing in navigating to the contents view when you click on export profile button?
I think you can leave the view open, but I would open the Quick Pick right away, not force the user to click on the Export button (again).
Another idea (that was also mentioned in the UX call) is how about always open the view and ditch quick pick? This was initial flow actually.
I think that flow might work. My biggest concern is that users might not notice that the focus moved to the view (especially if the view is already open). Long term - maybe the view becomes a custom editor? fyi
Quick pick is removed and by default we show the contents view now.

Discussion:
const disposables = new DisposableStore(); try { const userDataProfilesExportState = disposables.add(this.instantiationService.createInstance(UserDataProfileExportState, this.userDataProfileService.currentProfile)); <del> const title = localize('export profile preview', "Export"); const exportProfile = await this.selectProfileResources( userDataProfilesExportState, localize('export title', "{0}: {1} ({2})", PROFILES_CATEGORY.value, title, this.userDataProfileService.currentProfile.name), localize('export description', "Choose what to export") ); if (exportProfile === undefined) { return; } await this.doExportProfile(userDataProfilesExportState, !exportProfile, localize('cancel', "Cancel")); </del> <ins> await this.doExportProfile(userDataProfilesExportState, true, localize('cancel', "Cancel")); </ins> } finally { disposables.dispose(); }

const title = localize('import profile preview', "Import"); if (!userDataProfileImportState.isEmpty()) { <del> let importProfile = await this.selectProfileResources( userDataProfileImportState, localize('import title', "{0}: {1} ({2})", PROFILES_CATEGORY.value, title, profileTemplate.name), localize('import description', "Choose what to import") ); if (importProfile === undefined) { return; } if (!importProfile) { importProfile = await this.showProfilePreviewView(`workbench.views.profiles.import.preview`, title, title, localize('cancel', "Cancel"), userDataProfileImportState); } </del> <ins> const importProfile = await this.showProfilePreviewView(`workbench.views.profiles.import.preview`, title, title, localize('cancel', "Cancel"), userDataProfileImportState); </ins> if (!importProfile) { return; }

} } <del> private async selectProfileResources(profileImportExportState: UserDataProfileImportExportState, title: string, description: string): Promise<boolean | undefined> { type ProfileResourceQuickItem = { item: IProfileResourceTreeItem; label: string }; const disposables: DisposableStore = new DisposableStore(); const quickPick = this.quickInputService.createQuickPick<ProfileResourceQuickItem>(); disposables.add(quickPick); quickPick.title = title; quickPick.ok = 'default'; quickPick.customButton = true; quickPick.customLabel = localize('show contents', "Show Contents"); quickPick.description = description; quickPick.canSelectMany = true; quickPick.hideInput = true; quickPick.hideCheckAll = true; quickPick.busy = true; let accepted: boolean = false; let preview: boolean = false; disposables.add(quickPick.onDidAccept(() => { accepted = true; quickPick.hide(); })); disposables.add(quickPick.onDidCustom(() => { preview = true; quickPick.hide(); })); const promise = new Promise<boolean | undefined>((c, e) => { disposables.add(quickPick.onDidHide(() => { try { if (accepted || preview) { for (const root of roots) { root.checkbox.isChecked = quickPick.selectedItems.some(({ item }) => item === root); } c(accepted); } else { c(undefined); } } catch (error) { e(error); } finally { disposables.dispose(); } })); }); quickPick.show(); const roots = await profileImportExportState.getRoots(); quickPick.busy = false; const items = roots.map<ProfileResourceQuickItem>(item => ({ item, label: item.label?.label ?? item.type })); quickPick.items = items; quickPick.selectedItems = items.filter(({ item }) => item.checkbox?.isChecked); return promise; } </del> private async showProfilePreviewView(id: string, name: string, confirmLabel: string, cancelLabel: string, userDataProfilesData: UserDataProfileImportExportState): Promise<boolean> { const disposables = new DisposableStore(); const viewsRegistry = Registry.as<IViewsRegistry>(Extensions.ViewsRegistry);