@codingame/monaco-vscode-keybindings-service-override 11.1.1 → 12.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.d.ts +19 -2
- package/index.js +110 -1
- package/package.json +21 -8
- package/vscode/src/vs/platform/keyboardLayout/common/keyboardConfig.d.ts +10 -0
- package/vscode/src/vs/platform/keyboardLayout/common/keyboardConfig.js +18 -12
- package/vscode/src/vs/platform/keyboardLayout/common/keyboardMapper.d.ts +15 -0
- package/vscode/src/vs/platform/keyboardLayout/common/keyboardMapper.js +2 -0
- package/vscode/src/vs/workbench/browser/contextkeys.d.ts +67 -0
- package/vscode/src/vs/workbench/browser/contextkeys.js +17 -16
- package/vscode/src/vs/workbench/contrib/commands/common/commands.contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/commands/common/commands.contribution.js +6 -5
- package/vscode/src/vs/workbench/contrib/keybindings/browser/keybindings.contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/keybindings/browser/keybindings.contribution.js +2 -1
- package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingsEditorContribution.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingsEditorContribution.js +27 -26
- package/vscode/src/vs/workbench/contrib/preferences/common/smartSnippetInserter.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/preferences/common/smartSnippetInserter.js +14 -13
- package/vscode/src/vs/workbench/services/actions/common/menusExtensionPoint.d.ts +44 -0
- package/vscode/src/vs/workbench/services/actions/common/menusExtensionPoint.js +183 -159
- package/vscode/src/vs/workbench/services/commands/common/commandService.d.ts +23 -0
- package/vscode/src/vs/workbench/services/commands/common/commandService.js +3 -1
- package/vscode/src/vs/workbench/services/keybinding/browser/keybindingService.d.ts +58 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keybindingService.js +130 -129
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayoutService.d.ts +69 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayoutService.js +37 -45
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/_.contribution.d.ts +8 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/_.contribution.js +2 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/cz.win.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/cz.win.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de-swiss.win.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de-swiss.win.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de.darwin.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de.darwin.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de.linux.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de.linux.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de.win.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de.win.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/dk.win.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/dk.win.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/dvorak.darwin.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/dvorak.darwin.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-belgian.win.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-belgian.win.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-ext.darwin.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-ext.darwin.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-in.win.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-in.win.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-intl.darwin.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-intl.darwin.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-intl.win.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-intl.win.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-uk.darwin.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-uk.darwin.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-uk.win.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-uk.win.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en.darwin.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en.darwin.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en.linux.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en.linux.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en.win.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en.win.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es-latin.win.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es-latin.win.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es.darwin.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es.darwin.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es.linux.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es.linux.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es.win.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es.win.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/fr.darwin.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/fr.darwin.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/fr.linux.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/fr.linux.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/fr.win.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/fr.win.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/hu.win.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/hu.win.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/it.darwin.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/it.darwin.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/it.win.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/it.win.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/jp-roman.darwin.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/jp-roman.darwin.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/jp.darwin.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/jp.darwin.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ko.darwin.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ko.darwin.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.darwin.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.darwin.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.linux.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.linux.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.win.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.win.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/no.win.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/no.win.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pl.darwin.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pl.darwin.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pl.win.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pl.win.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pt-br.win.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pt-br.win.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pt.darwin.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pt.darwin.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pt.win.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pt.win.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ru.darwin.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ru.darwin.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ru.linux.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ru.linux.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ru.win.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ru.win.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/sv.win.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/sv.win.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/thai.win.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/thai.win.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/tr.win.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/tr.win.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/zh-hans.darwin.d.ts +1 -0
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/zh-hans.darwin.js +1 -0
- package/vscode/src/vs/workbench/services/keybinding/common/keybindingIO.d.ts +21 -0
- package/vscode/src/vs/workbench/services/keybinding/common/keybindingIO.js +2 -1
- package/vscode/src/vs/workbench/services/keybinding/common/keymapInfo.d.ts +35 -0
- package/vscode/src/vs/workbench/services/keybinding/common/keymapInfo.js +2 -1
- package/vscode/src/vs/workbench/services/keybinding/common/macLinuxKeyboardMapper.d.ts +43 -0
- package/vscode/src/vs/workbench/services/keybinding/common/macLinuxKeyboardMapper.js +176 -178
- package/vscode/src/vs/workbench/services/keybinding/common/windowsKeyboardMapper.d.ts +49 -0
- package/vscode/src/vs/workbench/services/keybinding/common/windowsKeyboardMapper.js +71 -68
- package/keybindings.js +0 -108
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from 'vscode/external/tslib/tslib.es6';
|
|
2
3
|
import { localize } from 'vscode/vscode/vs/nls';
|
|
3
4
|
import { isFalsyOrWhitespace } from 'vscode/vscode/vs/base/common/strings';
|
|
4
5
|
import { joinPath } from 'vscode/vscode/vs/base/common/resources';
|
|
@@ -20,203 +21,209 @@ const apiMenus = [
|
|
|
20
21
|
{
|
|
21
22
|
key: 'commandPalette',
|
|
22
23
|
id: MenuId.CommandPalette,
|
|
23
|
-
description: ( localize(
|
|
24
|
+
description: ( localize(11125, "The Command Palette")),
|
|
24
25
|
supportsSubmenus: false
|
|
25
26
|
},
|
|
26
27
|
{
|
|
27
28
|
key: 'touchBar',
|
|
28
29
|
id: MenuId.TouchBarContext,
|
|
29
|
-
description: ( localize(
|
|
30
|
+
description: ( localize(11126, "The touch bar (macOS only)")),
|
|
30
31
|
supportsSubmenus: false
|
|
31
32
|
},
|
|
32
33
|
{
|
|
33
34
|
key: 'editor/title',
|
|
34
35
|
id: MenuId.EditorTitle,
|
|
35
|
-
description: ( localize(
|
|
36
|
+
description: ( localize(11127, "The editor title menu"))
|
|
36
37
|
},
|
|
37
38
|
{
|
|
38
39
|
key: 'editor/title/run',
|
|
39
40
|
id: MenuId.EditorTitleRun,
|
|
40
|
-
description: ( localize(
|
|
41
|
+
description: ( localize(11128, "Run submenu inside the editor title menu"))
|
|
41
42
|
},
|
|
42
43
|
{
|
|
43
44
|
key: 'editor/context',
|
|
44
45
|
id: MenuId.EditorContext,
|
|
45
|
-
description: ( localize(
|
|
46
|
+
description: ( localize(11129, "The editor context menu"))
|
|
46
47
|
},
|
|
47
48
|
{
|
|
48
49
|
key: 'editor/context/copy',
|
|
49
50
|
id: MenuId.EditorContextCopy,
|
|
50
|
-
description: ( localize(
|
|
51
|
+
description: ( localize(11130, "'Copy as' submenu in the editor context menu"))
|
|
51
52
|
},
|
|
52
53
|
{
|
|
53
54
|
key: 'editor/context/share',
|
|
54
55
|
id: MenuId.EditorContextShare,
|
|
55
|
-
description: ( localize(
|
|
56
|
+
description: ( localize(11131, "'Share' submenu in the editor context menu")),
|
|
56
57
|
proposed: 'contribShareMenu'
|
|
57
58
|
},
|
|
58
59
|
{
|
|
59
60
|
key: 'explorer/context',
|
|
60
61
|
id: MenuId.ExplorerContext,
|
|
61
|
-
description: ( localize(
|
|
62
|
+
description: ( localize(11132, "The file explorer context menu"))
|
|
62
63
|
},
|
|
63
64
|
{
|
|
64
65
|
key: 'explorer/context/share',
|
|
65
66
|
id: MenuId.ExplorerContextShare,
|
|
66
|
-
description: ( localize(
|
|
67
|
+
description: ( localize(11133, "'Share' submenu in the file explorer context menu")),
|
|
67
68
|
proposed: 'contribShareMenu'
|
|
68
69
|
},
|
|
69
70
|
{
|
|
70
71
|
key: 'editor/title/context',
|
|
71
72
|
id: MenuId.EditorTitleContext,
|
|
72
|
-
description: ( localize(
|
|
73
|
+
description: ( localize(11134, "The editor tabs context menu"))
|
|
73
74
|
},
|
|
74
75
|
{
|
|
75
76
|
key: 'editor/title/context/share',
|
|
76
77
|
id: MenuId.EditorTitleContextShare,
|
|
77
|
-
description: ( localize(
|
|
78
|
+
description: ( localize(11135, "'Share' submenu inside the editor title context menu")),
|
|
78
79
|
proposed: 'contribShareMenu'
|
|
79
80
|
},
|
|
80
81
|
{
|
|
81
82
|
key: 'debug/callstack/context',
|
|
82
83
|
id: MenuId.DebugCallStackContext,
|
|
83
|
-
description: ( localize(
|
|
84
|
+
description: ( localize(11136, "The debug callstack view context menu"))
|
|
84
85
|
},
|
|
85
86
|
{
|
|
86
87
|
key: 'debug/variables/context',
|
|
87
88
|
id: MenuId.DebugVariablesContext,
|
|
88
|
-
description: ( localize(
|
|
89
|
+
description: ( localize(11137, "The debug variables view context menu"))
|
|
89
90
|
},
|
|
90
91
|
{
|
|
91
92
|
key: 'debug/toolBar',
|
|
92
93
|
id: MenuId.DebugToolBar,
|
|
93
|
-
description: ( localize(
|
|
94
|
+
description: ( localize(11138, "The debug toolbar menu"))
|
|
94
95
|
},
|
|
95
96
|
{
|
|
96
97
|
key: 'debug/createConfiguration',
|
|
97
98
|
id: MenuId.DebugCreateConfiguration,
|
|
98
99
|
proposed: 'contribDebugCreateConfiguration',
|
|
99
|
-
description: ( localize(
|
|
100
|
+
description: ( localize(11139, "The debug create configuration menu"))
|
|
100
101
|
},
|
|
101
102
|
{
|
|
102
103
|
key: 'notebook/variables/context',
|
|
103
104
|
id: MenuId.NotebookVariablesContext,
|
|
104
|
-
description: ( localize(
|
|
105
|
+
description: ( localize(11140, "The notebook variables view context menu"))
|
|
105
106
|
},
|
|
106
107
|
{
|
|
107
108
|
key: 'menuBar/home',
|
|
108
109
|
id: MenuId.MenubarHomeMenu,
|
|
109
|
-
description: ( localize(
|
|
110
|
+
description: ( localize(11141, "The home indicator context menu (web only)")),
|
|
110
111
|
proposed: 'contribMenuBarHome',
|
|
111
112
|
supportsSubmenus: false
|
|
112
113
|
},
|
|
113
114
|
{
|
|
114
115
|
key: 'menuBar/edit/copy',
|
|
115
116
|
id: MenuId.MenubarCopy,
|
|
116
|
-
description: ( localize(
|
|
117
|
+
description: ( localize(11142, "'Copy as' submenu in the top level Edit menu"))
|
|
117
118
|
},
|
|
118
119
|
{
|
|
119
120
|
key: 'scm/title',
|
|
120
121
|
id: MenuId.SCMTitle,
|
|
121
|
-
description: ( localize(
|
|
122
|
+
description: ( localize(11143, "The Source Control title menu"))
|
|
122
123
|
},
|
|
123
124
|
{
|
|
124
125
|
key: 'scm/sourceControl',
|
|
125
126
|
id: MenuId.SCMSourceControl,
|
|
126
|
-
description: ( localize(
|
|
127
|
+
description: ( localize(11144, "The Source Control menu"))
|
|
127
128
|
},
|
|
128
129
|
{
|
|
129
130
|
key: 'scm/sourceControl/title',
|
|
130
131
|
id: MenuId.SCMSourceControlTitle,
|
|
131
|
-
description: ( localize(
|
|
132
|
+
description: ( localize(11145, "The Source Control title menu")),
|
|
132
133
|
proposed: 'contribSourceControlTitleMenu'
|
|
133
134
|
},
|
|
134
135
|
{
|
|
135
136
|
key: 'scm/resourceState/context',
|
|
136
137
|
id: MenuId.SCMResourceContext,
|
|
137
|
-
description: ( localize(
|
|
138
|
+
description: ( localize(11146, "The Source Control resource state context menu"))
|
|
138
139
|
},
|
|
139
140
|
{
|
|
140
141
|
key: 'scm/resourceFolder/context',
|
|
141
142
|
id: MenuId.SCMResourceFolderContext,
|
|
142
|
-
description: ( localize(
|
|
143
|
+
description: ( localize(11147, "The Source Control resource folder context menu"))
|
|
143
144
|
},
|
|
144
145
|
{
|
|
145
146
|
key: 'scm/resourceGroup/context',
|
|
146
147
|
id: MenuId.SCMResourceGroupContext,
|
|
147
|
-
description: ( localize(
|
|
148
|
+
description: ( localize(11148, "The Source Control resource group context menu"))
|
|
148
149
|
},
|
|
149
150
|
{
|
|
150
151
|
key: 'scm/change/title',
|
|
151
152
|
id: MenuId.SCMChangeContext,
|
|
152
|
-
description: ( localize(
|
|
153
|
+
description: ( localize(11149, "The Source Control inline change menu"))
|
|
153
154
|
},
|
|
154
155
|
{
|
|
155
156
|
key: 'scm/inputBox',
|
|
156
157
|
id: MenuId.SCMInputBox,
|
|
157
|
-
description: ( localize(
|
|
158
|
+
description: ( localize(11150, "The Source Control input box menu")),
|
|
158
159
|
proposed: 'contribSourceControlInputBoxMenu'
|
|
159
160
|
},
|
|
160
161
|
{
|
|
161
162
|
key: 'scm/history/title',
|
|
162
163
|
id: MenuId.SCMHistoryTitle,
|
|
163
|
-
description: ( localize(
|
|
164
|
+
description: ( localize(11151, "The Source Control History title menu")),
|
|
164
165
|
proposed: 'contribSourceControlHistoryTitleMenu'
|
|
165
166
|
},
|
|
166
167
|
{
|
|
167
168
|
key: 'scm/historyItem/context',
|
|
168
169
|
id: MenuId.SCMChangesContext,
|
|
169
|
-
description: ( localize(
|
|
170
|
+
description: ( localize(11152, "The Source Control history item context menu")),
|
|
171
|
+
proposed: 'contribSourceControlHistoryItemMenu'
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
key: 'scm/historyItemRef/context',
|
|
175
|
+
id: MenuId.SCMHistoryItemRefContext,
|
|
176
|
+
description: ( localize(11153, "The Source Control history item reference context menu")),
|
|
170
177
|
proposed: 'contribSourceControlHistoryItemMenu'
|
|
171
178
|
},
|
|
172
179
|
{
|
|
173
180
|
key: 'statusBar/remoteIndicator',
|
|
174
181
|
id: MenuId.StatusBarRemoteIndicatorMenu,
|
|
175
|
-
description: ( localize(
|
|
182
|
+
description: ( localize(11154, "The remote indicator menu in the status bar")),
|
|
176
183
|
supportsSubmenus: false
|
|
177
184
|
},
|
|
178
185
|
{
|
|
179
186
|
key: 'terminal/context',
|
|
180
187
|
id: MenuId.TerminalInstanceContext,
|
|
181
|
-
description: ( localize(
|
|
188
|
+
description: ( localize(11155, "The terminal context menu"))
|
|
182
189
|
},
|
|
183
190
|
{
|
|
184
191
|
key: 'terminal/title/context',
|
|
185
192
|
id: MenuId.TerminalTabContext,
|
|
186
|
-
description: ( localize(
|
|
193
|
+
description: ( localize(11156, "The terminal tabs context menu"))
|
|
187
194
|
},
|
|
188
195
|
{
|
|
189
196
|
key: 'view/title',
|
|
190
197
|
id: MenuId.ViewTitle,
|
|
191
|
-
description: ( localize(
|
|
198
|
+
description: ( localize(11157, "The contributed view title menu"))
|
|
192
199
|
},
|
|
193
200
|
{
|
|
194
201
|
key: 'viewContainer/title',
|
|
195
202
|
id: MenuId.ViewContainerTitle,
|
|
196
|
-
description: ( localize(
|
|
203
|
+
description: ( localize(11158, "The contributed view container title menu")),
|
|
197
204
|
proposed: 'contribViewContainerTitle'
|
|
198
205
|
},
|
|
199
206
|
{
|
|
200
207
|
key: 'view/item/context',
|
|
201
208
|
id: MenuId.ViewItemContext,
|
|
202
|
-
description: ( localize(
|
|
209
|
+
description: ( localize(11159, "The contributed view item context menu"))
|
|
203
210
|
},
|
|
204
211
|
{
|
|
205
212
|
key: 'comments/comment/editorActions',
|
|
206
213
|
id: MenuId.CommentEditorActions,
|
|
207
|
-
description: ( localize(
|
|
214
|
+
description: ( localize(11160, "The contributed comment editor actions")),
|
|
208
215
|
proposed: 'contribCommentEditorActionsMenu'
|
|
209
216
|
},
|
|
210
217
|
{
|
|
211
218
|
key: 'comments/commentThread/title',
|
|
212
219
|
id: MenuId.CommentThreadTitle,
|
|
213
|
-
description: ( localize(
|
|
220
|
+
description: ( localize(11161, "The contributed comment thread title menu"))
|
|
214
221
|
},
|
|
215
222
|
{
|
|
216
223
|
key: 'comments/commentThread/context',
|
|
217
224
|
id: MenuId.CommentThreadActions,
|
|
218
225
|
description: ( localize(
|
|
219
|
-
|
|
226
|
+
11162,
|
|
220
227
|
"The contributed comment thread context menu, rendered as buttons below the comment editor"
|
|
221
228
|
)),
|
|
222
229
|
supportsSubmenus: false
|
|
@@ -225,7 +232,7 @@ const apiMenus = [
|
|
|
225
232
|
key: 'comments/commentThread/additionalActions',
|
|
226
233
|
id: MenuId.CommentThreadAdditionalActions,
|
|
227
234
|
description: ( localize(
|
|
228
|
-
|
|
235
|
+
11162,
|
|
229
236
|
"The contributed comment thread context menu, rendered as buttons below the comment editor"
|
|
230
237
|
)),
|
|
231
238
|
supportsSubmenus: true,
|
|
@@ -235,7 +242,7 @@ const apiMenus = [
|
|
|
235
242
|
key: 'comments/commentThread/title/context',
|
|
236
243
|
id: MenuId.CommentThreadTitleContext,
|
|
237
244
|
description: ( localize(
|
|
238
|
-
|
|
245
|
+
11163,
|
|
239
246
|
"The contributed comment thread title's peek context menu, rendered as a right click menu on the comment thread's peek title."
|
|
240
247
|
)),
|
|
241
248
|
proposed: 'contribCommentPeekContext'
|
|
@@ -243,13 +250,13 @@ const apiMenus = [
|
|
|
243
250
|
{
|
|
244
251
|
key: 'comments/comment/title',
|
|
245
252
|
id: MenuId.CommentTitle,
|
|
246
|
-
description: ( localize(
|
|
253
|
+
description: ( localize(11164, "The contributed comment title menu"))
|
|
247
254
|
},
|
|
248
255
|
{
|
|
249
256
|
key: 'comments/comment/context',
|
|
250
257
|
id: MenuId.CommentActions,
|
|
251
258
|
description: ( localize(
|
|
252
|
-
|
|
259
|
+
11165,
|
|
253
260
|
"The contributed comment context menu, rendered as buttons below the comment editor"
|
|
254
261
|
)),
|
|
255
262
|
supportsSubmenus: false
|
|
@@ -258,7 +265,7 @@ const apiMenus = [
|
|
|
258
265
|
key: 'comments/commentThread/comment/context',
|
|
259
266
|
id: MenuId.CommentThreadCommentContext,
|
|
260
267
|
description: ( localize(
|
|
261
|
-
|
|
268
|
+
11166,
|
|
262
269
|
"The contributed comment context menu, rendered as a right click menu on the an individual comment in the comment thread's peek view."
|
|
263
270
|
)),
|
|
264
271
|
proposed: 'contribCommentPeekContext'
|
|
@@ -266,171 +273,173 @@ const apiMenus = [
|
|
|
266
273
|
{
|
|
267
274
|
key: 'commentsView/commentThread/context',
|
|
268
275
|
id: MenuId.CommentsViewThreadActions,
|
|
269
|
-
description: ( localize(
|
|
276
|
+
description: ( localize(11167, "The contributed comment thread context menu in the comments view")),
|
|
270
277
|
proposed: 'contribCommentsViewThreadMenus'
|
|
271
278
|
},
|
|
272
279
|
{
|
|
273
280
|
key: 'notebook/toolbar',
|
|
274
281
|
id: MenuId.NotebookToolbar,
|
|
275
|
-
description: ( localize(
|
|
282
|
+
description: ( localize(11168, "The contributed notebook toolbar menu"))
|
|
276
283
|
},
|
|
277
284
|
{
|
|
278
285
|
key: 'notebook/kernelSource',
|
|
279
286
|
id: MenuId.NotebookKernelSource,
|
|
280
|
-
description: ( localize(
|
|
287
|
+
description: ( localize(11169, "The contributed notebook kernel sources menu")),
|
|
281
288
|
proposed: 'notebookKernelSource'
|
|
282
289
|
},
|
|
283
290
|
{
|
|
284
291
|
key: 'notebook/cell/title',
|
|
285
292
|
id: MenuId.NotebookCellTitle,
|
|
286
|
-
description: ( localize(
|
|
293
|
+
description: ( localize(11170, "The contributed notebook cell title menu"))
|
|
287
294
|
},
|
|
288
295
|
{
|
|
289
296
|
key: 'notebook/cell/execute',
|
|
290
297
|
id: MenuId.NotebookCellExecute,
|
|
291
|
-
description: ( localize(
|
|
298
|
+
description: ( localize(11171, "The contributed notebook cell execution menu"))
|
|
292
299
|
},
|
|
293
300
|
{
|
|
294
301
|
key: 'interactive/toolbar',
|
|
295
302
|
id: MenuId.InteractiveToolbar,
|
|
296
|
-
description: ( localize(
|
|
303
|
+
description: ( localize(11172, "The contributed interactive toolbar menu")),
|
|
297
304
|
},
|
|
298
305
|
{
|
|
299
306
|
key: 'interactive/cell/title',
|
|
300
307
|
id: MenuId.InteractiveCellTitle,
|
|
301
|
-
description: ( localize(
|
|
308
|
+
description: ( localize(11173, "The contributed interactive cell title menu")),
|
|
302
309
|
},
|
|
303
310
|
{
|
|
304
311
|
key: 'issue/reporter',
|
|
305
312
|
id: MenuId.IssueReporter,
|
|
306
|
-
description: ( localize(
|
|
307
|
-
proposed: 'contribIssueReporter'
|
|
313
|
+
description: ( localize(11174, "The contributed issue reporter menu"))
|
|
308
314
|
},
|
|
309
315
|
{
|
|
310
316
|
key: 'testing/item/context',
|
|
311
317
|
id: MenuId.TestItem,
|
|
312
|
-
description: ( localize(
|
|
318
|
+
description: ( localize(11175, "The contributed test item menu")),
|
|
313
319
|
},
|
|
314
320
|
{
|
|
315
321
|
key: 'testing/item/gutter',
|
|
316
322
|
id: MenuId.TestItemGutter,
|
|
317
|
-
description: ( localize(
|
|
323
|
+
description: ( localize(11176, "The menu for a gutter decoration for a test item")),
|
|
318
324
|
},
|
|
319
325
|
{
|
|
320
326
|
key: 'testing/profiles/context',
|
|
321
327
|
id: MenuId.TestProfilesContext,
|
|
322
|
-
description: ( localize(
|
|
328
|
+
description: ( localize(11177, "The menu for configuring testing profiles.")),
|
|
323
329
|
},
|
|
324
330
|
{
|
|
325
331
|
key: 'testing/item/result',
|
|
326
332
|
id: MenuId.TestPeekElement,
|
|
327
|
-
description: ( localize(
|
|
333
|
+
description: ( localize(11178, "The menu for an item in the Test Results view or peek.")),
|
|
328
334
|
},
|
|
329
335
|
{
|
|
330
336
|
key: 'testing/message/context',
|
|
331
337
|
id: MenuId.TestMessageContext,
|
|
332
338
|
description: ( localize(
|
|
333
|
-
|
|
339
|
+
11179,
|
|
334
340
|
"A prominent button overlaying editor content where the message is displayed"
|
|
335
341
|
)),
|
|
336
342
|
},
|
|
337
343
|
{
|
|
338
344
|
key: 'testing/message/content',
|
|
339
345
|
id: MenuId.TestMessageContent,
|
|
340
|
-
description: ( localize(
|
|
346
|
+
description: ( localize(11180, "Context menu for the message in the results tree")),
|
|
341
347
|
},
|
|
342
348
|
{
|
|
343
349
|
key: 'extension/context',
|
|
344
350
|
id: MenuId.ExtensionContext,
|
|
345
|
-
description: ( localize(
|
|
351
|
+
description: ( localize(11181, "The extension context menu"))
|
|
346
352
|
},
|
|
347
353
|
{
|
|
348
354
|
key: 'timeline/title',
|
|
349
355
|
id: MenuId.TimelineTitle,
|
|
350
|
-
description: ( localize(
|
|
356
|
+
description: ( localize(11182, "The Timeline view title menu"))
|
|
351
357
|
},
|
|
352
358
|
{
|
|
353
359
|
key: 'timeline/item/context',
|
|
354
360
|
id: MenuId.TimelineItemContext,
|
|
355
|
-
description: ( localize(
|
|
361
|
+
description: ( localize(11183, "The Timeline view item context menu"))
|
|
356
362
|
},
|
|
357
363
|
{
|
|
358
364
|
key: 'ports/item/context',
|
|
359
365
|
id: MenuId.TunnelContext,
|
|
360
|
-
description: ( localize(
|
|
366
|
+
description: ( localize(11184, "The Ports view item context menu"))
|
|
361
367
|
},
|
|
362
368
|
{
|
|
363
369
|
key: 'ports/item/origin/inline',
|
|
364
370
|
id: MenuId.TunnelOriginInline,
|
|
365
|
-
description: ( localize(
|
|
371
|
+
description: ( localize(11185, "The Ports view item origin inline menu"))
|
|
366
372
|
},
|
|
367
373
|
{
|
|
368
374
|
key: 'ports/item/port/inline',
|
|
369
375
|
id: MenuId.TunnelPortInline,
|
|
370
|
-
description: ( localize(
|
|
376
|
+
description: ( localize(11186, "The Ports view item port inline menu"))
|
|
371
377
|
},
|
|
372
378
|
{
|
|
373
379
|
key: 'file/newFile',
|
|
374
380
|
id: MenuId.NewFile,
|
|
375
|
-
description: ( localize(
|
|
381
|
+
description: ( localize(
|
|
382
|
+
11187,
|
|
383
|
+
"The 'New File...' quick pick, shown on welcome page and File menu."
|
|
384
|
+
)),
|
|
376
385
|
supportsSubmenus: false,
|
|
377
386
|
},
|
|
378
387
|
{
|
|
379
388
|
key: 'webview/context',
|
|
380
389
|
id: MenuId.WebviewContext,
|
|
381
|
-
description: ( localize(
|
|
390
|
+
description: ( localize(11188, "The webview context menu"))
|
|
382
391
|
},
|
|
383
392
|
{
|
|
384
393
|
key: 'file/share',
|
|
385
394
|
id: MenuId.MenubarShare,
|
|
386
|
-
description: ( localize(
|
|
395
|
+
description: ( localize(11189, "Share submenu shown in the top level File menu.")),
|
|
387
396
|
proposed: 'contribShareMenu'
|
|
388
397
|
},
|
|
389
398
|
{
|
|
390
399
|
key: 'editor/inlineCompletions/actions',
|
|
391
400
|
id: MenuId.InlineCompletionsActions,
|
|
392
|
-
description: ( localize(
|
|
401
|
+
description: ( localize(11190, "The actions shown when hovering on an inline completion")),
|
|
393
402
|
supportsSubmenus: false,
|
|
394
403
|
proposed: 'inlineCompletionsAdditions'
|
|
395
404
|
},
|
|
396
405
|
{
|
|
397
406
|
key: 'editor/content',
|
|
398
407
|
id: MenuId.EditorContent,
|
|
399
|
-
description: ( localize(
|
|
408
|
+
description: ( localize(11191, "The prominent button in an editor, overlays its content")),
|
|
400
409
|
proposed: 'contribEditorContentMenu'
|
|
401
410
|
},
|
|
402
411
|
{
|
|
403
412
|
key: 'editor/lineNumber/context',
|
|
404
413
|
id: MenuId.EditorLineNumberContext,
|
|
405
|
-
description: ( localize(
|
|
414
|
+
description: ( localize(11192, "The contributed editor line number context menu"))
|
|
406
415
|
},
|
|
407
416
|
{
|
|
408
417
|
key: 'mergeEditor/result/title',
|
|
409
418
|
id: MenuId.MergeInputResultToolbar,
|
|
410
|
-
description: ( localize(
|
|
419
|
+
description: ( localize(11193, "The result toolbar of the merge editor")),
|
|
411
420
|
proposed: 'contribMergeEditorMenus'
|
|
412
421
|
},
|
|
413
422
|
{
|
|
414
423
|
key: 'multiDiffEditor/resource/title',
|
|
415
424
|
id: MenuId.MultiDiffEditorFileToolbar,
|
|
416
|
-
description: ( localize(
|
|
425
|
+
description: ( localize(11194, "The resource toolbar in the multi diff editor")),
|
|
417
426
|
proposed: 'contribMultiDiffEditorMenus'
|
|
418
427
|
},
|
|
419
428
|
{
|
|
420
429
|
key: 'diffEditor/gutter/hunk',
|
|
421
430
|
id: MenuId.DiffEditorHunkToolbar,
|
|
422
|
-
description: ( localize(
|
|
431
|
+
description: ( localize(11195, "The gutter toolbar in the diff editor")),
|
|
423
432
|
proposed: 'contribDiffEditorGutterToolBarMenus'
|
|
424
433
|
},
|
|
425
434
|
{
|
|
426
435
|
key: 'diffEditor/gutter/selection',
|
|
427
436
|
id: MenuId.DiffEditorSelectionToolbar,
|
|
428
|
-
description: ( localize(
|
|
437
|
+
description: ( localize(11195, "The gutter toolbar in the diff editor")),
|
|
429
438
|
proposed: 'contribDiffEditorGutterToolBarMenus'
|
|
430
439
|
}
|
|
431
440
|
];
|
|
432
441
|
var schema;
|
|
433
|
-
( (
|
|
442
|
+
(function (schema) {
|
|
434
443
|
function isMenuItem(item) {
|
|
435
444
|
return typeof item.command === 'string';
|
|
436
445
|
}
|
|
@@ -438,22 +447,26 @@ var schema;
|
|
|
438
447
|
function isValidMenuItem(item, collector) {
|
|
439
448
|
if (typeof item.command !== 'string') {
|
|
440
449
|
collector.error(( localize(
|
|
441
|
-
|
|
450
|
+
11196,
|
|
442
451
|
"property `{0}` is mandatory and must be of type `string`",
|
|
443
452
|
'command'
|
|
444
453
|
)));
|
|
445
454
|
return false;
|
|
446
455
|
}
|
|
447
456
|
if (item.alt && typeof item.alt !== 'string') {
|
|
448
|
-
collector.error(( localize(
|
|
457
|
+
collector.error(( localize(11197, "property `{0}` can be omitted or must be of type `string`", 'alt')));
|
|
449
458
|
return false;
|
|
450
459
|
}
|
|
451
460
|
if (item.when && typeof item.when !== 'string') {
|
|
452
|
-
collector.error(( localize(
|
|
461
|
+
collector.error(( localize(11197, "property `{0}` can be omitted or must be of type `string`", 'when')));
|
|
453
462
|
return false;
|
|
454
463
|
}
|
|
455
464
|
if (item.group && typeof item.group !== 'string') {
|
|
456
|
-
collector.error(( localize(
|
|
465
|
+
collector.error(( localize(
|
|
466
|
+
11197,
|
|
467
|
+
"property `{0}` can be omitted or must be of type `string`",
|
|
468
|
+
'group'
|
|
469
|
+
)));
|
|
457
470
|
return false;
|
|
458
471
|
}
|
|
459
472
|
return true;
|
|
@@ -462,18 +475,22 @@ var schema;
|
|
|
462
475
|
function isValidSubmenuItem(item, collector) {
|
|
463
476
|
if (typeof item.submenu !== 'string') {
|
|
464
477
|
collector.error(( localize(
|
|
465
|
-
|
|
478
|
+
11196,
|
|
466
479
|
"property `{0}` is mandatory and must be of type `string`",
|
|
467
480
|
'submenu'
|
|
468
481
|
)));
|
|
469
482
|
return false;
|
|
470
483
|
}
|
|
471
484
|
if (item.when && typeof item.when !== 'string') {
|
|
472
|
-
collector.error(( localize(
|
|
485
|
+
collector.error(( localize(11197, "property `{0}` can be omitted or must be of type `string`", 'when')));
|
|
473
486
|
return false;
|
|
474
487
|
}
|
|
475
488
|
if (item.group && typeof item.group !== 'string') {
|
|
476
|
-
collector.error(( localize(
|
|
489
|
+
collector.error(( localize(
|
|
490
|
+
11197,
|
|
491
|
+
"property `{0}` can be omitted or must be of type `string`",
|
|
492
|
+
'group'
|
|
493
|
+
)));
|
|
477
494
|
return false;
|
|
478
495
|
}
|
|
479
496
|
return true;
|
|
@@ -481,7 +498,7 @@ var schema;
|
|
|
481
498
|
schema.isValidSubmenuItem = isValidSubmenuItem;
|
|
482
499
|
function isValidItems(items, collector) {
|
|
483
500
|
if (!Array.isArray(items)) {
|
|
484
|
-
collector.error(( localize(
|
|
501
|
+
collector.error(( localize(11198, "submenu items must be an array")));
|
|
485
502
|
return false;
|
|
486
503
|
}
|
|
487
504
|
for (const item of items) {
|
|
@@ -501,15 +518,15 @@ var schema;
|
|
|
501
518
|
schema.isValidItems = isValidItems;
|
|
502
519
|
function isValidSubmenu(submenu, collector) {
|
|
503
520
|
if (typeof submenu !== 'object') {
|
|
504
|
-
collector.error(( localize(
|
|
521
|
+
collector.error(( localize(11199, "submenu items must be an object")));
|
|
505
522
|
return false;
|
|
506
523
|
}
|
|
507
524
|
if (typeof submenu.id !== 'string') {
|
|
508
|
-
collector.error(( localize(
|
|
525
|
+
collector.error(( localize(11196, "property `{0}` is mandatory and must be of type `string`", 'id')));
|
|
509
526
|
return false;
|
|
510
527
|
}
|
|
511
528
|
if (typeof submenu.label !== 'string') {
|
|
512
|
-
collector.error(( localize(
|
|
529
|
+
collector.error(( localize(11196, "property `{0}` is mandatory and must be of type `string`", 'label')));
|
|
513
530
|
return false;
|
|
514
531
|
}
|
|
515
532
|
return true;
|
|
@@ -521,24 +538,24 @@ var schema;
|
|
|
521
538
|
properties: {
|
|
522
539
|
command: {
|
|
523
540
|
description: ( localize(
|
|
524
|
-
|
|
541
|
+
11200,
|
|
525
542
|
'Identifier of the command to execute. The command must be declared in the \'commands\'-section'
|
|
526
543
|
)),
|
|
527
544
|
type: 'string'
|
|
528
545
|
},
|
|
529
546
|
alt: {
|
|
530
547
|
description: ( localize(
|
|
531
|
-
|
|
548
|
+
11201,
|
|
532
549
|
'Identifier of an alternative command to execute. The command must be declared in the \'commands\'-section'
|
|
533
550
|
)),
|
|
534
551
|
type: 'string'
|
|
535
552
|
},
|
|
536
553
|
when: {
|
|
537
|
-
description: ( localize(
|
|
554
|
+
description: ( localize(11202, 'Condition which must be true to show this item')),
|
|
538
555
|
type: 'string'
|
|
539
556
|
},
|
|
540
557
|
group: {
|
|
541
|
-
description: ( localize(
|
|
558
|
+
description: ( localize(11203, 'Group into which this item belongs')),
|
|
542
559
|
type: 'string'
|
|
543
560
|
}
|
|
544
561
|
}
|
|
@@ -548,15 +565,15 @@ var schema;
|
|
|
548
565
|
required: ['submenu'],
|
|
549
566
|
properties: {
|
|
550
567
|
submenu: {
|
|
551
|
-
description: ( localize(
|
|
568
|
+
description: ( localize(11204, 'Identifier of the submenu to display in this item.')),
|
|
552
569
|
type: 'string'
|
|
553
570
|
},
|
|
554
571
|
when: {
|
|
555
|
-
description: ( localize(
|
|
572
|
+
description: ( localize(11202, 'Condition which must be true to show this item')),
|
|
556
573
|
type: 'string'
|
|
557
574
|
},
|
|
558
575
|
group: {
|
|
559
|
-
description: ( localize(
|
|
576
|
+
description: ( localize(11203, 'Group into which this item belongs')),
|
|
560
577
|
type: 'string'
|
|
561
578
|
}
|
|
562
579
|
}
|
|
@@ -566,16 +583,16 @@ var schema;
|
|
|
566
583
|
required: ['id', 'label'],
|
|
567
584
|
properties: {
|
|
568
585
|
id: {
|
|
569
|
-
description: ( localize(
|
|
586
|
+
description: ( localize(11205, 'Identifier of the menu to display as a submenu.')),
|
|
570
587
|
type: 'string'
|
|
571
588
|
},
|
|
572
589
|
label: {
|
|
573
|
-
description: ( localize(
|
|
590
|
+
description: ( localize(11206, 'The label of the menu item which leads to this submenu.')),
|
|
574
591
|
type: 'string'
|
|
575
592
|
},
|
|
576
593
|
icon: {
|
|
577
594
|
description: ( localize(
|
|
578
|
-
|
|
595
|
+
11207,
|
|
579
596
|
'(Optional) Icon which is used to represent the submenu in the UI. Either a file path, an object with file paths for dark and light themes, or a theme icon references, like `\\$(zap)`'
|
|
580
597
|
)),
|
|
581
598
|
anyOf: [{
|
|
@@ -585,11 +602,11 @@ var schema;
|
|
|
585
602
|
type: 'object',
|
|
586
603
|
properties: {
|
|
587
604
|
light: {
|
|
588
|
-
description: ( localize(
|
|
605
|
+
description: ( localize(11208, 'Icon path when a light theme is used')),
|
|
589
606
|
type: 'string'
|
|
590
607
|
},
|
|
591
608
|
dark: {
|
|
592
|
-
description: ( localize(
|
|
609
|
+
description: ( localize(11209, 'Icon path when a dark theme is used')),
|
|
593
610
|
type: 'string'
|
|
594
611
|
}
|
|
595
612
|
}
|
|
@@ -598,11 +615,11 @@ var schema;
|
|
|
598
615
|
}
|
|
599
616
|
};
|
|
600
617
|
schema.menusContribution = {
|
|
601
|
-
description: ( localize(
|
|
618
|
+
description: ( localize(11210, "Contributes menu items to the editor")),
|
|
602
619
|
type: 'object',
|
|
603
620
|
properties: index(apiMenus, menu => menu.key, menu => ({
|
|
604
621
|
markdownDescription: menu.proposed ? ( localize(
|
|
605
|
-
|
|
622
|
+
11211,
|
|
606
623
|
"Proposed API, requires `enabledApiProposal: [\"{0}\"]` - {1}",
|
|
607
624
|
menu.proposed,
|
|
608
625
|
menu.description
|
|
@@ -617,18 +634,18 @@ var schema;
|
|
|
617
634
|
}
|
|
618
635
|
};
|
|
619
636
|
schema.submenusContribution = {
|
|
620
|
-
description: ( localize(
|
|
637
|
+
description: ( localize(11212, "Contributes submenu items to the editor")),
|
|
621
638
|
type: 'array',
|
|
622
639
|
items: submenu
|
|
623
640
|
};
|
|
624
641
|
function isValidCommand(command, collector) {
|
|
625
642
|
if (!command) {
|
|
626
|
-
collector.error(( localize(
|
|
643
|
+
collector.error(( localize(11213, "expected non-empty value.")));
|
|
627
644
|
return false;
|
|
628
645
|
}
|
|
629
646
|
if (isFalsyOrWhitespace(command.command)) {
|
|
630
647
|
collector.error(( localize(
|
|
631
|
-
|
|
648
|
+
11196,
|
|
632
649
|
"property `{0}` is mandatory and must be of type `string`",
|
|
633
650
|
'command'
|
|
634
651
|
)));
|
|
@@ -642,7 +659,7 @@ var schema;
|
|
|
642
659
|
}
|
|
643
660
|
if (command.enablement && typeof command.enablement !== 'string') {
|
|
644
661
|
collector.error(( localize(
|
|
645
|
-
|
|
662
|
+
11197,
|
|
646
663
|
"property `{0}` can be omitted or must be of type `string`",
|
|
647
664
|
'precondition'
|
|
648
665
|
)));
|
|
@@ -668,7 +685,7 @@ var schema;
|
|
|
668
685
|
return true;
|
|
669
686
|
}
|
|
670
687
|
collector.error(( localize(
|
|
671
|
-
|
|
688
|
+
11214,
|
|
672
689
|
"property `icon` can be omitted or must be either a string or a literal like `{dark, light}`"
|
|
673
690
|
)));
|
|
674
691
|
return false;
|
|
@@ -676,7 +693,7 @@ var schema;
|
|
|
676
693
|
function isValidLocalizedString(localized, collector, propertyName) {
|
|
677
694
|
if (typeof localized === 'undefined') {
|
|
678
695
|
collector.error(( localize(
|
|
679
|
-
|
|
696
|
+
11215,
|
|
680
697
|
"property `{0}` is mandatory and must be of type `string` or `object`",
|
|
681
698
|
propertyName
|
|
682
699
|
)));
|
|
@@ -684,7 +701,7 @@ var schema;
|
|
|
684
701
|
}
|
|
685
702
|
else if (typeof localized === 'string' && isFalsyOrWhitespace(localized)) {
|
|
686
703
|
collector.error(( localize(
|
|
687
|
-
|
|
704
|
+
11196,
|
|
688
705
|
"property `{0}` is mandatory and must be of type `string`",
|
|
689
706
|
propertyName
|
|
690
707
|
)));
|
|
@@ -692,7 +709,7 @@ var schema;
|
|
|
692
709
|
}
|
|
693
710
|
else if (typeof localized !== 'string' && (isFalsyOrWhitespace(localized.original) || isFalsyOrWhitespace(localized.value))) {
|
|
694
711
|
collector.error(( localize(
|
|
695
|
-
|
|
712
|
+
11216,
|
|
696
713
|
"properties `{0}` and `{1}` are mandatory and must be of type `string`",
|
|
697
714
|
`${propertyName}.value`,
|
|
698
715
|
`${propertyName}.original`
|
|
@@ -706,37 +723,37 @@ var schema;
|
|
|
706
723
|
required: ['command', 'title'],
|
|
707
724
|
properties: {
|
|
708
725
|
command: {
|
|
709
|
-
description: ( localize(
|
|
726
|
+
description: ( localize(11217, 'Identifier of the command to execute')),
|
|
710
727
|
type: 'string'
|
|
711
728
|
},
|
|
712
729
|
title: {
|
|
713
|
-
description: ( localize(
|
|
730
|
+
description: ( localize(11218, 'Title by which the command is represented in the UI')),
|
|
714
731
|
type: 'string'
|
|
715
732
|
},
|
|
716
733
|
shortTitle: {
|
|
717
734
|
markdownDescription: ( localize(
|
|
718
|
-
|
|
735
|
+
11219,
|
|
719
736
|
'(Optional) Short title by which the command is represented in the UI. Menus pick either `title` or `shortTitle` depending on the context in which they show commands.'
|
|
720
737
|
)),
|
|
721
738
|
type: 'string'
|
|
722
739
|
},
|
|
723
740
|
category: {
|
|
724
741
|
description: ( localize(
|
|
725
|
-
|
|
742
|
+
11220,
|
|
726
743
|
'(Optional) Category string by which the command is grouped in the UI'
|
|
727
744
|
)),
|
|
728
745
|
type: 'string'
|
|
729
746
|
},
|
|
730
747
|
enablement: {
|
|
731
748
|
description: ( localize(
|
|
732
|
-
|
|
749
|
+
11221,
|
|
733
750
|
'(Optional) Condition which must be true to enable the command in the UI (menu and keybindings). Does not prevent executing the command by other means, like the `executeCommand`-api.'
|
|
734
751
|
)),
|
|
735
752
|
type: 'string'
|
|
736
753
|
},
|
|
737
754
|
icon: {
|
|
738
755
|
description: ( localize(
|
|
739
|
-
|
|
756
|
+
11222,
|
|
740
757
|
'(Optional) Icon which is used to represent the command in the UI. Either a file path, an object with file paths for dark and light themes, or a theme icon references, like `\\$(zap)`'
|
|
741
758
|
)),
|
|
742
759
|
anyOf: [{
|
|
@@ -746,11 +763,11 @@ var schema;
|
|
|
746
763
|
type: 'object',
|
|
747
764
|
properties: {
|
|
748
765
|
light: {
|
|
749
|
-
description: ( localize(
|
|
766
|
+
description: ( localize(11223, 'Icon path when a light theme is used')),
|
|
750
767
|
type: 'string'
|
|
751
768
|
},
|
|
752
769
|
dark: {
|
|
753
|
-
description: ( localize(
|
|
770
|
+
description: ( localize(11224, 'Icon path when a dark theme is used')),
|
|
754
771
|
type: 'string'
|
|
755
772
|
}
|
|
756
773
|
}
|
|
@@ -759,7 +776,7 @@ var schema;
|
|
|
759
776
|
}
|
|
760
777
|
};
|
|
761
778
|
schema.commandsContribution = {
|
|
762
|
-
description: ( localize(
|
|
779
|
+
description: ( localize(11225, "Contributes commands to the command palette.")),
|
|
763
780
|
oneOf: [
|
|
764
781
|
commandType,
|
|
765
782
|
{
|
|
@@ -768,8 +785,8 @@ var schema;
|
|
|
768
785
|
}
|
|
769
786
|
]
|
|
770
787
|
};
|
|
771
|
-
})(schema || (schema = {}))
|
|
772
|
-
const _commandRegistrations = (
|
|
788
|
+
})(schema || (schema = {}));
|
|
789
|
+
const _commandRegistrations = ( new DisposableStore());
|
|
773
790
|
const commandsExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
774
791
|
extensionPoint: 'commands',
|
|
775
792
|
jsonSchema: schema.commandsContribution,
|
|
@@ -803,7 +820,7 @@ commandsExtensionPoint.setHandler(extensions => {
|
|
|
803
820
|
if (existingCmd) {
|
|
804
821
|
if (existingCmd.source) {
|
|
805
822
|
extension.collector.info(( localize(
|
|
806
|
-
|
|
823
|
+
11226,
|
|
807
824
|
"Command `{0}` already registered by {1} ({2})",
|
|
808
825
|
userFriendlyCommand.command,
|
|
809
826
|
existingCmd.source.title,
|
|
@@ -811,7 +828,7 @@ commandsExtensionPoint.setHandler(extensions => {
|
|
|
811
828
|
)));
|
|
812
829
|
}
|
|
813
830
|
else {
|
|
814
|
-
extension.collector.info(( localize(
|
|
831
|
+
extension.collector.info(( localize(11227, "Command `{0}` already registered", userFriendlyCommand.command)));
|
|
815
832
|
}
|
|
816
833
|
}
|
|
817
834
|
_commandRegistrations.add(MenuRegistry.addCommand({
|
|
@@ -838,7 +855,7 @@ commandsExtensionPoint.setHandler(extensions => {
|
|
|
838
855
|
}
|
|
839
856
|
}
|
|
840
857
|
});
|
|
841
|
-
const _submenus = (
|
|
858
|
+
const _submenus = ( new Map());
|
|
842
859
|
const submenusExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
843
860
|
extensionPoint: 'submenus',
|
|
844
861
|
jsonSchema: schema.submenusContribution
|
|
@@ -852,19 +869,19 @@ submenusExtensionPoint.setHandler(extensions => {
|
|
|
852
869
|
continue;
|
|
853
870
|
}
|
|
854
871
|
if (!submenuInfo.id) {
|
|
855
|
-
collector.warn(( localize(
|
|
872
|
+
collector.warn(( localize(11228, "`{0}` is not a valid submenu identifier", submenuInfo.id)));
|
|
856
873
|
continue;
|
|
857
874
|
}
|
|
858
|
-
if ((
|
|
875
|
+
if (( _submenus.has(submenuInfo.id))) {
|
|
859
876
|
collector.info(( localize(
|
|
860
|
-
|
|
877
|
+
11229,
|
|
861
878
|
"The `{0}` submenu was already previously registered.",
|
|
862
879
|
submenuInfo.id
|
|
863
880
|
)));
|
|
864
881
|
continue;
|
|
865
882
|
}
|
|
866
883
|
if (!submenuInfo.label) {
|
|
867
|
-
collector.warn(( localize(
|
|
884
|
+
collector.warn(( localize(11230, "`{0}` is not a valid submenu label", submenuInfo.label)));
|
|
868
885
|
continue;
|
|
869
886
|
}
|
|
870
887
|
let absoluteIcon;
|
|
@@ -888,9 +905,9 @@ submenusExtensionPoint.setHandler(extensions => {
|
|
|
888
905
|
}
|
|
889
906
|
}
|
|
890
907
|
});
|
|
891
|
-
const _apiMenusByKey = (
|
|
892
|
-
const _menuRegistrations = (
|
|
893
|
-
const _submenuMenuItems = (
|
|
908
|
+
const _apiMenusByKey = ( new Map(( apiMenus.map(menu => ([menu.key, menu])))));
|
|
909
|
+
const _menuRegistrations = ( new DisposableStore());
|
|
910
|
+
const _submenuMenuItems = ( new Map());
|
|
894
911
|
const menusExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
895
912
|
extensionPoint: 'menus',
|
|
896
913
|
jsonSchema: schema.menusContribution,
|
|
@@ -921,7 +938,7 @@ menusExtensionPoint.setHandler(extensions => {
|
|
|
921
938
|
}
|
|
922
939
|
if (menu.proposed && !isProposedApiEnabled(extension.description, menu.proposed)) {
|
|
923
940
|
collector.error(( localize(
|
|
924
|
-
|
|
941
|
+
11231,
|
|
925
942
|
"{0} is a proposed menu identifier. It requires 'package.json#enabledApiProposals: [\"{1}\"]' and is only available when running out of dev or with the following command line switch: --enable-proposed-api {2}",
|
|
926
943
|
entry[0],
|
|
927
944
|
menu.proposed,
|
|
@@ -936,7 +953,7 @@ menusExtensionPoint.setHandler(extensions => {
|
|
|
936
953
|
const alt = menuItem.alt && MenuRegistry.getCommand(menuItem.alt) || undefined;
|
|
937
954
|
if (!command) {
|
|
938
955
|
collector.error(( localize(
|
|
939
|
-
|
|
956
|
+
11232,
|
|
940
957
|
"Menu item references a command `{0}` which is not defined in the 'commands' section.",
|
|
941
958
|
menuItem.command
|
|
942
959
|
)));
|
|
@@ -944,20 +961,20 @@ menusExtensionPoint.setHandler(extensions => {
|
|
|
944
961
|
}
|
|
945
962
|
if (menuItem.alt && !alt) {
|
|
946
963
|
collector.warn(( localize(
|
|
947
|
-
|
|
964
|
+
11233,
|
|
948
965
|
"Menu item references an alt-command `{0}` which is not defined in the 'commands' section.",
|
|
949
966
|
menuItem.alt
|
|
950
967
|
)));
|
|
951
968
|
}
|
|
952
969
|
if (menuItem.command === menuItem.alt) {
|
|
953
|
-
collector.info(( localize(
|
|
970
|
+
collector.info(( localize(11234, "Menu item references the same command as default and alt-command")));
|
|
954
971
|
}
|
|
955
972
|
item = { command, alt, group: undefined, order: undefined, when: undefined };
|
|
956
973
|
}
|
|
957
974
|
else {
|
|
958
975
|
if (menu.supportsSubmenus === false) {
|
|
959
976
|
collector.error(( localize(
|
|
960
|
-
|
|
977
|
+
11235,
|
|
961
978
|
"Menu item references a submenu for a menu which doesn't have submenu support."
|
|
962
979
|
)));
|
|
963
980
|
continue;
|
|
@@ -965,7 +982,7 @@ menusExtensionPoint.setHandler(extensions => {
|
|
|
965
982
|
const submenu = _submenus.get(menuItem.submenu);
|
|
966
983
|
if (!submenu) {
|
|
967
984
|
collector.error(( localize(
|
|
968
|
-
|
|
985
|
+
11236,
|
|
969
986
|
"Menu item references a submenu `{0}` which is not defined in the 'submenus' section.",
|
|
970
987
|
menuItem.submenu
|
|
971
988
|
)));
|
|
@@ -973,12 +990,12 @@ menusExtensionPoint.setHandler(extensions => {
|
|
|
973
990
|
}
|
|
974
991
|
let submenuRegistrations = _submenuMenuItems.get(menu.id.id);
|
|
975
992
|
if (!submenuRegistrations) {
|
|
976
|
-
submenuRegistrations = (
|
|
993
|
+
submenuRegistrations = ( new Set());
|
|
977
994
|
_submenuMenuItems.set(menu.id.id, submenuRegistrations);
|
|
978
995
|
}
|
|
979
|
-
if ((
|
|
996
|
+
if (( submenuRegistrations.has(submenu.id.id))) {
|
|
980
997
|
collector.warn(( localize(
|
|
981
|
-
|
|
998
|
+
11237,
|
|
982
999
|
"The `{0}` submenu was already contributed to the `{1}` menu.",
|
|
983
1000
|
menuItem.submenu,
|
|
984
1001
|
entry[0]
|
|
@@ -1000,7 +1017,7 @@ menusExtensionPoint.setHandler(extensions => {
|
|
|
1000
1017
|
}
|
|
1001
1018
|
if (menu.id === MenuId.ViewContainerTitle && !menuItem.when?.includes('viewContainer == workbench.view.debug')) {
|
|
1002
1019
|
collector.error(( localize(
|
|
1003
|
-
|
|
1020
|
+
11238,
|
|
1004
1021
|
"The {0} menu contribution must check {1} in its {2} clause.",
|
|
1005
1022
|
'`viewContainer/title`',
|
|
1006
1023
|
'`viewContainer == workbench.view.debug`',
|
|
@@ -1025,20 +1042,27 @@ let CommandsTableRenderer = class CommandsTableRenderer extends Disposable {
|
|
|
1025
1042
|
}
|
|
1026
1043
|
render(manifest) {
|
|
1027
1044
|
const rawCommands = manifest.contributes?.commands || [];
|
|
1028
|
-
const commands = (
|
|
1045
|
+
const commands = ( rawCommands.map(c => ({
|
|
1029
1046
|
id: c.command,
|
|
1030
1047
|
title: c.title,
|
|
1031
1048
|
keybindings: [],
|
|
1032
1049
|
menus: []
|
|
1033
|
-
})))
|
|
1050
|
+
})));
|
|
1034
1051
|
const byId = index(commands, c => c.id);
|
|
1035
1052
|
const menus = manifest.contributes?.menus || {};
|
|
1036
1053
|
const implicitlyOnCommandPalette = index(commands, c => c.id);
|
|
1037
|
-
|
|
1038
|
-
|
|
1054
|
+
if (menus['commandPalette']) {
|
|
1055
|
+
for (const command of menus['commandPalette']) {
|
|
1056
|
+
delete implicitlyOnCommandPalette[command.command];
|
|
1057
|
+
}
|
|
1039
1058
|
}
|
|
1040
|
-
|
|
1041
|
-
menus['commandPalette']
|
|
1059
|
+
if (( Object.keys(implicitlyOnCommandPalette)).length) {
|
|
1060
|
+
if (!menus['commandPalette']) {
|
|
1061
|
+
menus['commandPalette'] = [];
|
|
1062
|
+
}
|
|
1063
|
+
for (const command in implicitlyOnCommandPalette) {
|
|
1064
|
+
menus['commandPalette'].push({ command });
|
|
1065
|
+
}
|
|
1042
1066
|
}
|
|
1043
1067
|
for (const context in menus) {
|
|
1044
1068
|
for (const menu of menus[context]) {
|
|
@@ -1080,20 +1104,20 @@ let CommandsTableRenderer = class CommandsTableRenderer extends Disposable {
|
|
|
1080
1104
|
return { data: { headers: [], rows: [] }, dispose: () => { } };
|
|
1081
1105
|
}
|
|
1082
1106
|
const headers = [
|
|
1083
|
-
( localize(
|
|
1084
|
-
( localize(
|
|
1085
|
-
( localize(
|
|
1086
|
-
( localize(
|
|
1107
|
+
( localize(11239, "ID")),
|
|
1108
|
+
( localize(11240, "Title")),
|
|
1109
|
+
( localize(11241, "Keyboard Shortcuts")),
|
|
1110
|
+
( localize(11242, "Menu Contexts"))
|
|
1087
1111
|
];
|
|
1088
|
-
const rows = (
|
|
1112
|
+
const rows = ( commands.sort((a, b) => a.id.localeCompare(b.id))
|
|
1089
1113
|
.map(command => {
|
|
1090
1114
|
return [
|
|
1091
|
-
(
|
|
1115
|
+
( new MarkdownString()).appendMarkdown(`\`${command.id}\``),
|
|
1092
1116
|
typeof command.title === 'string' ? command.title : command.title.value,
|
|
1093
1117
|
command.keybindings,
|
|
1094
|
-
(
|
|
1118
|
+
( new MarkdownString()).appendMarkdown(`${( command.menus.sort((a, b) => a.localeCompare(b)).map(menu => `\`${menu}\``)).join(' ')}`),
|
|
1095
1119
|
];
|
|
1096
|
-
}))
|
|
1120
|
+
}));
|
|
1097
1121
|
return {
|
|
1098
1122
|
data: {
|
|
1099
1123
|
headers,
|
|
@@ -1118,16 +1142,16 @@ let CommandsTableRenderer = class CommandsTableRenderer extends Disposable {
|
|
|
1118
1142
|
return this._keybindingService.resolveUserBinding(key ?? rawKeyBinding.key)[0];
|
|
1119
1143
|
}
|
|
1120
1144
|
};
|
|
1121
|
-
CommandsTableRenderer = (
|
|
1122
|
-
(
|
|
1123
|
-
], CommandsTableRenderer))
|
|
1124
|
-
(
|
|
1145
|
+
CommandsTableRenderer = ( __decorate([
|
|
1146
|
+
( __param(0, IKeybindingService))
|
|
1147
|
+
], CommandsTableRenderer));
|
|
1148
|
+
( Registry.as(Extensions.ExtensionFeaturesRegistry)).registerExtensionFeature({
|
|
1125
1149
|
id: 'commands',
|
|
1126
|
-
label: ( localize(
|
|
1150
|
+
label: ( localize(11243, "Commands")),
|
|
1127
1151
|
access: {
|
|
1128
1152
|
canToggle: false,
|
|
1129
1153
|
},
|
|
1130
|
-
renderer: (
|
|
1154
|
+
renderer: ( new SyncDescriptor(CommandsTableRenderer)),
|
|
1131
1155
|
});
|
|
1132
1156
|
|
|
1133
1157
|
export { commandsExtensionPoint };
|