diff --git a/src/vs/platform/dialogs/electron-main/dialogMainService.ts b/src/vs/platform/dialogs/electron-main/dialogMainService.ts index 42f60e2b23a..958ffcbe25f 100644 --- a/src/vs/platform/dialogs/electron-main/dialogMainService.ts +++ b/src/vs/platform/dialogs/electron-main/dialogMainService.ts @@ -72,7 +72,7 @@ export class DialogMainService implements IDialogMainService { } pickWorkspace(options: INativeOpenDialogOptions, window?: BrowserWindow): Promise { - const title = localize('openWorkspaceTitle', "Open Workspace"); + const title = localize('openWorkspaceTitle', "Open Workspace from File"); const buttonLabel = mnemonicButtonLabel(localize({ key: 'openWorkspace', comment: ['&& denotes a mnemonic'] }, "&&Open")); const filters = WORKSPACE_FILTER; diff --git a/src/vs/workbench/browser/actions/workspaceActions.ts b/src/vs/workbench/browser/actions/workspaceActions.ts index a0f66b181a3..488e173ec96 100644 --- a/src/vs/workbench/browser/actions/workspaceActions.ts +++ b/src/vs/workbench/browser/actions/workspaceActions.ts @@ -60,10 +60,16 @@ export class OpenFolderAction extends Action2 { title: { value: localize('openFolder', "Open Folder..."), original: 'Open Folder...' }, category: fileCategory, f1: true, - precondition: ContextKeyExpr.and(IsMacNativeContext.toNegated(), OpenFolderWorkspaceSupportContext), + precondition: OpenFolderWorkspaceSupportContext, keybinding: { weight: KeybindingWeight.WorkbenchContrib, - primary: KeyChord(KeyMod.CtrlCmd | KeyCode.KEY_K, KeyMod.CtrlCmd | KeyCode.KEY_O) + primary: undefined, + linux: { + primary: KeyChord(KeyMod.CtrlCmd | KeyCode.KEY_K, KeyMod.CtrlCmd | KeyCode.KEY_O) + }, + win: { + primary: KeyChord(KeyMod.CtrlCmd | KeyCode.KEY_K, KeyMod.CtrlCmd | KeyCode.KEY_O) + } } }); } @@ -108,7 +114,7 @@ class OpenWorkspaceAction extends Action2 { constructor() { super({ id: OpenWorkspaceAction.ID, - title: { value: localize('openWorkspaceAction', "Open Workspace..."), original: 'Open Workspace...' }, + title: { value: localize('openWorkspaceAction', "Open Workspace from File..."), original: 'Open Workspace from File...' }, category: fileCategory, f1: true, precondition: EnterMultiRootWorkspaceSupportContext @@ -314,7 +320,7 @@ MenuRegistry.appendMenuItem(MenuId.MenubarFileMenu, { title: localize({ key: 'miOpenFolder', comment: ['&& denotes a mnemonic'] }, "Open &&Folder...") }, order: 2, - when: ContextKeyExpr.and(IsMacNativeContext.toNegated(), OpenFolderWorkspaceSupportContext) + when: OpenFolderWorkspaceSupportContext }); MenuRegistry.appendMenuItem(MenuId.MenubarFileMenu, { @@ -331,7 +337,7 @@ MenuRegistry.appendMenuItem(MenuId.MenubarFileMenu, { group: '2_open', command: { id: OpenWorkspaceAction.ID, - title: localize({ key: 'miOpenWorkspace', comment: ['&& denotes a mnemonic'] }, "Open Wor&&kspace...") + title: localize({ key: 'miOpenWorkspace', comment: ['&& denotes a mnemonic'] }, "Open Wor&&kspace from File...") }, order: 3, when: EnterMultiRootWorkspaceSupportContext diff --git a/src/vs/workbench/browser/contextkeys.ts b/src/vs/workbench/browser/contextkeys.ts index 087da44495e..d31184408b1 100644 --- a/src/vs/workbench/browser/contextkeys.ts +++ b/src/vs/workbench/browser/contextkeys.ts @@ -160,7 +160,7 @@ export class WorkbenchContextKeysHandler extends Disposable { this.emptyWorkspaceSupportContext.set(isNative || typeof this.environmentService.remoteAuthority === 'string'); // Entering a multi root workspace support: support for entering a multi-root - // workspace (e.g. "Open Workspace...", "Duplicate Workspace", "Save Workspace") + // workspace (e.g. "Open Workspace from File...", "Duplicate Workspace", "Save Workspace") // is driven by the ability to resolve a workspace configuration file (*.code-workspace) // with a built-in file system provider. // This condition is met: diff --git a/src/vs/workbench/contrib/welcome/gettingStarted/common/gettingStartedContent.ts b/src/vs/workbench/contrib/welcome/gettingStarted/common/gettingStartedContent.ts index 6190b9182b2..8642221b899 100644 --- a/src/vs/workbench/contrib/welcome/gettingStarted/common/gettingStartedContent.ts +++ b/src/vs/workbench/contrib/welcome/gettingStarted/common/gettingStartedContent.ts @@ -102,7 +102,7 @@ export const startEntries: GettingStartedStartEntryContent = [ title: localize('gettingStarted.openFolder.title', "Open Folder..."), description: localize('gettingStarted.openFolder.description', "Open a folder to start working"), icon: Codicon.folderOpened, - when: '!isWeb && !isMac', + when: '!isWeb', content: { type: 'startEntry', command: 'workbench.action.files.openFolder', diff --git a/src/vs/workbench/services/dialogs/browser/abstractFileDialogService.ts b/src/vs/workbench/services/dialogs/browser/abstractFileDialogService.ts index 6112d2a5885..b647942527e 100644 --- a/src/vs/workbench/services/dialogs/browser/abstractFileDialogService.ts +++ b/src/vs/workbench/services/dialogs/browser/abstractFileDialogService.ts @@ -208,7 +208,7 @@ export abstract class AbstractFileDialogService implements IFileDialogService { } protected async pickWorkspaceAndOpenSimplified(schema: string, options: IPickAndOpenOptions): Promise { - const title = nls.localize('openWorkspace.title', 'Open Workspace'); + const title = nls.localize('openWorkspace.title', 'Open Workspace from File'); const filters: FileFilter[] = [{ name: nls.localize('filterName.workspace', 'Workspace'), extensions: [WORKSPACE_EXTENSION] }]; const availableFileSystems = this.addFileSchemaIfNeeded(schema, true);