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