Added ctx entry on folders for adding to workspace
This commit is contained in:
parent
ab4cb5ccb0
commit
f3df55ae28
|
@ -10,7 +10,7 @@ import { revertLocalChangesCommand, acceptLocalChangesCommand, CONFLICT_RESOLUTI
|
|||
import { SyncActionDescriptor, MenuId, MenuRegistry, ILocalizedString } from 'vs/platform/actions/common/actions';
|
||||
import { IWorkbenchActionRegistry, Extensions as ActionExtensions } from 'vs/workbench/common/actions';
|
||||
import { KeyMod, KeyChord, KeyCode } from 'vs/base/common/keyCodes';
|
||||
import { openWindowCommand, COPY_PATH_COMMAND_ID, REVEAL_IN_EXPLORER_COMMAND_ID, OPEN_TO_SIDE_COMMAND_ID, REVERT_FILE_COMMAND_ID, SAVE_FILE_COMMAND_ID, SAVE_FILE_LABEL, SAVE_FILE_AS_COMMAND_ID, SAVE_FILE_AS_LABEL, SAVE_ALL_IN_GROUP_COMMAND_ID, OpenEditorsGroupContext, COMPARE_WITH_SAVED_COMMAND_ID, COMPARE_RESOURCE_COMMAND_ID, SELECT_FOR_COMPARE_COMMAND_ID, ResourceSelectedForCompareContext, OpenEditorsDirtyEditorContext, COMPARE_SELECTED_COMMAND_ID, REMOVE_ROOT_FOLDER_COMMAND_ID, REMOVE_ROOT_FOLDER_LABEL, SAVE_FILES_COMMAND_ID, COPY_RELATIVE_PATH_COMMAND_ID, SAVE_FILE_WITHOUT_FORMATTING_COMMAND_ID, SAVE_FILE_WITHOUT_FORMATTING_LABEL, newWindowCommand, OpenEditorsReadonlyEditorContext, OPEN_WITH_EXPLORER_COMMAND_ID, NEW_UNTITLED_FILE_COMMAND_ID, NEW_UNTITLED_FILE_LABEL, SAVE_ALL_COMMAND_ID } from 'vs/workbench/contrib/files/browser/fileCommands';
|
||||
import { openWindowCommand, COPY_PATH_COMMAND_ID, REVEAL_IN_EXPLORER_COMMAND_ID, OPEN_TO_SIDE_COMMAND_ID, REVERT_FILE_COMMAND_ID, SAVE_FILE_COMMAND_ID, SAVE_FILE_LABEL, SAVE_FILE_AS_COMMAND_ID, SAVE_FILE_AS_LABEL, SAVE_ALL_IN_GROUP_COMMAND_ID, OpenEditorsGroupContext, COMPARE_WITH_SAVED_COMMAND_ID, COMPARE_RESOURCE_COMMAND_ID, SELECT_FOR_COMPARE_COMMAND_ID, ResourceSelectedForCompareContext, OpenEditorsDirtyEditorContext, COMPARE_SELECTED_COMMAND_ID, REMOVE_ROOT_FOLDER_COMMAND_ID, REMOVE_ROOT_FOLDER_LABEL, SAVE_FILES_COMMAND_ID, COPY_RELATIVE_PATH_COMMAND_ID, SAVE_FILE_WITHOUT_FORMATTING_COMMAND_ID, SAVE_FILE_WITHOUT_FORMATTING_LABEL, newWindowCommand, OpenEditorsReadonlyEditorContext, OPEN_WITH_EXPLORER_COMMAND_ID, NEW_UNTITLED_FILE_COMMAND_ID, NEW_UNTITLED_FILE_LABEL, SAVE_ALL_COMMAND_ID, ADD_PATH_TO_WORKSPACE_ID, ADD_PATH_TO_WORKSPACE_LABEL } from 'vs/workbench/contrib/files/browser/fileCommands';
|
||||
import { CommandsRegistry, ICommandHandler } from 'vs/platform/commands/common/commands';
|
||||
import { ContextKeyExpr, ContextKeyExpression } from 'vs/platform/contextkey/common/contextkey';
|
||||
import { KeybindingsRegistry, KeybindingWeight } from 'vs/platform/keybinding/common/keybindingsRegistry';
|
||||
|
@ -538,6 +538,16 @@ MenuRegistry.appendMenuItem(MenuId.ExplorerContext, {
|
|||
when: ContextKeyExpr.and(ExplorerRootContext, ExplorerFolderContext, ContextKeyExpr.and(WorkspaceFolderCountContext.notEqualsTo('0'), ContextKeyExpr.or(EnterMultiRootWorkspaceSupportContext, WorkbenchStateContext.isEqualTo('workspace'))))
|
||||
});
|
||||
|
||||
MenuRegistry.appendMenuItem(MenuId.ExplorerContext, {
|
||||
group: '2_workspace',
|
||||
order: 40,
|
||||
command: {
|
||||
id: ADD_PATH_TO_WORKSPACE_ID,
|
||||
title: ADD_PATH_TO_WORKSPACE_LABEL,
|
||||
},
|
||||
when: ContextKeyExpr.and(ExplorerFolderContext,WorkbenchStateContext.isEqualTo('workspace')),
|
||||
});
|
||||
|
||||
MenuRegistry.appendMenuItem(MenuId.ExplorerContext, {
|
||||
group: '7_modification',
|
||||
order: 10,
|
||||
|
|
|
@ -32,7 +32,7 @@ import { EditorContextKeys } from 'vs/editor/common/editorContextKeys';
|
|||
import { IEditorService, SIDE_GROUP, ISaveEditorsOptions } from 'vs/workbench/services/editor/common/editorService';
|
||||
import { IEditorGroupsService, GroupsOrder, IEditorGroup } from 'vs/workbench/services/editor/common/editorGroupsService';
|
||||
import { ILabelService } from 'vs/platform/label/common/label';
|
||||
import { basename, joinPath, isEqual } from 'vs/base/common/resources';
|
||||
import { basename, joinPath, isEqual, removeTrailingPathSeparator } from 'vs/base/common/resources';
|
||||
import { IDisposable, dispose } from 'vs/base/common/lifecycle';
|
||||
import { IEnvironmentService } from 'vs/platform/environment/common/environment';
|
||||
import { UNTITLED_WORKSPACE_NAME } from 'vs/platform/workspaces/common/workspaces';
|
||||
|
@ -85,6 +85,9 @@ export const ResourceSelectedForCompareContext = new RawContextKey<boolean>('res
|
|||
export const REMOVE_ROOT_FOLDER_COMMAND_ID = 'removeRootFolder';
|
||||
export const REMOVE_ROOT_FOLDER_LABEL = nls.localize('removeFolderFromWorkspace', "Remove Folder from Workspace");
|
||||
|
||||
export const ADD_PATH_TO_WORKSPACE_ID = "addPathToWorkspace";
|
||||
export const ADD_PATH_TO_WORKSPACE_LABEL = nls.localize("addPathToWorkspace", "Add Path to Workspace");
|
||||
|
||||
export const PREVIOUS_COMPRESSED_FOLDER = 'previousCompressedFolder';
|
||||
export const NEXT_COMPRESSED_FOLDER = 'nextCompressedFolder';
|
||||
export const FIRST_COMPRESSED_FOLDER = 'firstCompressedFolder';
|
||||
|
@ -582,6 +585,16 @@ CommandsRegistry.registerCommand({
|
|||
}
|
||||
});
|
||||
|
||||
CommandsRegistry.registerCommand({
|
||||
id: ADD_PATH_TO_WORKSPACE_ID,
|
||||
handler: async (accessor, resource: URI | object) => {
|
||||
const folders = getMultiSelectedResources(resource, accessor.get(IListService), accessor.get(IEditorService), accessor.get(IExplorerService));
|
||||
|
||||
const workspaceEditingService = accessor.get(IWorkspaceEditingService);
|
||||
await workspaceEditingService.addFolders(folders.map(folder => ({ uri: removeTrailingPathSeparator(folder) })));
|
||||
}
|
||||
});
|
||||
|
||||
// Compressed item navigation
|
||||
|
||||
KeybindingsRegistry.registerCommandAndKeybindingRule({
|
||||
|
|
Loading…
Reference in a new issue