@codingame/monaco-vscode-keybindings-service-override 22.1.8 → 23.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/package.json +8 -8
- package/vscode/src/vs/platform/keyboardLayout/common/keyboardConfig.js +3 -3
- package/vscode/src/vs/workbench/contrib/commands/common/commands.contribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/keybindings/browser/keybindings.contribution.js +1 -1
- package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingsEditorContribution.js +4 -4
- package/vscode/src/vs/workbench/services/actions/common/menusExtensionPoint.js +163 -145
- package/vscode/src/vs/workbench/services/commands/common/commandService.d.ts +1 -1
- package/vscode/src/vs/workbench/services/keybinding/browser/keybindingService.js +28 -25
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayoutService.js +2 -2
|
@@ -21,220 +21,231 @@ const apiMenus = [
|
|
|
21
21
|
{
|
|
22
22
|
key: 'commandPalette',
|
|
23
23
|
id: MenuId.CommandPalette,
|
|
24
|
-
description: ( localize(
|
|
24
|
+
description: ( localize(13368, "The Command Palette")),
|
|
25
25
|
supportsSubmenus: false
|
|
26
26
|
},
|
|
27
27
|
{
|
|
28
28
|
key: 'touchBar',
|
|
29
29
|
id: MenuId.TouchBarContext,
|
|
30
|
-
description: ( localize(
|
|
30
|
+
description: ( localize(13369, "The touch bar (macOS only)")),
|
|
31
31
|
supportsSubmenus: false
|
|
32
32
|
},
|
|
33
33
|
{
|
|
34
34
|
key: 'editor/title',
|
|
35
35
|
id: MenuId.EditorTitle,
|
|
36
|
-
description: ( localize(
|
|
36
|
+
description: ( localize(13370, "The editor title menu"))
|
|
37
37
|
},
|
|
38
38
|
{
|
|
39
39
|
key: 'editor/title/run',
|
|
40
40
|
id: MenuId.EditorTitleRun,
|
|
41
|
-
description: ( localize(
|
|
41
|
+
description: ( localize(13371, "Run submenu inside the editor title menu"))
|
|
42
42
|
},
|
|
43
43
|
{
|
|
44
44
|
key: 'editor/context',
|
|
45
45
|
id: MenuId.EditorContext,
|
|
46
|
-
description: ( localize(
|
|
46
|
+
description: ( localize(13372, "The editor context menu"))
|
|
47
47
|
},
|
|
48
48
|
{
|
|
49
49
|
key: 'editor/context/copy',
|
|
50
50
|
id: MenuId.EditorContextCopy,
|
|
51
|
-
description: ( localize(
|
|
51
|
+
description: ( localize(13373, "'Copy as' submenu in the editor context menu"))
|
|
52
52
|
},
|
|
53
53
|
{
|
|
54
54
|
key: 'editor/context/share',
|
|
55
55
|
id: MenuId.EditorContextShare,
|
|
56
|
-
description: ( localize(
|
|
56
|
+
description: ( localize(13374, "'Share' submenu in the editor context menu")),
|
|
57
57
|
proposed: 'contribShareMenu'
|
|
58
58
|
},
|
|
59
59
|
{
|
|
60
60
|
key: 'explorer/context',
|
|
61
61
|
id: MenuId.ExplorerContext,
|
|
62
|
-
description: ( localize(
|
|
62
|
+
description: ( localize(13375, "The file explorer context menu"))
|
|
63
63
|
},
|
|
64
64
|
{
|
|
65
65
|
key: 'explorer/context/share',
|
|
66
66
|
id: MenuId.ExplorerContextShare,
|
|
67
|
-
description: ( localize(
|
|
67
|
+
description: ( localize(13376, "'Share' submenu in the file explorer context menu")),
|
|
68
68
|
proposed: 'contribShareMenu'
|
|
69
69
|
},
|
|
70
70
|
{
|
|
71
71
|
key: 'editor/title/context',
|
|
72
72
|
id: MenuId.EditorTitleContext,
|
|
73
|
-
description: ( localize(
|
|
73
|
+
description: ( localize(13377, "The editor tabs context menu"))
|
|
74
74
|
},
|
|
75
75
|
{
|
|
76
76
|
key: 'editor/title/context/share',
|
|
77
77
|
id: MenuId.EditorTitleContextShare,
|
|
78
|
-
description: ( localize(
|
|
78
|
+
description: ( localize(13378, "'Share' submenu inside the editor title context menu")),
|
|
79
79
|
proposed: 'contribShareMenu'
|
|
80
80
|
},
|
|
81
81
|
{
|
|
82
82
|
key: 'debug/callstack/context',
|
|
83
83
|
id: MenuId.DebugCallStackContext,
|
|
84
|
-
description: ( localize(
|
|
84
|
+
description: ( localize(13379, "The debug callstack view context menu"))
|
|
85
85
|
},
|
|
86
86
|
{
|
|
87
87
|
key: 'debug/variables/context',
|
|
88
88
|
id: MenuId.DebugVariablesContext,
|
|
89
|
-
description: ( localize(
|
|
89
|
+
description: ( localize(13380, "The debug variables view context menu"))
|
|
90
90
|
},
|
|
91
91
|
{
|
|
92
92
|
key: 'debug/watch/context',
|
|
93
93
|
id: MenuId.DebugWatchContext,
|
|
94
|
-
description: ( localize(
|
|
94
|
+
description: ( localize(13381, "The debug watch view context menu"))
|
|
95
95
|
},
|
|
96
96
|
{
|
|
97
97
|
key: 'debug/toolBar',
|
|
98
98
|
id: MenuId.DebugToolBar,
|
|
99
|
-
description: ( localize(
|
|
99
|
+
description: ( localize(13382, "The debug toolbar menu"))
|
|
100
100
|
},
|
|
101
101
|
{
|
|
102
102
|
key: 'debug/createConfiguration',
|
|
103
103
|
id: MenuId.DebugCreateConfiguration,
|
|
104
104
|
proposed: 'contribDebugCreateConfiguration',
|
|
105
|
-
description: ( localize(
|
|
105
|
+
description: ( localize(13383, "The debug create configuration menu"))
|
|
106
106
|
},
|
|
107
107
|
{
|
|
108
108
|
key: 'notebook/variables/context',
|
|
109
109
|
id: MenuId.NotebookVariablesContext,
|
|
110
|
-
description: ( localize(
|
|
110
|
+
description: ( localize(13384, "The notebook variables view context menu"))
|
|
111
111
|
},
|
|
112
112
|
{
|
|
113
113
|
key: 'menuBar/home',
|
|
114
114
|
id: MenuId.MenubarHomeMenu,
|
|
115
|
-
description: ( localize(
|
|
115
|
+
description: ( localize(13385, "The home indicator context menu (web only)")),
|
|
116
116
|
proposed: 'contribMenuBarHome',
|
|
117
117
|
supportsSubmenus: false
|
|
118
118
|
},
|
|
119
119
|
{
|
|
120
120
|
key: 'menuBar/edit/copy',
|
|
121
121
|
id: MenuId.MenubarCopy,
|
|
122
|
-
description: ( localize(
|
|
122
|
+
description: ( localize(13386, "'Copy as' submenu in the top level Edit menu"))
|
|
123
123
|
},
|
|
124
124
|
{
|
|
125
125
|
key: 'scm/title',
|
|
126
126
|
id: MenuId.SCMTitle,
|
|
127
|
-
description: ( localize(
|
|
127
|
+
description: ( localize(13387, "The Source Control title menu"))
|
|
128
128
|
},
|
|
129
129
|
{
|
|
130
130
|
key: 'scm/sourceControl',
|
|
131
131
|
id: MenuId.SCMSourceControl,
|
|
132
|
-
description: ( localize(
|
|
132
|
+
description: ( localize(13388, "The Source Control menu"))
|
|
133
133
|
},
|
|
134
134
|
{
|
|
135
|
-
key: 'scm/
|
|
135
|
+
key: 'scm/repositories/title',
|
|
136
136
|
id: MenuId.SCMSourceControlTitle,
|
|
137
|
-
description: ( localize(
|
|
137
|
+
description: ( localize(13389, "The Source Control Repositories title menu")),
|
|
138
138
|
proposed: 'contribSourceControlTitleMenu'
|
|
139
139
|
},
|
|
140
|
+
{
|
|
141
|
+
key: 'scm/repository',
|
|
142
|
+
id: MenuId.SCMSourceControlInline,
|
|
143
|
+
description: ( localize(13390, "The Source Control repository menu")),
|
|
144
|
+
},
|
|
140
145
|
{
|
|
141
146
|
key: 'scm/resourceState/context',
|
|
142
147
|
id: MenuId.SCMResourceContext,
|
|
143
|
-
description: ( localize(
|
|
148
|
+
description: ( localize(13391, "The Source Control resource state context menu"))
|
|
144
149
|
},
|
|
145
150
|
{
|
|
146
151
|
key: 'scm/resourceFolder/context',
|
|
147
152
|
id: MenuId.SCMResourceFolderContext,
|
|
148
|
-
description: ( localize(
|
|
153
|
+
description: ( localize(13392, "The Source Control resource folder context menu"))
|
|
149
154
|
},
|
|
150
155
|
{
|
|
151
156
|
key: 'scm/resourceGroup/context',
|
|
152
157
|
id: MenuId.SCMResourceGroupContext,
|
|
153
|
-
description: ( localize(
|
|
158
|
+
description: ( localize(13393, "The Source Control resource group context menu"))
|
|
154
159
|
},
|
|
155
160
|
{
|
|
156
161
|
key: 'scm/change/title',
|
|
157
162
|
id: MenuId.SCMChangeContext,
|
|
158
|
-
description: ( localize(
|
|
163
|
+
description: ( localize(13394, "The Source Control inline change menu"))
|
|
159
164
|
},
|
|
160
165
|
{
|
|
161
166
|
key: 'scm/inputBox',
|
|
162
167
|
id: MenuId.SCMInputBox,
|
|
163
|
-
description: ( localize(
|
|
168
|
+
description: ( localize(13395, "The Source Control input box menu")),
|
|
164
169
|
proposed: 'contribSourceControlInputBoxMenu'
|
|
165
170
|
},
|
|
166
171
|
{
|
|
167
172
|
key: 'scm/history/title',
|
|
168
173
|
id: MenuId.SCMHistoryTitle,
|
|
169
|
-
description: ( localize(
|
|
174
|
+
description: ( localize(13396, "The Source Control History title menu")),
|
|
170
175
|
proposed: 'contribSourceControlHistoryTitleMenu'
|
|
171
176
|
},
|
|
172
177
|
{
|
|
173
178
|
key: 'scm/historyItem/context',
|
|
174
179
|
id: MenuId.SCMHistoryItemContext,
|
|
175
|
-
description: ( localize(
|
|
176
|
-
proposed: 'contribSourceControlHistoryItemMenu'
|
|
177
|
-
},
|
|
178
|
-
{
|
|
179
|
-
key: 'scm/historyItem/hover',
|
|
180
|
-
id: MenuId.SCMHistoryItemHover,
|
|
181
|
-
description: ( localize(13086, "The Source Control history item hover menu")),
|
|
180
|
+
description: ( localize(13397, "The Source Control history item context menu")),
|
|
182
181
|
proposed: 'contribSourceControlHistoryItemMenu'
|
|
183
182
|
},
|
|
184
183
|
{
|
|
185
184
|
key: 'scm/historyItemRef/context',
|
|
186
185
|
id: MenuId.SCMHistoryItemRefContext,
|
|
187
|
-
description: ( localize(
|
|
186
|
+
description: ( localize(13398, "The Source Control history item reference context menu")),
|
|
188
187
|
proposed: 'contribSourceControlHistoryItemMenu'
|
|
189
188
|
},
|
|
189
|
+
{
|
|
190
|
+
key: 'scm/artifactGroup/context',
|
|
191
|
+
id: MenuId.SCMArtifactGroupContext,
|
|
192
|
+
description: ( localize(13399, "The Source Control artifact group context menu")),
|
|
193
|
+
proposed: 'contribSourceControlArtifactGroupMenu'
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
key: 'scm/artifact/context',
|
|
197
|
+
id: MenuId.SCMArtifactContext,
|
|
198
|
+
description: ( localize(13400, "The Source Control artifact context menu")),
|
|
199
|
+
proposed: 'contribSourceControlArtifactMenu'
|
|
200
|
+
},
|
|
190
201
|
{
|
|
191
202
|
key: 'statusBar/remoteIndicator',
|
|
192
203
|
id: MenuId.StatusBarRemoteIndicatorMenu,
|
|
193
|
-
description: ( localize(
|
|
204
|
+
description: ( localize(13401, "The remote indicator menu in the status bar")),
|
|
194
205
|
supportsSubmenus: false
|
|
195
206
|
},
|
|
196
207
|
{
|
|
197
208
|
key: 'terminal/context',
|
|
198
209
|
id: MenuId.TerminalInstanceContext,
|
|
199
|
-
description: ( localize(
|
|
210
|
+
description: ( localize(13402, "The terminal context menu"))
|
|
200
211
|
},
|
|
201
212
|
{
|
|
202
213
|
key: 'terminal/title/context',
|
|
203
214
|
id: MenuId.TerminalTabContext,
|
|
204
|
-
description: ( localize(
|
|
215
|
+
description: ( localize(13403, "The terminal tabs context menu"))
|
|
205
216
|
},
|
|
206
217
|
{
|
|
207
218
|
key: 'view/title',
|
|
208
219
|
id: MenuId.ViewTitle,
|
|
209
|
-
description: ( localize(
|
|
220
|
+
description: ( localize(13404, "The contributed view title menu"))
|
|
210
221
|
},
|
|
211
222
|
{
|
|
212
223
|
key: 'viewContainer/title',
|
|
213
224
|
id: MenuId.ViewContainerTitle,
|
|
214
|
-
description: ( localize(
|
|
225
|
+
description: ( localize(13405, "The contributed view container title menu")),
|
|
215
226
|
proposed: 'contribViewContainerTitle'
|
|
216
227
|
},
|
|
217
228
|
{
|
|
218
229
|
key: 'view/item/context',
|
|
219
230
|
id: MenuId.ViewItemContext,
|
|
220
|
-
description: ( localize(
|
|
231
|
+
description: ( localize(13406, "The contributed view item context menu"))
|
|
221
232
|
},
|
|
222
233
|
{
|
|
223
234
|
key: 'comments/comment/editorActions',
|
|
224
235
|
id: MenuId.CommentEditorActions,
|
|
225
|
-
description: ( localize(
|
|
236
|
+
description: ( localize(13407, "The contributed comment editor actions")),
|
|
226
237
|
proposed: 'contribCommentEditorActionsMenu'
|
|
227
238
|
},
|
|
228
239
|
{
|
|
229
240
|
key: 'comments/commentThread/title',
|
|
230
241
|
id: MenuId.CommentThreadTitle,
|
|
231
|
-
description: ( localize(
|
|
242
|
+
description: ( localize(13408, "The contributed comment thread title menu"))
|
|
232
243
|
},
|
|
233
244
|
{
|
|
234
245
|
key: 'comments/commentThread/context',
|
|
235
246
|
id: MenuId.CommentThreadActions,
|
|
236
247
|
description: ( localize(
|
|
237
|
-
|
|
248
|
+
13409,
|
|
238
249
|
"The contributed comment thread context menu, rendered as buttons below the comment editor"
|
|
239
250
|
)),
|
|
240
251
|
supportsSubmenus: false
|
|
@@ -243,7 +254,7 @@ const apiMenus = [
|
|
|
243
254
|
key: 'comments/commentThread/additionalActions',
|
|
244
255
|
id: MenuId.CommentThreadAdditionalActions,
|
|
245
256
|
description: ( localize(
|
|
246
|
-
|
|
257
|
+
13409,
|
|
247
258
|
"The contributed comment thread context menu, rendered as buttons below the comment editor"
|
|
248
259
|
)),
|
|
249
260
|
supportsSubmenus: true,
|
|
@@ -253,7 +264,7 @@ const apiMenus = [
|
|
|
253
264
|
key: 'comments/commentThread/title/context',
|
|
254
265
|
id: MenuId.CommentThreadTitleContext,
|
|
255
266
|
description: ( localize(
|
|
256
|
-
|
|
267
|
+
13410,
|
|
257
268
|
"The contributed comment thread title's peek context menu, rendered as a right click menu on the comment thread's peek title."
|
|
258
269
|
)),
|
|
259
270
|
proposed: 'contribCommentPeekContext'
|
|
@@ -261,13 +272,13 @@ const apiMenus = [
|
|
|
261
272
|
{
|
|
262
273
|
key: 'comments/comment/title',
|
|
263
274
|
id: MenuId.CommentTitle,
|
|
264
|
-
description: ( localize(
|
|
275
|
+
description: ( localize(13411, "The contributed comment title menu"))
|
|
265
276
|
},
|
|
266
277
|
{
|
|
267
278
|
key: 'comments/comment/context',
|
|
268
279
|
id: MenuId.CommentActions,
|
|
269
280
|
description: ( localize(
|
|
270
|
-
|
|
281
|
+
13412,
|
|
271
282
|
"The contributed comment context menu, rendered as buttons below the comment editor"
|
|
272
283
|
)),
|
|
273
284
|
supportsSubmenus: false
|
|
@@ -276,7 +287,7 @@ const apiMenus = [
|
|
|
276
287
|
key: 'comments/commentThread/comment/context',
|
|
277
288
|
id: MenuId.CommentThreadCommentContext,
|
|
278
289
|
description: ( localize(
|
|
279
|
-
|
|
290
|
+
13413,
|
|
280
291
|
"The contributed comment context menu, rendered as a right click menu on the an individual comment in the comment thread's peek view."
|
|
281
292
|
)),
|
|
282
293
|
proposed: 'contribCommentPeekContext'
|
|
@@ -284,113 +295,113 @@ const apiMenus = [
|
|
|
284
295
|
{
|
|
285
296
|
key: 'commentsView/commentThread/context',
|
|
286
297
|
id: MenuId.CommentsViewThreadActions,
|
|
287
|
-
description: ( localize(
|
|
298
|
+
description: ( localize(13414, "The contributed comment thread context menu in the comments view")),
|
|
288
299
|
proposed: 'contribCommentsViewThreadMenus'
|
|
289
300
|
},
|
|
290
301
|
{
|
|
291
302
|
key: 'notebook/toolbar',
|
|
292
303
|
id: MenuId.NotebookToolbar,
|
|
293
|
-
description: ( localize(
|
|
304
|
+
description: ( localize(13415, "The contributed notebook toolbar menu"))
|
|
294
305
|
},
|
|
295
306
|
{
|
|
296
307
|
key: 'notebook/kernelSource',
|
|
297
308
|
id: MenuId.NotebookKernelSource,
|
|
298
|
-
description: ( localize(
|
|
309
|
+
description: ( localize(13416, "The contributed notebook kernel sources menu")),
|
|
299
310
|
proposed: 'notebookKernelSource'
|
|
300
311
|
},
|
|
301
312
|
{
|
|
302
313
|
key: 'notebook/cell/title',
|
|
303
314
|
id: MenuId.NotebookCellTitle,
|
|
304
|
-
description: ( localize(
|
|
315
|
+
description: ( localize(13417, "The contributed notebook cell title menu"))
|
|
305
316
|
},
|
|
306
317
|
{
|
|
307
318
|
key: 'notebook/cell/execute',
|
|
308
319
|
id: MenuId.NotebookCellExecute,
|
|
309
|
-
description: ( localize(
|
|
320
|
+
description: ( localize(13418, "The contributed notebook cell execution menu"))
|
|
310
321
|
},
|
|
311
322
|
{
|
|
312
323
|
key: 'interactive/toolbar',
|
|
313
324
|
id: MenuId.InteractiveToolbar,
|
|
314
|
-
description: ( localize(
|
|
325
|
+
description: ( localize(13419, "The contributed interactive toolbar menu")),
|
|
315
326
|
},
|
|
316
327
|
{
|
|
317
328
|
key: 'interactive/cell/title',
|
|
318
329
|
id: MenuId.InteractiveCellTitle,
|
|
319
|
-
description: ( localize(
|
|
330
|
+
description: ( localize(13420, "The contributed interactive cell title menu")),
|
|
320
331
|
},
|
|
321
332
|
{
|
|
322
333
|
key: 'issue/reporter',
|
|
323
334
|
id: MenuId.IssueReporter,
|
|
324
|
-
description: ( localize(
|
|
335
|
+
description: ( localize(13421, "The contributed issue reporter menu"))
|
|
325
336
|
},
|
|
326
337
|
{
|
|
327
338
|
key: 'testing/item/context',
|
|
328
339
|
id: MenuId.TestItem,
|
|
329
|
-
description: ( localize(
|
|
340
|
+
description: ( localize(13422, "The contributed test item menu")),
|
|
330
341
|
},
|
|
331
342
|
{
|
|
332
343
|
key: 'testing/item/gutter',
|
|
333
344
|
id: MenuId.TestItemGutter,
|
|
334
|
-
description: ( localize(
|
|
345
|
+
description: ( localize(13423, "The menu for a gutter decoration for a test item")),
|
|
335
346
|
},
|
|
336
347
|
{
|
|
337
348
|
key: 'testing/profiles/context',
|
|
338
349
|
id: MenuId.TestProfilesContext,
|
|
339
|
-
description: ( localize(
|
|
350
|
+
description: ( localize(13424, "The menu for configuring testing profiles.")),
|
|
340
351
|
},
|
|
341
352
|
{
|
|
342
353
|
key: 'testing/item/result',
|
|
343
354
|
id: MenuId.TestPeekElement,
|
|
344
|
-
description: ( localize(
|
|
355
|
+
description: ( localize(13425, "The menu for an item in the Test Results view or peek.")),
|
|
345
356
|
},
|
|
346
357
|
{
|
|
347
358
|
key: 'testing/message/context',
|
|
348
359
|
id: MenuId.TestMessageContext,
|
|
349
360
|
description: ( localize(
|
|
350
|
-
|
|
361
|
+
13426,
|
|
351
362
|
"A prominent button overlaying editor content where the message is displayed"
|
|
352
363
|
)),
|
|
353
364
|
},
|
|
354
365
|
{
|
|
355
366
|
key: 'testing/message/content',
|
|
356
367
|
id: MenuId.TestMessageContent,
|
|
357
|
-
description: ( localize(
|
|
368
|
+
description: ( localize(13427, "Context menu for the message in the results tree")),
|
|
358
369
|
},
|
|
359
370
|
{
|
|
360
371
|
key: 'extension/context',
|
|
361
372
|
id: MenuId.ExtensionContext,
|
|
362
|
-
description: ( localize(
|
|
373
|
+
description: ( localize(13428, "The extension context menu"))
|
|
363
374
|
},
|
|
364
375
|
{
|
|
365
376
|
key: 'timeline/title',
|
|
366
377
|
id: MenuId.TimelineTitle,
|
|
367
|
-
description: ( localize(
|
|
378
|
+
description: ( localize(13429, "The Timeline view title menu"))
|
|
368
379
|
},
|
|
369
380
|
{
|
|
370
381
|
key: 'timeline/item/context',
|
|
371
382
|
id: MenuId.TimelineItemContext,
|
|
372
|
-
description: ( localize(
|
|
383
|
+
description: ( localize(13430, "The Timeline view item context menu"))
|
|
373
384
|
},
|
|
374
385
|
{
|
|
375
386
|
key: 'ports/item/context',
|
|
376
387
|
id: MenuId.TunnelContext,
|
|
377
|
-
description: ( localize(
|
|
388
|
+
description: ( localize(13431, "The Ports view item context menu"))
|
|
378
389
|
},
|
|
379
390
|
{
|
|
380
391
|
key: 'ports/item/origin/inline',
|
|
381
392
|
id: MenuId.TunnelOriginInline,
|
|
382
|
-
description: ( localize(
|
|
393
|
+
description: ( localize(13432, "The Ports view item origin inline menu"))
|
|
383
394
|
},
|
|
384
395
|
{
|
|
385
396
|
key: 'ports/item/port/inline',
|
|
386
397
|
id: MenuId.TunnelPortInline,
|
|
387
|
-
description: ( localize(
|
|
398
|
+
description: ( localize(13433, "The Ports view item port inline menu"))
|
|
388
399
|
},
|
|
389
400
|
{
|
|
390
401
|
key: 'file/newFile',
|
|
391
402
|
id: MenuId.NewFile,
|
|
392
403
|
description: ( localize(
|
|
393
|
-
|
|
404
|
+
13434,
|
|
394
405
|
"The 'New File...' quick pick, shown on welcome page and File menu."
|
|
395
406
|
)),
|
|
396
407
|
supportsSubmenus: false,
|
|
@@ -398,82 +409,89 @@ const apiMenus = [
|
|
|
398
409
|
{
|
|
399
410
|
key: 'webview/context',
|
|
400
411
|
id: MenuId.WebviewContext,
|
|
401
|
-
description: ( localize(
|
|
412
|
+
description: ( localize(13435, "The webview context menu"))
|
|
402
413
|
},
|
|
403
414
|
{
|
|
404
415
|
key: 'file/share',
|
|
405
416
|
id: MenuId.MenubarShare,
|
|
406
|
-
description: ( localize(
|
|
417
|
+
description: ( localize(13436, "Share submenu shown in the top level File menu.")),
|
|
407
418
|
proposed: 'contribShareMenu'
|
|
408
419
|
},
|
|
409
420
|
{
|
|
410
421
|
key: 'editor/inlineCompletions/actions',
|
|
411
422
|
id: MenuId.InlineCompletionsActions,
|
|
412
|
-
description: ( localize(
|
|
423
|
+
description: ( localize(13437, "The actions shown when hovering on an inline completion")),
|
|
413
424
|
supportsSubmenus: false,
|
|
414
425
|
proposed: 'inlineCompletionsAdditions'
|
|
415
426
|
},
|
|
416
427
|
{
|
|
417
428
|
key: 'editor/content',
|
|
418
429
|
id: MenuId.EditorContent,
|
|
419
|
-
description: ( localize(
|
|
430
|
+
description: ( localize(13438, "The prominent button in an editor, overlays its content")),
|
|
420
431
|
proposed: 'contribEditorContentMenu'
|
|
421
432
|
},
|
|
422
433
|
{
|
|
423
434
|
key: 'editor/lineNumber/context',
|
|
424
435
|
id: MenuId.EditorLineNumberContext,
|
|
425
|
-
description: ( localize(
|
|
436
|
+
description: ( localize(13439, "The contributed editor line number context menu"))
|
|
426
437
|
},
|
|
427
438
|
{
|
|
428
439
|
key: 'mergeEditor/result/title',
|
|
429
440
|
id: MenuId.MergeInputResultToolbar,
|
|
430
|
-
description: ( localize(
|
|
441
|
+
description: ( localize(13440, "The result toolbar of the merge editor")),
|
|
431
442
|
proposed: 'contribMergeEditorMenus'
|
|
432
443
|
},
|
|
433
444
|
{
|
|
434
445
|
key: 'multiDiffEditor/resource/title',
|
|
435
446
|
id: MenuId.MultiDiffEditorFileToolbar,
|
|
436
|
-
description: ( localize(
|
|
447
|
+
description: ( localize(13441, "The resource toolbar in the multi diff editor")),
|
|
437
448
|
proposed: 'contribMultiDiffEditorMenus'
|
|
438
449
|
},
|
|
439
450
|
{
|
|
440
451
|
key: 'diffEditor/gutter/hunk',
|
|
441
452
|
id: MenuId.DiffEditorHunkToolbar,
|
|
442
|
-
description: ( localize(
|
|
453
|
+
description: ( localize(13442, "The gutter toolbar in the diff editor")),
|
|
443
454
|
proposed: 'contribDiffEditorGutterToolBarMenus'
|
|
444
455
|
},
|
|
445
456
|
{
|
|
446
457
|
key: 'diffEditor/gutter/selection',
|
|
447
458
|
id: MenuId.DiffEditorSelectionToolbar,
|
|
448
|
-
description: ( localize(
|
|
459
|
+
description: ( localize(13442, "The gutter toolbar in the diff editor")),
|
|
449
460
|
proposed: 'contribDiffEditorGutterToolBarMenus'
|
|
450
461
|
},
|
|
451
462
|
{
|
|
452
463
|
key: 'searchPanel/aiResults/commands',
|
|
453
464
|
id: MenuId.SearchActionMenu,
|
|
454
465
|
description: ( localize(
|
|
455
|
-
|
|
466
|
+
13443,
|
|
456
467
|
"The commands that will contribute to the menu rendered as buttons next to the AI search title"
|
|
457
468
|
)),
|
|
458
469
|
},
|
|
459
470
|
{
|
|
460
471
|
key: 'editor/context/chat',
|
|
461
472
|
id: MenuId.ChatTextEditorMenu,
|
|
462
|
-
description: ( localize(
|
|
473
|
+
description: ( localize(13444, "The Chat submenu in the text editor context menu.")),
|
|
463
474
|
supportsSubmenus: false,
|
|
464
475
|
proposed: 'chatParticipantPrivate'
|
|
465
476
|
},
|
|
466
477
|
{
|
|
467
478
|
key: 'chat/chatSessions',
|
|
468
479
|
id: MenuId.ChatSessionsMenu,
|
|
469
|
-
description: ( localize(
|
|
480
|
+
description: ( localize(13445, "The Chat Sessions menu.")),
|
|
481
|
+
supportsSubmenus: false,
|
|
482
|
+
proposed: 'chatSessionsProvider'
|
|
483
|
+
},
|
|
484
|
+
{
|
|
485
|
+
key: 'chatSessions/newSession',
|
|
486
|
+
id: MenuId.ChatSessionsCreateSubMenu,
|
|
487
|
+
description: ( localize(13446, "Menu for new chat sessions.")),
|
|
470
488
|
supportsSubmenus: false,
|
|
471
489
|
proposed: 'chatSessionsProvider'
|
|
472
490
|
},
|
|
473
491
|
{
|
|
474
492
|
key: 'chat/multiDiff/context',
|
|
475
493
|
id: MenuId.ChatMultiDiffContext,
|
|
476
|
-
description: ( localize(
|
|
494
|
+
description: ( localize(13447, "The Chat Multi-Diff context menu.")),
|
|
477
495
|
supportsSubmenus: false,
|
|
478
496
|
proposed: 'chatSessionsProvider',
|
|
479
497
|
},
|
|
@@ -487,23 +505,23 @@ var schema;
|
|
|
487
505
|
function isValidMenuItem(item, collector) {
|
|
488
506
|
if (typeof item.command !== 'string') {
|
|
489
507
|
collector.error(( localize(
|
|
490
|
-
|
|
508
|
+
13448,
|
|
491
509
|
"property `{0}` is mandatory and must be of type `string`",
|
|
492
510
|
'command'
|
|
493
511
|
)));
|
|
494
512
|
return false;
|
|
495
513
|
}
|
|
496
514
|
if (item.alt && typeof item.alt !== 'string') {
|
|
497
|
-
collector.error(( localize(
|
|
515
|
+
collector.error(( localize(13449, "property `{0}` can be omitted or must be of type `string`", 'alt')));
|
|
498
516
|
return false;
|
|
499
517
|
}
|
|
500
518
|
if (item.when && typeof item.when !== 'string') {
|
|
501
|
-
collector.error(( localize(
|
|
519
|
+
collector.error(( localize(13449, "property `{0}` can be omitted or must be of type `string`", 'when')));
|
|
502
520
|
return false;
|
|
503
521
|
}
|
|
504
522
|
if (item.group && typeof item.group !== 'string') {
|
|
505
523
|
collector.error(( localize(
|
|
506
|
-
|
|
524
|
+
13449,
|
|
507
525
|
"property `{0}` can be omitted or must be of type `string`",
|
|
508
526
|
'group'
|
|
509
527
|
)));
|
|
@@ -515,19 +533,19 @@ var schema;
|
|
|
515
533
|
function isValidSubmenuItem(item, collector) {
|
|
516
534
|
if (typeof item.submenu !== 'string') {
|
|
517
535
|
collector.error(( localize(
|
|
518
|
-
|
|
536
|
+
13448,
|
|
519
537
|
"property `{0}` is mandatory and must be of type `string`",
|
|
520
538
|
'submenu'
|
|
521
539
|
)));
|
|
522
540
|
return false;
|
|
523
541
|
}
|
|
524
542
|
if (item.when && typeof item.when !== 'string') {
|
|
525
|
-
collector.error(( localize(
|
|
543
|
+
collector.error(( localize(13449, "property `{0}` can be omitted or must be of type `string`", 'when')));
|
|
526
544
|
return false;
|
|
527
545
|
}
|
|
528
546
|
if (item.group && typeof item.group !== 'string') {
|
|
529
547
|
collector.error(( localize(
|
|
530
|
-
|
|
548
|
+
13449,
|
|
531
549
|
"property `{0}` can be omitted or must be of type `string`",
|
|
532
550
|
'group'
|
|
533
551
|
)));
|
|
@@ -538,7 +556,7 @@ var schema;
|
|
|
538
556
|
schema.isValidSubmenuItem = isValidSubmenuItem;
|
|
539
557
|
function isValidItems(items, collector) {
|
|
540
558
|
if (!Array.isArray(items)) {
|
|
541
|
-
collector.error(( localize(
|
|
559
|
+
collector.error(( localize(13450, "submenu items must be an array")));
|
|
542
560
|
return false;
|
|
543
561
|
}
|
|
544
562
|
for (const item of items) {
|
|
@@ -558,15 +576,15 @@ var schema;
|
|
|
558
576
|
schema.isValidItems = isValidItems;
|
|
559
577
|
function isValidSubmenu(submenu, collector) {
|
|
560
578
|
if (typeof submenu !== 'object') {
|
|
561
|
-
collector.error(( localize(
|
|
579
|
+
collector.error(( localize(13451, "submenu items must be an object")));
|
|
562
580
|
return false;
|
|
563
581
|
}
|
|
564
582
|
if (typeof submenu.id !== 'string') {
|
|
565
|
-
collector.error(( localize(
|
|
583
|
+
collector.error(( localize(13448, "property `{0}` is mandatory and must be of type `string`", 'id')));
|
|
566
584
|
return false;
|
|
567
585
|
}
|
|
568
586
|
if (typeof submenu.label !== 'string') {
|
|
569
|
-
collector.error(( localize(
|
|
587
|
+
collector.error(( localize(13448, "property `{0}` is mandatory and must be of type `string`", 'label')));
|
|
570
588
|
return false;
|
|
571
589
|
}
|
|
572
590
|
return true;
|
|
@@ -578,24 +596,24 @@ var schema;
|
|
|
578
596
|
properties: {
|
|
579
597
|
command: {
|
|
580
598
|
description: ( localize(
|
|
581
|
-
|
|
599
|
+
13452,
|
|
582
600
|
'Identifier of the command to execute. The command must be declared in the \'commands\'-section'
|
|
583
601
|
)),
|
|
584
602
|
type: 'string'
|
|
585
603
|
},
|
|
586
604
|
alt: {
|
|
587
605
|
description: ( localize(
|
|
588
|
-
|
|
606
|
+
13453,
|
|
589
607
|
'Identifier of an alternative command to execute. The command must be declared in the \'commands\'-section'
|
|
590
608
|
)),
|
|
591
609
|
type: 'string'
|
|
592
610
|
},
|
|
593
611
|
when: {
|
|
594
|
-
description: ( localize(
|
|
612
|
+
description: ( localize(13454, 'Condition which must be true to show this item')),
|
|
595
613
|
type: 'string'
|
|
596
614
|
},
|
|
597
615
|
group: {
|
|
598
|
-
description: ( localize(
|
|
616
|
+
description: ( localize(13455, 'Group into which this item belongs')),
|
|
599
617
|
type: 'string'
|
|
600
618
|
}
|
|
601
619
|
}
|
|
@@ -605,15 +623,15 @@ var schema;
|
|
|
605
623
|
required: ['submenu'],
|
|
606
624
|
properties: {
|
|
607
625
|
submenu: {
|
|
608
|
-
description: ( localize(
|
|
626
|
+
description: ( localize(13456, 'Identifier of the submenu to display in this item.')),
|
|
609
627
|
type: 'string'
|
|
610
628
|
},
|
|
611
629
|
when: {
|
|
612
|
-
description: ( localize(
|
|
630
|
+
description: ( localize(13454, 'Condition which must be true to show this item')),
|
|
613
631
|
type: 'string'
|
|
614
632
|
},
|
|
615
633
|
group: {
|
|
616
|
-
description: ( localize(
|
|
634
|
+
description: ( localize(13455, 'Group into which this item belongs')),
|
|
617
635
|
type: 'string'
|
|
618
636
|
}
|
|
619
637
|
}
|
|
@@ -623,16 +641,16 @@ var schema;
|
|
|
623
641
|
required: ['id', 'label'],
|
|
624
642
|
properties: {
|
|
625
643
|
id: {
|
|
626
|
-
description: ( localize(
|
|
644
|
+
description: ( localize(13457, 'Identifier of the menu to display as a submenu.')),
|
|
627
645
|
type: 'string'
|
|
628
646
|
},
|
|
629
647
|
label: {
|
|
630
|
-
description: ( localize(
|
|
648
|
+
description: ( localize(13458, 'The label of the menu item which leads to this submenu.')),
|
|
631
649
|
type: 'string'
|
|
632
650
|
},
|
|
633
651
|
icon: {
|
|
634
652
|
description: ( localize(
|
|
635
|
-
|
|
653
|
+
13459,
|
|
636
654
|
'(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)"'
|
|
637
655
|
)),
|
|
638
656
|
anyOf: [{
|
|
@@ -642,11 +660,11 @@ var schema;
|
|
|
642
660
|
type: 'object',
|
|
643
661
|
properties: {
|
|
644
662
|
light: {
|
|
645
|
-
description: ( localize(
|
|
663
|
+
description: ( localize(13460, 'Icon path when a light theme is used')),
|
|
646
664
|
type: 'string'
|
|
647
665
|
},
|
|
648
666
|
dark: {
|
|
649
|
-
description: ( localize(
|
|
667
|
+
description: ( localize(13461, 'Icon path when a dark theme is used')),
|
|
650
668
|
type: 'string'
|
|
651
669
|
}
|
|
652
670
|
}
|
|
@@ -655,11 +673,11 @@ var schema;
|
|
|
655
673
|
}
|
|
656
674
|
};
|
|
657
675
|
schema.menusContribution = {
|
|
658
|
-
description: ( localize(
|
|
676
|
+
description: ( localize(13462, "Contributes menu items to the editor")),
|
|
659
677
|
type: 'object',
|
|
660
678
|
properties: index(apiMenus, menu => menu.key, menu => ({
|
|
661
679
|
markdownDescription: menu.proposed ? ( localize(
|
|
662
|
-
|
|
680
|
+
13463,
|
|
663
681
|
"Proposed API, requires `enabledApiProposal: [\"{0}\"]` - {1}",
|
|
664
682
|
menu.proposed,
|
|
665
683
|
menu.description
|
|
@@ -674,18 +692,18 @@ var schema;
|
|
|
674
692
|
}
|
|
675
693
|
};
|
|
676
694
|
schema.submenusContribution = {
|
|
677
|
-
description: ( localize(
|
|
695
|
+
description: ( localize(13464, "Contributes submenu items to the editor")),
|
|
678
696
|
type: 'array',
|
|
679
697
|
items: submenu
|
|
680
698
|
};
|
|
681
699
|
function isValidCommand(command, collector) {
|
|
682
700
|
if (!command) {
|
|
683
|
-
collector.error(( localize(
|
|
701
|
+
collector.error(( localize(13465, "expected non-empty value.")));
|
|
684
702
|
return false;
|
|
685
703
|
}
|
|
686
704
|
if (isFalsyOrWhitespace(command.command)) {
|
|
687
705
|
collector.error(( localize(
|
|
688
|
-
|
|
706
|
+
13448,
|
|
689
707
|
"property `{0}` is mandatory and must be of type `string`",
|
|
690
708
|
'command'
|
|
691
709
|
)));
|
|
@@ -699,7 +717,7 @@ var schema;
|
|
|
699
717
|
}
|
|
700
718
|
if (command.enablement && typeof command.enablement !== 'string') {
|
|
701
719
|
collector.error(( localize(
|
|
702
|
-
|
|
720
|
+
13449,
|
|
703
721
|
"property `{0}` can be omitted or must be of type `string`",
|
|
704
722
|
'precondition'
|
|
705
723
|
)));
|
|
@@ -725,7 +743,7 @@ var schema;
|
|
|
725
743
|
return true;
|
|
726
744
|
}
|
|
727
745
|
collector.error(( localize(
|
|
728
|
-
|
|
746
|
+
13466,
|
|
729
747
|
"property `icon` can be omitted or must be either a string or a literal like `{dark, light}`"
|
|
730
748
|
)));
|
|
731
749
|
return false;
|
|
@@ -733,7 +751,7 @@ var schema;
|
|
|
733
751
|
function isValidLocalizedString(localized, collector, propertyName) {
|
|
734
752
|
if (typeof localized === 'undefined') {
|
|
735
753
|
collector.error(( localize(
|
|
736
|
-
|
|
754
|
+
13467,
|
|
737
755
|
"property `{0}` is mandatory and must be of type `string` or `object`",
|
|
738
756
|
propertyName
|
|
739
757
|
)));
|
|
@@ -741,7 +759,7 @@ var schema;
|
|
|
741
759
|
}
|
|
742
760
|
else if (typeof localized === 'string' && isFalsyOrWhitespace(localized)) {
|
|
743
761
|
collector.error(( localize(
|
|
744
|
-
|
|
762
|
+
13448,
|
|
745
763
|
"property `{0}` is mandatory and must be of type `string`",
|
|
746
764
|
propertyName
|
|
747
765
|
)));
|
|
@@ -749,7 +767,7 @@ var schema;
|
|
|
749
767
|
}
|
|
750
768
|
else if (typeof localized !== 'string' && (isFalsyOrWhitespace(localized.original) || isFalsyOrWhitespace(localized.value))) {
|
|
751
769
|
collector.error(( localize(
|
|
752
|
-
|
|
770
|
+
13468,
|
|
753
771
|
"properties `{0}` and `{1}` are mandatory and must be of type `string`",
|
|
754
772
|
`${propertyName}.value`,
|
|
755
773
|
`${propertyName}.original`
|
|
@@ -763,37 +781,37 @@ var schema;
|
|
|
763
781
|
required: ['command', 'title'],
|
|
764
782
|
properties: {
|
|
765
783
|
command: {
|
|
766
|
-
description: ( localize(
|
|
784
|
+
description: ( localize(13469, 'Identifier of the command to execute')),
|
|
767
785
|
type: 'string'
|
|
768
786
|
},
|
|
769
787
|
title: {
|
|
770
|
-
description: ( localize(
|
|
788
|
+
description: ( localize(13470, 'Title by which the command is represented in the UI')),
|
|
771
789
|
type: 'string'
|
|
772
790
|
},
|
|
773
791
|
shortTitle: {
|
|
774
792
|
markdownDescription: ( localize(
|
|
775
|
-
|
|
793
|
+
13471,
|
|
776
794
|
'(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.'
|
|
777
795
|
)),
|
|
778
796
|
type: 'string'
|
|
779
797
|
},
|
|
780
798
|
category: {
|
|
781
799
|
description: ( localize(
|
|
782
|
-
|
|
800
|
+
13472,
|
|
783
801
|
'(Optional) Category string by which the command is grouped in the UI'
|
|
784
802
|
)),
|
|
785
803
|
type: 'string'
|
|
786
804
|
},
|
|
787
805
|
enablement: {
|
|
788
806
|
description: ( localize(
|
|
789
|
-
|
|
807
|
+
13473,
|
|
790
808
|
'(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.'
|
|
791
809
|
)),
|
|
792
810
|
type: 'string'
|
|
793
811
|
},
|
|
794
812
|
icon: {
|
|
795
813
|
description: ( localize(
|
|
796
|
-
|
|
814
|
+
13474,
|
|
797
815
|
'(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)"'
|
|
798
816
|
)),
|
|
799
817
|
anyOf: [{
|
|
@@ -803,11 +821,11 @@ var schema;
|
|
|
803
821
|
type: 'object',
|
|
804
822
|
properties: {
|
|
805
823
|
light: {
|
|
806
|
-
description: ( localize(
|
|
824
|
+
description: ( localize(13475, 'Icon path when a light theme is used')),
|
|
807
825
|
type: 'string'
|
|
808
826
|
},
|
|
809
827
|
dark: {
|
|
810
|
-
description: ( localize(
|
|
828
|
+
description: ( localize(13476, 'Icon path when a dark theme is used')),
|
|
811
829
|
type: 'string'
|
|
812
830
|
}
|
|
813
831
|
}
|
|
@@ -816,7 +834,7 @@ var schema;
|
|
|
816
834
|
}
|
|
817
835
|
};
|
|
818
836
|
schema.commandsContribution = {
|
|
819
|
-
description: ( localize(
|
|
837
|
+
description: ( localize(13477, "Contributes commands to the command palette.")),
|
|
820
838
|
oneOf: [
|
|
821
839
|
commandType,
|
|
822
840
|
{
|
|
@@ -860,7 +878,7 @@ commandsExtensionPoint.setHandler(extensions => {
|
|
|
860
878
|
if (existingCmd) {
|
|
861
879
|
if (existingCmd.source) {
|
|
862
880
|
extension.collector.info(( localize(
|
|
863
|
-
|
|
881
|
+
13478,
|
|
864
882
|
"Command `{0}` already registered by {1} ({2})",
|
|
865
883
|
userFriendlyCommand.command,
|
|
866
884
|
existingCmd.source.title,
|
|
@@ -868,7 +886,7 @@ commandsExtensionPoint.setHandler(extensions => {
|
|
|
868
886
|
)));
|
|
869
887
|
}
|
|
870
888
|
else {
|
|
871
|
-
extension.collector.info(( localize(
|
|
889
|
+
extension.collector.info(( localize(13479, "Command `{0}` already registered", userFriendlyCommand.command)));
|
|
872
890
|
}
|
|
873
891
|
}
|
|
874
892
|
_commandRegistrations.add(MenuRegistry.addCommand({
|
|
@@ -909,19 +927,19 @@ submenusExtensionPoint.setHandler(extensions => {
|
|
|
909
927
|
continue;
|
|
910
928
|
}
|
|
911
929
|
if (!submenuInfo.id) {
|
|
912
|
-
collector.warn(( localize(
|
|
930
|
+
collector.warn(( localize(13480, "`{0}` is not a valid submenu identifier", submenuInfo.id)));
|
|
913
931
|
continue;
|
|
914
932
|
}
|
|
915
933
|
if (( _submenus.has(submenuInfo.id))) {
|
|
916
934
|
collector.info(( localize(
|
|
917
|
-
|
|
935
|
+
13481,
|
|
918
936
|
"The `{0}` submenu was already previously registered.",
|
|
919
937
|
submenuInfo.id
|
|
920
938
|
)));
|
|
921
939
|
continue;
|
|
922
940
|
}
|
|
923
941
|
if (!submenuInfo.label) {
|
|
924
|
-
collector.warn(( localize(
|
|
942
|
+
collector.warn(( localize(13482, "`{0}` is not a valid submenu label", submenuInfo.label)));
|
|
925
943
|
continue;
|
|
926
944
|
}
|
|
927
945
|
let absoluteIcon;
|
|
@@ -978,7 +996,7 @@ menusExtensionPoint.setHandler(extensions => {
|
|
|
978
996
|
}
|
|
979
997
|
if (menu.proposed && !isProposedApiEnabled(extension.description, menu.proposed)) {
|
|
980
998
|
collector.error(( localize(
|
|
981
|
-
|
|
999
|
+
13483,
|
|
982
1000
|
"{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}",
|
|
983
1001
|
entry[0],
|
|
984
1002
|
menu.proposed,
|
|
@@ -993,7 +1011,7 @@ menusExtensionPoint.setHandler(extensions => {
|
|
|
993
1011
|
const alt = menuItem.alt && MenuRegistry.getCommand(menuItem.alt) || undefined;
|
|
994
1012
|
if (!command) {
|
|
995
1013
|
collector.error(( localize(
|
|
996
|
-
|
|
1014
|
+
13484,
|
|
997
1015
|
"Menu item references a command `{0}` which is not defined in the 'commands' section.",
|
|
998
1016
|
menuItem.command
|
|
999
1017
|
)));
|
|
@@ -1001,20 +1019,20 @@ menusExtensionPoint.setHandler(extensions => {
|
|
|
1001
1019
|
}
|
|
1002
1020
|
if (menuItem.alt && !alt) {
|
|
1003
1021
|
collector.warn(( localize(
|
|
1004
|
-
|
|
1022
|
+
13485,
|
|
1005
1023
|
"Menu item references an alt-command `{0}` which is not defined in the 'commands' section.",
|
|
1006
1024
|
menuItem.alt
|
|
1007
1025
|
)));
|
|
1008
1026
|
}
|
|
1009
1027
|
if (menuItem.command === menuItem.alt) {
|
|
1010
|
-
collector.info(( localize(
|
|
1028
|
+
collector.info(( localize(13486, "Menu item references the same command as default and alt-command")));
|
|
1011
1029
|
}
|
|
1012
1030
|
item = { command, alt, group: undefined, order: undefined, when: undefined };
|
|
1013
1031
|
}
|
|
1014
1032
|
else {
|
|
1015
1033
|
if (menu.supportsSubmenus === false) {
|
|
1016
1034
|
collector.error(( localize(
|
|
1017
|
-
|
|
1035
|
+
13487,
|
|
1018
1036
|
"Menu item references a submenu for a menu which doesn't have submenu support."
|
|
1019
1037
|
)));
|
|
1020
1038
|
continue;
|
|
@@ -1022,7 +1040,7 @@ menusExtensionPoint.setHandler(extensions => {
|
|
|
1022
1040
|
const submenu = _submenus.get(menuItem.submenu);
|
|
1023
1041
|
if (!submenu) {
|
|
1024
1042
|
collector.error(( localize(
|
|
1025
|
-
|
|
1043
|
+
13488,
|
|
1026
1044
|
"Menu item references a submenu `{0}` which is not defined in the 'submenus' section.",
|
|
1027
1045
|
menuItem.submenu
|
|
1028
1046
|
)));
|
|
@@ -1035,7 +1053,7 @@ menusExtensionPoint.setHandler(extensions => {
|
|
|
1035
1053
|
}
|
|
1036
1054
|
if (( submenuRegistrations.has(submenu.id.id))) {
|
|
1037
1055
|
collector.warn(( localize(
|
|
1038
|
-
|
|
1056
|
+
13489,
|
|
1039
1057
|
"The `{0}` submenu was already contributed to the `{1}` menu.",
|
|
1040
1058
|
menuItem.submenu,
|
|
1041
1059
|
entry[0]
|
|
@@ -1057,7 +1075,7 @@ menusExtensionPoint.setHandler(extensions => {
|
|
|
1057
1075
|
}
|
|
1058
1076
|
if (menu.id === MenuId.ViewContainerTitle && !menuItem.when?.includes('viewContainer == workbench.view.debug')) {
|
|
1059
1077
|
collector.error(( localize(
|
|
1060
|
-
|
|
1078
|
+
13490,
|
|
1061
1079
|
"The {0} menu contribution must check {1} in its {2} clause.",
|
|
1062
1080
|
'`viewContainer/title`',
|
|
1063
1081
|
'`viewContainer == workbench.view.debug`',
|
|
@@ -1144,10 +1162,10 @@ let CommandsTableRenderer = class CommandsTableRenderer extends Disposable {
|
|
|
1144
1162
|
return { data: { headers: [], rows: [] }, dispose: () => { } };
|
|
1145
1163
|
}
|
|
1146
1164
|
const headers = [
|
|
1147
|
-
( localize(
|
|
1148
|
-
( localize(
|
|
1149
|
-
( localize(
|
|
1150
|
-
( localize(
|
|
1165
|
+
( localize(13491, "ID")),
|
|
1166
|
+
( localize(13492, "Title")),
|
|
1167
|
+
( localize(13493, "Keyboard Shortcuts")),
|
|
1168
|
+
( localize(13494, "Menu Contexts"))
|
|
1151
1169
|
];
|
|
1152
1170
|
const rows = ( commands.sort((a, b) => a.id.localeCompare(b.id))
|
|
1153
1171
|
.map(command => {
|
|
@@ -1187,7 +1205,7 @@ CommandsTableRenderer = ( __decorate([
|
|
|
1187
1205
|
], CommandsTableRenderer));
|
|
1188
1206
|
( Registry.as(Extensions.ExtensionFeaturesRegistry)).registerExtensionFeature({
|
|
1189
1207
|
id: 'commands',
|
|
1190
|
-
label: ( localize(
|
|
1208
|
+
label: ( localize(13495, "Commands")),
|
|
1191
1209
|
access: {
|
|
1192
1210
|
canToggle: false,
|
|
1193
1211
|
},
|