Path: blob/main/src/vs/sessions/contrib/changes/browser/changes.contribution.ts
13401 views
/*---------------------------------------------------------------------------------------------1* Copyright (c) Microsoft Corporation. All rights reserved.2* Licensed under the MIT License. See License.txt in the project root for license information.3*--------------------------------------------------------------------------------------------*/45import { Codicon } from '../../../../base/common/codicons.js';6import { localize, localize2 } from '../../../../nls.js';7import { SyncDescriptor } from '../../../../platform/instantiation/common/descriptors.js';8import { Registry } from '../../../../platform/registry/common/platform.js';9import { registerIcon } from '../../../../platform/theme/common/iconRegistry.js';10import { registerWorkbenchContribution2, WorkbenchPhase } from '../../../../workbench/common/contributions.js';11import { IViewContainersRegistry, ViewContainerLocation, IViewsRegistry, Extensions as ViewContainerExtensions, WindowEnablement } from '../../../../workbench/common/views.js';12import { CHANGES_VIEW_CONTAINER_ID, CHANGES_VIEW_ID } from '../common/changes.js';13import { ChangesViewPane, ChangesViewPaneContainer } from './changesView.js';14import { ChangesTitleBarContribution } from './changesTitleBarWidget.js';15import { IsPhoneLayoutContext } from '../../../common/contextkeys.js';16import './changesViewActions.js';17import './checksActions.js';18import { KeyCode, KeyMod } from '../../../../base/common/keyCodes.js';1920const changesViewIcon = registerIcon('changes-view-icon', Codicon.gitCompare, localize2('changesViewIcon', 'View icon for the Changes view.').value);2122const viewContainersRegistry = Registry.as<IViewContainersRegistry>(ViewContainerExtensions.ViewContainersRegistry);2324const changesViewContainer = viewContainersRegistry.registerViewContainer({25id: CHANGES_VIEW_CONTAINER_ID,26title: localize2('changes', 'Changes'),27icon: changesViewIcon,28order: 10,29ctorDescriptor: new SyncDescriptor(ChangesViewPaneContainer),30storageId: CHANGES_VIEW_CONTAINER_ID,31hideIfEmpty: false,32openCommandActionDescriptor: {33id: CHANGES_VIEW_CONTAINER_ID,34mnemonicTitle: localize({ key: 'miChanges', comment: ['&& denotes a mnemonic'] }, "Chan&&ges"),35keybindings: {36primary: 0,37win: { primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.KeyG },38linux: { primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.KeyG },39mac: { primary: KeyMod.WinCtrl | KeyMod.Shift | KeyCode.KeyG },40},41order: 1,42},43windowEnablement: WindowEnablement.Sessions44}, ViewContainerLocation.AuxiliaryBar);4546const viewsRegistry = Registry.as<IViewsRegistry>(ViewContainerExtensions.ViewsRegistry);4748viewsRegistry.registerViews([{49id: CHANGES_VIEW_ID,50name: localize2('changes', 'Changes'),51containerIcon: changesViewIcon,52ctorDescriptor: new SyncDescriptor(ChangesViewPane),53canToggleVisibility: false,54canMoveView: false,55weight: 100,56order: 1,57when: IsPhoneLayoutContext.negate(),58windowEnablement: WindowEnablement.Sessions,59}], changesViewContainer);6061registerWorkbenchContribution2(ChangesTitleBarContribution.ID, ChangesTitleBarContribution, WorkbenchPhase.AfterRestored);626364