@codingame/monaco-vscode-keybindings-service-override 13.1.6 → 14.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 -9
- package/vscode/src/vs/platform/keyboardLayout/common/keyboardConfig.js +3 -3
- package/vscode/src/vs/workbench/browser/contextkeys.js +2 -2
- 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 +140 -134
- package/vscode/src/vs/workbench/services/keybinding/browser/keybindingService.js +24 -24
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayoutService.js +2 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codingame/monaco-vscode-keybindings-service-override",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "14.0.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "VSCode public API plugged on the monaco editor - keybindings service-override",
|
|
6
6
|
"keywords": [],
|
|
@@ -15,14 +15,13 @@
|
|
|
15
15
|
},
|
|
16
16
|
"type": "module",
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@codingame/monaco-vscode-2a22c7b4-b906-5914-8cd1-3ed912fb738f-common": "
|
|
19
|
-
"@codingame/monaco-vscode-
|
|
20
|
-
"@codingame/monaco-vscode-
|
|
21
|
-
"@codingame/monaco-vscode-
|
|
22
|
-
"@codingame/monaco-vscode-
|
|
23
|
-
"@codingame/monaco-vscode-
|
|
24
|
-
"@codingame/monaco-vscode-
|
|
25
|
-
"@codingame/monaco-vscode-files-service-override": "13.1.6"
|
|
18
|
+
"@codingame/monaco-vscode-2a22c7b4-b906-5914-8cd1-3ed912fb738f-common": "14.0.0",
|
|
19
|
+
"@codingame/monaco-vscode-2cbab29e-9393-5de6-b701-9a9555360b6b-common": "14.0.0",
|
|
20
|
+
"@codingame/monaco-vscode-40cada32-7e9c-528a-81fc-766e4da54147-common": "14.0.0",
|
|
21
|
+
"@codingame/monaco-vscode-af5ccfda-af82-504b-b365-92b4e654e5c5-common": "14.0.0",
|
|
22
|
+
"@codingame/monaco-vscode-api": "14.0.0",
|
|
23
|
+
"@codingame/monaco-vscode-d609a7d3-bf87-551a-884f-550a8b327ec5-common": "14.0.0",
|
|
24
|
+
"@codingame/monaco-vscode-files-service-override": "14.0.0"
|
|
26
25
|
},
|
|
27
26
|
"main": "index.js",
|
|
28
27
|
"module": "index.js",
|
|
@@ -20,7 +20,7 @@ const keyboardConfiguration = {
|
|
|
20
20
|
'id': 'keyboard',
|
|
21
21
|
'order': 15,
|
|
22
22
|
'type': 'object',
|
|
23
|
-
'title': ( localize(
|
|
23
|
+
'title': ( localize(1819, "Keyboard")),
|
|
24
24
|
'properties': {
|
|
25
25
|
'keyboard.dispatch': {
|
|
26
26
|
scope: ConfigurationScope.APPLICATION,
|
|
@@ -28,7 +28,7 @@ const keyboardConfiguration = {
|
|
|
28
28
|
enum: ['code', 'keyCode'],
|
|
29
29
|
default: 'code',
|
|
30
30
|
markdownDescription: ( localize(
|
|
31
|
-
|
|
31
|
+
1820,
|
|
32
32
|
"Controls the dispatching logic for key presses to use either `code` (recommended) or `keyCode`."
|
|
33
33
|
)),
|
|
34
34
|
included: OS === OperatingSystem.Macintosh || OS === OperatingSystem.Linux
|
|
@@ -37,7 +37,7 @@ const keyboardConfiguration = {
|
|
|
37
37
|
scope: ConfigurationScope.APPLICATION,
|
|
38
38
|
type: 'boolean',
|
|
39
39
|
default: false,
|
|
40
|
-
markdownDescription: ( localize(
|
|
40
|
+
markdownDescription: ( localize(1821, "Controls if the AltGraph+ modifier should be treated as Ctrl+Alt+.")),
|
|
41
41
|
included: OS === OperatingSystem.Windows
|
|
42
42
|
}
|
|
43
43
|
}
|
|
@@ -13,10 +13,10 @@ import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/pl
|
|
|
13
13
|
import { IWorkbenchEnvironmentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/common/environmentService.service';
|
|
14
14
|
import { WorkbenchState, isTemporaryWorkspace } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace';
|
|
15
15
|
import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
|
|
16
|
-
import { positionToString, Parts } from '@codingame/monaco-vscode-
|
|
16
|
+
import { positionToString, Parts } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/layout/browser/layoutService';
|
|
17
17
|
import { IWorkbenchLayoutService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/layout/browser/layoutService.service';
|
|
18
18
|
import { getRemoteName } from '@codingame/monaco-vscode-api/vscode/vs/platform/remote/common/remoteHosts';
|
|
19
|
-
import { getVirtualWorkspaceScheme } from '@codingame/monaco-vscode-
|
|
19
|
+
import { getVirtualWorkspaceScheme } from '@codingame/monaco-vscode-2cbab29e-9393-5de6-b701-9a9555360b6b-common/vscode/vs/platform/workspace/common/virtualWorkspace';
|
|
20
20
|
import { IWorkingCopyService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/workingCopy/common/workingCopyService.service';
|
|
21
21
|
import { isNative } from '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
|
|
22
22
|
import { IPaneCompositePartService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/panecomposite/browser/panecomposite.service';
|
|
@@ -10,10 +10,10 @@ class RunCommands extends Action2 {
|
|
|
10
10
|
constructor() {
|
|
11
11
|
super({
|
|
12
12
|
id: 'runCommands',
|
|
13
|
-
title: ( localize2(
|
|
13
|
+
title: ( localize2(4935, "Run Commands")),
|
|
14
14
|
f1: false,
|
|
15
15
|
metadata: {
|
|
16
|
-
description: ( localize(
|
|
16
|
+
description: ( localize(4936, "Run several commands")),
|
|
17
17
|
args: [
|
|
18
18
|
{
|
|
19
19
|
name: 'args',
|
|
@@ -23,7 +23,7 @@ class RunCommands extends Action2 {
|
|
|
23
23
|
properties: {
|
|
24
24
|
commands: {
|
|
25
25
|
type: 'array',
|
|
26
|
-
description: ( localize(
|
|
26
|
+
description: ( localize(4937, "Commands to run")),
|
|
27
27
|
items: {
|
|
28
28
|
anyOf: [
|
|
29
29
|
{
|
|
@@ -63,14 +63,14 @@ class RunCommands extends Action2 {
|
|
|
63
63
|
const notificationService = accessor.get(INotificationService);
|
|
64
64
|
if (!this._isCommandArgs(args)) {
|
|
65
65
|
notificationService.error(( localize(
|
|
66
|
-
|
|
66
|
+
4938,
|
|
67
67
|
"'runCommands' has received an argument with incorrect type. Please, review the argument passed to the command."
|
|
68
68
|
)));
|
|
69
69
|
return;
|
|
70
70
|
}
|
|
71
71
|
if (args.commands.length === 0) {
|
|
72
72
|
notificationService.warn(( localize(
|
|
73
|
-
|
|
73
|
+
4939,
|
|
74
74
|
"'runCommands' has not received commands to run. Did you forget to pass commands in the 'runCommands' argument?"
|
|
75
75
|
)));
|
|
76
76
|
return;
|
|
@@ -10,7 +10,7 @@ class ToggleKeybindingsLogAction extends Action2 {
|
|
|
10
10
|
constructor() {
|
|
11
11
|
super({
|
|
12
12
|
id: 'workbench.action.toggleKeybindingsLog',
|
|
13
|
-
title: ( localize2(
|
|
13
|
+
title: ( localize2(7092, "Toggle Keyboard Shortcuts Troubleshooting")),
|
|
14
14
|
category: Categories.Developer,
|
|
15
15
|
f1: true
|
|
16
16
|
});
|
package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingsEditorContribution.js
CHANGED
|
@@ -20,11 +20,11 @@ import { KeybindingParser } from '@codingame/monaco-vscode-2a22c7b4-b906-5914-8c
|
|
|
20
20
|
import { assertIsDefined } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types';
|
|
21
21
|
import { isEqual } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
|
|
22
22
|
import { IUserDataProfileService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/userDataProfile/common/userDataProfile.service';
|
|
23
|
-
import { DEFINE_KEYBINDING_EDITOR_CONTRIB_ID } from '@codingame/monaco-vscode-
|
|
23
|
+
import { DEFINE_KEYBINDING_EDITOR_CONTRIB_ID } from '@codingame/monaco-vscode-af5ccfda-af82-504b-b365-92b4e654e5c5-common/vscode/vs/workbench/services/preferences/common/preferences';
|
|
24
24
|
|
|
25
25
|
var KeybindingEditorDecorationsRenderer_1;
|
|
26
26
|
const NLS_KB_LAYOUT_ERROR_MESSAGE = ( localize(
|
|
27
|
-
|
|
27
|
+
8089,
|
|
28
28
|
"You won't be able to produce this key combination under your current keyboard layout."
|
|
29
29
|
));
|
|
30
30
|
let DefineKeybindingEditorContribution = class DefineKeybindingEditorContribution extends Disposable {
|
|
@@ -182,14 +182,14 @@ let KeybindingEditorDecorationsRenderer = KeybindingEditorDecorationsRenderer_1
|
|
|
182
182
|
else {
|
|
183
183
|
if (usLabel && uiLabel !== usLabel) {
|
|
184
184
|
msg = ( new MarkdownString(( localize(
|
|
185
|
-
|
|
185
|
+
8090,
|
|
186
186
|
"**{0}** for your current keyboard layout (**{1}** for US standard).",
|
|
187
187
|
uiLabel,
|
|
188
188
|
usLabel
|
|
189
189
|
))));
|
|
190
190
|
}
|
|
191
191
|
else {
|
|
192
|
-
msg = ( new MarkdownString(( localize(
|
|
192
|
+
msg = ( new MarkdownString(( localize(8091, "**{0}** for your current keyboard layout.", uiLabel))));
|
|
193
193
|
}
|
|
194
194
|
className = 'keybindingInfo';
|
|
195
195
|
overviewRulerColor = themeColorFromId(overviewRulerInfo);
|
|
@@ -21,209 +21,215 @@ const apiMenus = [
|
|
|
21
21
|
{
|
|
22
22
|
key: 'commandPalette',
|
|
23
23
|
id: MenuId.CommandPalette,
|
|
24
|
-
description: ( localize(
|
|
24
|
+
description: ( localize(11336, "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(11337, "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(11338, "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(11339, "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(11340, "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(11341, "'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(11342, "'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(11343, "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(11344, "'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(11345, "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(11346, "'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(11347, "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(11348, "The debug variables view context menu"))
|
|
90
90
|
},
|
|
91
91
|
{
|
|
92
92
|
key: 'debug/toolBar',
|
|
93
93
|
id: MenuId.DebugToolBar,
|
|
94
|
-
description: ( localize(
|
|
94
|
+
description: ( localize(11349, "The debug toolbar menu"))
|
|
95
95
|
},
|
|
96
96
|
{
|
|
97
97
|
key: 'debug/createConfiguration',
|
|
98
98
|
id: MenuId.DebugCreateConfiguration,
|
|
99
99
|
proposed: 'contribDebugCreateConfiguration',
|
|
100
|
-
description: ( localize(
|
|
100
|
+
description: ( localize(11350, "The debug create configuration menu"))
|
|
101
101
|
},
|
|
102
102
|
{
|
|
103
103
|
key: 'notebook/variables/context',
|
|
104
104
|
id: MenuId.NotebookVariablesContext,
|
|
105
|
-
description: ( localize(
|
|
105
|
+
description: ( localize(11351, "The notebook variables view context menu"))
|
|
106
106
|
},
|
|
107
107
|
{
|
|
108
108
|
key: 'menuBar/home',
|
|
109
109
|
id: MenuId.MenubarHomeMenu,
|
|
110
|
-
description: ( localize(
|
|
110
|
+
description: ( localize(11352, "The home indicator context menu (web only)")),
|
|
111
111
|
proposed: 'contribMenuBarHome',
|
|
112
112
|
supportsSubmenus: false
|
|
113
113
|
},
|
|
114
114
|
{
|
|
115
115
|
key: 'menuBar/edit/copy',
|
|
116
116
|
id: MenuId.MenubarCopy,
|
|
117
|
-
description: ( localize(
|
|
117
|
+
description: ( localize(11353, "'Copy as' submenu in the top level Edit menu"))
|
|
118
118
|
},
|
|
119
119
|
{
|
|
120
120
|
key: 'scm/title',
|
|
121
121
|
id: MenuId.SCMTitle,
|
|
122
|
-
description: ( localize(
|
|
122
|
+
description: ( localize(11354, "The Source Control title menu"))
|
|
123
123
|
},
|
|
124
124
|
{
|
|
125
125
|
key: 'scm/sourceControl',
|
|
126
126
|
id: MenuId.SCMSourceControl,
|
|
127
|
-
description: ( localize(
|
|
127
|
+
description: ( localize(11355, "The Source Control menu"))
|
|
128
128
|
},
|
|
129
129
|
{
|
|
130
130
|
key: 'scm/sourceControl/title',
|
|
131
131
|
id: MenuId.SCMSourceControlTitle,
|
|
132
|
-
description: ( localize(
|
|
132
|
+
description: ( localize(11356, "The Source Control title menu")),
|
|
133
133
|
proposed: 'contribSourceControlTitleMenu'
|
|
134
134
|
},
|
|
135
135
|
{
|
|
136
136
|
key: 'scm/resourceState/context',
|
|
137
137
|
id: MenuId.SCMResourceContext,
|
|
138
|
-
description: ( localize(
|
|
138
|
+
description: ( localize(11357, "The Source Control resource state context menu"))
|
|
139
139
|
},
|
|
140
140
|
{
|
|
141
141
|
key: 'scm/resourceFolder/context',
|
|
142
142
|
id: MenuId.SCMResourceFolderContext,
|
|
143
|
-
description: ( localize(
|
|
143
|
+
description: ( localize(11358, "The Source Control resource folder context menu"))
|
|
144
144
|
},
|
|
145
145
|
{
|
|
146
146
|
key: 'scm/resourceGroup/context',
|
|
147
147
|
id: MenuId.SCMResourceGroupContext,
|
|
148
|
-
description: ( localize(
|
|
148
|
+
description: ( localize(11359, "The Source Control resource group context menu"))
|
|
149
149
|
},
|
|
150
150
|
{
|
|
151
151
|
key: 'scm/change/title',
|
|
152
152
|
id: MenuId.SCMChangeContext,
|
|
153
|
-
description: ( localize(
|
|
153
|
+
description: ( localize(11360, "The Source Control inline change menu"))
|
|
154
154
|
},
|
|
155
155
|
{
|
|
156
156
|
key: 'scm/inputBox',
|
|
157
157
|
id: MenuId.SCMInputBox,
|
|
158
|
-
description: ( localize(
|
|
158
|
+
description: ( localize(11361, "The Source Control input box menu")),
|
|
159
159
|
proposed: 'contribSourceControlInputBoxMenu'
|
|
160
160
|
},
|
|
161
161
|
{
|
|
162
162
|
key: 'scm/history/title',
|
|
163
163
|
id: MenuId.SCMHistoryTitle,
|
|
164
|
-
description: ( localize(
|
|
164
|
+
description: ( localize(11362, "The Source Control History title menu")),
|
|
165
165
|
proposed: 'contribSourceControlHistoryTitleMenu'
|
|
166
166
|
},
|
|
167
167
|
{
|
|
168
168
|
key: 'scm/historyItem/context',
|
|
169
|
-
id: MenuId.
|
|
170
|
-
description: ( localize(
|
|
169
|
+
id: MenuId.SCMHistoryItemContext,
|
|
170
|
+
description: ( localize(11363, "The Source Control history item context menu")),
|
|
171
|
+
proposed: 'contribSourceControlHistoryItemMenu'
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
key: 'scm/historyItem/hover',
|
|
175
|
+
id: MenuId.SCMHistoryItemHover,
|
|
176
|
+
description: ( localize(11364, "The Source Control history item hover menu")),
|
|
171
177
|
proposed: 'contribSourceControlHistoryItemMenu'
|
|
172
178
|
},
|
|
173
179
|
{
|
|
174
180
|
key: 'scm/historyItemRef/context',
|
|
175
181
|
id: MenuId.SCMHistoryItemRefContext,
|
|
176
|
-
description: ( localize(
|
|
182
|
+
description: ( localize(11365, "The Source Control history item reference context menu")),
|
|
177
183
|
proposed: 'contribSourceControlHistoryItemMenu'
|
|
178
184
|
},
|
|
179
185
|
{
|
|
180
186
|
key: 'statusBar/remoteIndicator',
|
|
181
187
|
id: MenuId.StatusBarRemoteIndicatorMenu,
|
|
182
|
-
description: ( localize(
|
|
188
|
+
description: ( localize(11366, "The remote indicator menu in the status bar")),
|
|
183
189
|
supportsSubmenus: false
|
|
184
190
|
},
|
|
185
191
|
{
|
|
186
192
|
key: 'terminal/context',
|
|
187
193
|
id: MenuId.TerminalInstanceContext,
|
|
188
|
-
description: ( localize(
|
|
194
|
+
description: ( localize(11367, "The terminal context menu"))
|
|
189
195
|
},
|
|
190
196
|
{
|
|
191
197
|
key: 'terminal/title/context',
|
|
192
198
|
id: MenuId.TerminalTabContext,
|
|
193
|
-
description: ( localize(
|
|
199
|
+
description: ( localize(11368, "The terminal tabs context menu"))
|
|
194
200
|
},
|
|
195
201
|
{
|
|
196
202
|
key: 'view/title',
|
|
197
203
|
id: MenuId.ViewTitle,
|
|
198
|
-
description: ( localize(
|
|
204
|
+
description: ( localize(11369, "The contributed view title menu"))
|
|
199
205
|
},
|
|
200
206
|
{
|
|
201
207
|
key: 'viewContainer/title',
|
|
202
208
|
id: MenuId.ViewContainerTitle,
|
|
203
|
-
description: ( localize(
|
|
209
|
+
description: ( localize(11370, "The contributed view container title menu")),
|
|
204
210
|
proposed: 'contribViewContainerTitle'
|
|
205
211
|
},
|
|
206
212
|
{
|
|
207
213
|
key: 'view/item/context',
|
|
208
214
|
id: MenuId.ViewItemContext,
|
|
209
|
-
description: ( localize(
|
|
215
|
+
description: ( localize(11371, "The contributed view item context menu"))
|
|
210
216
|
},
|
|
211
217
|
{
|
|
212
218
|
key: 'comments/comment/editorActions',
|
|
213
219
|
id: MenuId.CommentEditorActions,
|
|
214
|
-
description: ( localize(
|
|
220
|
+
description: ( localize(11372, "The contributed comment editor actions")),
|
|
215
221
|
proposed: 'contribCommentEditorActionsMenu'
|
|
216
222
|
},
|
|
217
223
|
{
|
|
218
224
|
key: 'comments/commentThread/title',
|
|
219
225
|
id: MenuId.CommentThreadTitle,
|
|
220
|
-
description: ( localize(
|
|
226
|
+
description: ( localize(11373, "The contributed comment thread title menu"))
|
|
221
227
|
},
|
|
222
228
|
{
|
|
223
229
|
key: 'comments/commentThread/context',
|
|
224
230
|
id: MenuId.CommentThreadActions,
|
|
225
231
|
description: ( localize(
|
|
226
|
-
|
|
232
|
+
11374,
|
|
227
233
|
"The contributed comment thread context menu, rendered as buttons below the comment editor"
|
|
228
234
|
)),
|
|
229
235
|
supportsSubmenus: false
|
|
@@ -232,7 +238,7 @@ const apiMenus = [
|
|
|
232
238
|
key: 'comments/commentThread/additionalActions',
|
|
233
239
|
id: MenuId.CommentThreadAdditionalActions,
|
|
234
240
|
description: ( localize(
|
|
235
|
-
|
|
241
|
+
11374,
|
|
236
242
|
"The contributed comment thread context menu, rendered as buttons below the comment editor"
|
|
237
243
|
)),
|
|
238
244
|
supportsSubmenus: true,
|
|
@@ -242,7 +248,7 @@ const apiMenus = [
|
|
|
242
248
|
key: 'comments/commentThread/title/context',
|
|
243
249
|
id: MenuId.CommentThreadTitleContext,
|
|
244
250
|
description: ( localize(
|
|
245
|
-
|
|
251
|
+
11375,
|
|
246
252
|
"The contributed comment thread title's peek context menu, rendered as a right click menu on the comment thread's peek title."
|
|
247
253
|
)),
|
|
248
254
|
proposed: 'contribCommentPeekContext'
|
|
@@ -250,13 +256,13 @@ const apiMenus = [
|
|
|
250
256
|
{
|
|
251
257
|
key: 'comments/comment/title',
|
|
252
258
|
id: MenuId.CommentTitle,
|
|
253
|
-
description: ( localize(
|
|
259
|
+
description: ( localize(11376, "The contributed comment title menu"))
|
|
254
260
|
},
|
|
255
261
|
{
|
|
256
262
|
key: 'comments/comment/context',
|
|
257
263
|
id: MenuId.CommentActions,
|
|
258
264
|
description: ( localize(
|
|
259
|
-
|
|
265
|
+
11377,
|
|
260
266
|
"The contributed comment context menu, rendered as buttons below the comment editor"
|
|
261
267
|
)),
|
|
262
268
|
supportsSubmenus: false
|
|
@@ -265,7 +271,7 @@ const apiMenus = [
|
|
|
265
271
|
key: 'comments/commentThread/comment/context',
|
|
266
272
|
id: MenuId.CommentThreadCommentContext,
|
|
267
273
|
description: ( localize(
|
|
268
|
-
|
|
274
|
+
11378,
|
|
269
275
|
"The contributed comment context menu, rendered as a right click menu on the an individual comment in the comment thread's peek view."
|
|
270
276
|
)),
|
|
271
277
|
proposed: 'contribCommentPeekContext'
|
|
@@ -273,113 +279,113 @@ const apiMenus = [
|
|
|
273
279
|
{
|
|
274
280
|
key: 'commentsView/commentThread/context',
|
|
275
281
|
id: MenuId.CommentsViewThreadActions,
|
|
276
|
-
description: ( localize(
|
|
282
|
+
description: ( localize(11379, "The contributed comment thread context menu in the comments view")),
|
|
277
283
|
proposed: 'contribCommentsViewThreadMenus'
|
|
278
284
|
},
|
|
279
285
|
{
|
|
280
286
|
key: 'notebook/toolbar',
|
|
281
287
|
id: MenuId.NotebookToolbar,
|
|
282
|
-
description: ( localize(
|
|
288
|
+
description: ( localize(11380, "The contributed notebook toolbar menu"))
|
|
283
289
|
},
|
|
284
290
|
{
|
|
285
291
|
key: 'notebook/kernelSource',
|
|
286
292
|
id: MenuId.NotebookKernelSource,
|
|
287
|
-
description: ( localize(
|
|
293
|
+
description: ( localize(11381, "The contributed notebook kernel sources menu")),
|
|
288
294
|
proposed: 'notebookKernelSource'
|
|
289
295
|
},
|
|
290
296
|
{
|
|
291
297
|
key: 'notebook/cell/title',
|
|
292
298
|
id: MenuId.NotebookCellTitle,
|
|
293
|
-
description: ( localize(
|
|
299
|
+
description: ( localize(11382, "The contributed notebook cell title menu"))
|
|
294
300
|
},
|
|
295
301
|
{
|
|
296
302
|
key: 'notebook/cell/execute',
|
|
297
303
|
id: MenuId.NotebookCellExecute,
|
|
298
|
-
description: ( localize(
|
|
304
|
+
description: ( localize(11383, "The contributed notebook cell execution menu"))
|
|
299
305
|
},
|
|
300
306
|
{
|
|
301
307
|
key: 'interactive/toolbar',
|
|
302
308
|
id: MenuId.InteractiveToolbar,
|
|
303
|
-
description: ( localize(
|
|
309
|
+
description: ( localize(11384, "The contributed interactive toolbar menu")),
|
|
304
310
|
},
|
|
305
311
|
{
|
|
306
312
|
key: 'interactive/cell/title',
|
|
307
313
|
id: MenuId.InteractiveCellTitle,
|
|
308
|
-
description: ( localize(
|
|
314
|
+
description: ( localize(11385, "The contributed interactive cell title menu")),
|
|
309
315
|
},
|
|
310
316
|
{
|
|
311
317
|
key: 'issue/reporter',
|
|
312
318
|
id: MenuId.IssueReporter,
|
|
313
|
-
description: ( localize(
|
|
319
|
+
description: ( localize(11386, "The contributed issue reporter menu"))
|
|
314
320
|
},
|
|
315
321
|
{
|
|
316
322
|
key: 'testing/item/context',
|
|
317
323
|
id: MenuId.TestItem,
|
|
318
|
-
description: ( localize(
|
|
324
|
+
description: ( localize(11387, "The contributed test item menu")),
|
|
319
325
|
},
|
|
320
326
|
{
|
|
321
327
|
key: 'testing/item/gutter',
|
|
322
328
|
id: MenuId.TestItemGutter,
|
|
323
|
-
description: ( localize(
|
|
329
|
+
description: ( localize(11388, "The menu for a gutter decoration for a test item")),
|
|
324
330
|
},
|
|
325
331
|
{
|
|
326
332
|
key: 'testing/profiles/context',
|
|
327
333
|
id: MenuId.TestProfilesContext,
|
|
328
|
-
description: ( localize(
|
|
334
|
+
description: ( localize(11389, "The menu for configuring testing profiles.")),
|
|
329
335
|
},
|
|
330
336
|
{
|
|
331
337
|
key: 'testing/item/result',
|
|
332
338
|
id: MenuId.TestPeekElement,
|
|
333
|
-
description: ( localize(
|
|
339
|
+
description: ( localize(11390, "The menu for an item in the Test Results view or peek.")),
|
|
334
340
|
},
|
|
335
341
|
{
|
|
336
342
|
key: 'testing/message/context',
|
|
337
343
|
id: MenuId.TestMessageContext,
|
|
338
344
|
description: ( localize(
|
|
339
|
-
|
|
345
|
+
11391,
|
|
340
346
|
"A prominent button overlaying editor content where the message is displayed"
|
|
341
347
|
)),
|
|
342
348
|
},
|
|
343
349
|
{
|
|
344
350
|
key: 'testing/message/content',
|
|
345
351
|
id: MenuId.TestMessageContent,
|
|
346
|
-
description: ( localize(
|
|
352
|
+
description: ( localize(11392, "Context menu for the message in the results tree")),
|
|
347
353
|
},
|
|
348
354
|
{
|
|
349
355
|
key: 'extension/context',
|
|
350
356
|
id: MenuId.ExtensionContext,
|
|
351
|
-
description: ( localize(
|
|
357
|
+
description: ( localize(11393, "The extension context menu"))
|
|
352
358
|
},
|
|
353
359
|
{
|
|
354
360
|
key: 'timeline/title',
|
|
355
361
|
id: MenuId.TimelineTitle,
|
|
356
|
-
description: ( localize(
|
|
362
|
+
description: ( localize(11394, "The Timeline view title menu"))
|
|
357
363
|
},
|
|
358
364
|
{
|
|
359
365
|
key: 'timeline/item/context',
|
|
360
366
|
id: MenuId.TimelineItemContext,
|
|
361
|
-
description: ( localize(
|
|
367
|
+
description: ( localize(11395, "The Timeline view item context menu"))
|
|
362
368
|
},
|
|
363
369
|
{
|
|
364
370
|
key: 'ports/item/context',
|
|
365
371
|
id: MenuId.TunnelContext,
|
|
366
|
-
description: ( localize(
|
|
372
|
+
description: ( localize(11396, "The Ports view item context menu"))
|
|
367
373
|
},
|
|
368
374
|
{
|
|
369
375
|
key: 'ports/item/origin/inline',
|
|
370
376
|
id: MenuId.TunnelOriginInline,
|
|
371
|
-
description: ( localize(
|
|
377
|
+
description: ( localize(11397, "The Ports view item origin inline menu"))
|
|
372
378
|
},
|
|
373
379
|
{
|
|
374
380
|
key: 'ports/item/port/inline',
|
|
375
381
|
id: MenuId.TunnelPortInline,
|
|
376
|
-
description: ( localize(
|
|
382
|
+
description: ( localize(11398, "The Ports view item port inline menu"))
|
|
377
383
|
},
|
|
378
384
|
{
|
|
379
385
|
key: 'file/newFile',
|
|
380
386
|
id: MenuId.NewFile,
|
|
381
387
|
description: ( localize(
|
|
382
|
-
|
|
388
|
+
11399,
|
|
383
389
|
"The 'New File...' quick pick, shown on welcome page and File menu."
|
|
384
390
|
)),
|
|
385
391
|
supportsSubmenus: false,
|
|
@@ -387,54 +393,54 @@ const apiMenus = [
|
|
|
387
393
|
{
|
|
388
394
|
key: 'webview/context',
|
|
389
395
|
id: MenuId.WebviewContext,
|
|
390
|
-
description: ( localize(
|
|
396
|
+
description: ( localize(11400, "The webview context menu"))
|
|
391
397
|
},
|
|
392
398
|
{
|
|
393
399
|
key: 'file/share',
|
|
394
400
|
id: MenuId.MenubarShare,
|
|
395
|
-
description: ( localize(
|
|
401
|
+
description: ( localize(11401, "Share submenu shown in the top level File menu.")),
|
|
396
402
|
proposed: 'contribShareMenu'
|
|
397
403
|
},
|
|
398
404
|
{
|
|
399
405
|
key: 'editor/inlineCompletions/actions',
|
|
400
406
|
id: MenuId.InlineCompletionsActions,
|
|
401
|
-
description: ( localize(
|
|
407
|
+
description: ( localize(11402, "The actions shown when hovering on an inline completion")),
|
|
402
408
|
supportsSubmenus: false,
|
|
403
409
|
proposed: 'inlineCompletionsAdditions'
|
|
404
410
|
},
|
|
405
411
|
{
|
|
406
412
|
key: 'editor/content',
|
|
407
413
|
id: MenuId.EditorContent,
|
|
408
|
-
description: ( localize(
|
|
414
|
+
description: ( localize(11403, "The prominent button in an editor, overlays its content")),
|
|
409
415
|
proposed: 'contribEditorContentMenu'
|
|
410
416
|
},
|
|
411
417
|
{
|
|
412
418
|
key: 'editor/lineNumber/context',
|
|
413
419
|
id: MenuId.EditorLineNumberContext,
|
|
414
|
-
description: ( localize(
|
|
420
|
+
description: ( localize(11404, "The contributed editor line number context menu"))
|
|
415
421
|
},
|
|
416
422
|
{
|
|
417
423
|
key: 'mergeEditor/result/title',
|
|
418
424
|
id: MenuId.MergeInputResultToolbar,
|
|
419
|
-
description: ( localize(
|
|
425
|
+
description: ( localize(11405, "The result toolbar of the merge editor")),
|
|
420
426
|
proposed: 'contribMergeEditorMenus'
|
|
421
427
|
},
|
|
422
428
|
{
|
|
423
429
|
key: 'multiDiffEditor/resource/title',
|
|
424
430
|
id: MenuId.MultiDiffEditorFileToolbar,
|
|
425
|
-
description: ( localize(
|
|
431
|
+
description: ( localize(11406, "The resource toolbar in the multi diff editor")),
|
|
426
432
|
proposed: 'contribMultiDiffEditorMenus'
|
|
427
433
|
},
|
|
428
434
|
{
|
|
429
435
|
key: 'diffEditor/gutter/hunk',
|
|
430
436
|
id: MenuId.DiffEditorHunkToolbar,
|
|
431
|
-
description: ( localize(
|
|
437
|
+
description: ( localize(11407, "The gutter toolbar in the diff editor")),
|
|
432
438
|
proposed: 'contribDiffEditorGutterToolBarMenus'
|
|
433
439
|
},
|
|
434
440
|
{
|
|
435
441
|
key: 'diffEditor/gutter/selection',
|
|
436
442
|
id: MenuId.DiffEditorSelectionToolbar,
|
|
437
|
-
description: ( localize(
|
|
443
|
+
description: ( localize(11407, "The gutter toolbar in the diff editor")),
|
|
438
444
|
proposed: 'contribDiffEditorGutterToolBarMenus'
|
|
439
445
|
}
|
|
440
446
|
];
|
|
@@ -447,23 +453,23 @@ var schema;
|
|
|
447
453
|
function isValidMenuItem(item, collector) {
|
|
448
454
|
if (typeof item.command !== 'string') {
|
|
449
455
|
collector.error(( localize(
|
|
450
|
-
|
|
456
|
+
11408,
|
|
451
457
|
"property `{0}` is mandatory and must be of type `string`",
|
|
452
458
|
'command'
|
|
453
459
|
)));
|
|
454
460
|
return false;
|
|
455
461
|
}
|
|
456
462
|
if (item.alt && typeof item.alt !== 'string') {
|
|
457
|
-
collector.error(( localize(
|
|
463
|
+
collector.error(( localize(11409, "property `{0}` can be omitted or must be of type `string`", 'alt')));
|
|
458
464
|
return false;
|
|
459
465
|
}
|
|
460
466
|
if (item.when && typeof item.when !== 'string') {
|
|
461
|
-
collector.error(( localize(
|
|
467
|
+
collector.error(( localize(11409, "property `{0}` can be omitted or must be of type `string`", 'when')));
|
|
462
468
|
return false;
|
|
463
469
|
}
|
|
464
470
|
if (item.group && typeof item.group !== 'string') {
|
|
465
471
|
collector.error(( localize(
|
|
466
|
-
|
|
472
|
+
11409,
|
|
467
473
|
"property `{0}` can be omitted or must be of type `string`",
|
|
468
474
|
'group'
|
|
469
475
|
)));
|
|
@@ -475,19 +481,19 @@ var schema;
|
|
|
475
481
|
function isValidSubmenuItem(item, collector) {
|
|
476
482
|
if (typeof item.submenu !== 'string') {
|
|
477
483
|
collector.error(( localize(
|
|
478
|
-
|
|
484
|
+
11408,
|
|
479
485
|
"property `{0}` is mandatory and must be of type `string`",
|
|
480
486
|
'submenu'
|
|
481
487
|
)));
|
|
482
488
|
return false;
|
|
483
489
|
}
|
|
484
490
|
if (item.when && typeof item.when !== 'string') {
|
|
485
|
-
collector.error(( localize(
|
|
491
|
+
collector.error(( localize(11409, "property `{0}` can be omitted or must be of type `string`", 'when')));
|
|
486
492
|
return false;
|
|
487
493
|
}
|
|
488
494
|
if (item.group && typeof item.group !== 'string') {
|
|
489
495
|
collector.error(( localize(
|
|
490
|
-
|
|
496
|
+
11409,
|
|
491
497
|
"property `{0}` can be omitted or must be of type `string`",
|
|
492
498
|
'group'
|
|
493
499
|
)));
|
|
@@ -498,7 +504,7 @@ var schema;
|
|
|
498
504
|
schema.isValidSubmenuItem = isValidSubmenuItem;
|
|
499
505
|
function isValidItems(items, collector) {
|
|
500
506
|
if (!Array.isArray(items)) {
|
|
501
|
-
collector.error(( localize(
|
|
507
|
+
collector.error(( localize(11410, "submenu items must be an array")));
|
|
502
508
|
return false;
|
|
503
509
|
}
|
|
504
510
|
for (const item of items) {
|
|
@@ -518,15 +524,15 @@ var schema;
|
|
|
518
524
|
schema.isValidItems = isValidItems;
|
|
519
525
|
function isValidSubmenu(submenu, collector) {
|
|
520
526
|
if (typeof submenu !== 'object') {
|
|
521
|
-
collector.error(( localize(
|
|
527
|
+
collector.error(( localize(11411, "submenu items must be an object")));
|
|
522
528
|
return false;
|
|
523
529
|
}
|
|
524
530
|
if (typeof submenu.id !== 'string') {
|
|
525
|
-
collector.error(( localize(
|
|
531
|
+
collector.error(( localize(11408, "property `{0}` is mandatory and must be of type `string`", 'id')));
|
|
526
532
|
return false;
|
|
527
533
|
}
|
|
528
534
|
if (typeof submenu.label !== 'string') {
|
|
529
|
-
collector.error(( localize(
|
|
535
|
+
collector.error(( localize(11408, "property `{0}` is mandatory and must be of type `string`", 'label')));
|
|
530
536
|
return false;
|
|
531
537
|
}
|
|
532
538
|
return true;
|
|
@@ -538,24 +544,24 @@ var schema;
|
|
|
538
544
|
properties: {
|
|
539
545
|
command: {
|
|
540
546
|
description: ( localize(
|
|
541
|
-
|
|
547
|
+
11412,
|
|
542
548
|
'Identifier of the command to execute. The command must be declared in the \'commands\'-section'
|
|
543
549
|
)),
|
|
544
550
|
type: 'string'
|
|
545
551
|
},
|
|
546
552
|
alt: {
|
|
547
553
|
description: ( localize(
|
|
548
|
-
|
|
554
|
+
11413,
|
|
549
555
|
'Identifier of an alternative command to execute. The command must be declared in the \'commands\'-section'
|
|
550
556
|
)),
|
|
551
557
|
type: 'string'
|
|
552
558
|
},
|
|
553
559
|
when: {
|
|
554
|
-
description: ( localize(
|
|
560
|
+
description: ( localize(11414, 'Condition which must be true to show this item')),
|
|
555
561
|
type: 'string'
|
|
556
562
|
},
|
|
557
563
|
group: {
|
|
558
|
-
description: ( localize(
|
|
564
|
+
description: ( localize(11415, 'Group into which this item belongs')),
|
|
559
565
|
type: 'string'
|
|
560
566
|
}
|
|
561
567
|
}
|
|
@@ -565,15 +571,15 @@ var schema;
|
|
|
565
571
|
required: ['submenu'],
|
|
566
572
|
properties: {
|
|
567
573
|
submenu: {
|
|
568
|
-
description: ( localize(
|
|
574
|
+
description: ( localize(11416, 'Identifier of the submenu to display in this item.')),
|
|
569
575
|
type: 'string'
|
|
570
576
|
},
|
|
571
577
|
when: {
|
|
572
|
-
description: ( localize(
|
|
578
|
+
description: ( localize(11414, 'Condition which must be true to show this item')),
|
|
573
579
|
type: 'string'
|
|
574
580
|
},
|
|
575
581
|
group: {
|
|
576
|
-
description: ( localize(
|
|
582
|
+
description: ( localize(11415, 'Group into which this item belongs')),
|
|
577
583
|
type: 'string'
|
|
578
584
|
}
|
|
579
585
|
}
|
|
@@ -583,16 +589,16 @@ var schema;
|
|
|
583
589
|
required: ['id', 'label'],
|
|
584
590
|
properties: {
|
|
585
591
|
id: {
|
|
586
|
-
description: ( localize(
|
|
592
|
+
description: ( localize(11417, 'Identifier of the menu to display as a submenu.')),
|
|
587
593
|
type: 'string'
|
|
588
594
|
},
|
|
589
595
|
label: {
|
|
590
|
-
description: ( localize(
|
|
596
|
+
description: ( localize(11418, 'The label of the menu item which leads to this submenu.')),
|
|
591
597
|
type: 'string'
|
|
592
598
|
},
|
|
593
599
|
icon: {
|
|
594
600
|
description: ( localize(
|
|
595
|
-
|
|
601
|
+
11419,
|
|
596
602
|
'(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)`'
|
|
597
603
|
)),
|
|
598
604
|
anyOf: [{
|
|
@@ -602,11 +608,11 @@ var schema;
|
|
|
602
608
|
type: 'object',
|
|
603
609
|
properties: {
|
|
604
610
|
light: {
|
|
605
|
-
description: ( localize(
|
|
611
|
+
description: ( localize(11420, 'Icon path when a light theme is used')),
|
|
606
612
|
type: 'string'
|
|
607
613
|
},
|
|
608
614
|
dark: {
|
|
609
|
-
description: ( localize(
|
|
615
|
+
description: ( localize(11421, 'Icon path when a dark theme is used')),
|
|
610
616
|
type: 'string'
|
|
611
617
|
}
|
|
612
618
|
}
|
|
@@ -615,11 +621,11 @@ var schema;
|
|
|
615
621
|
}
|
|
616
622
|
};
|
|
617
623
|
schema.menusContribution = {
|
|
618
|
-
description: ( localize(
|
|
624
|
+
description: ( localize(11422, "Contributes menu items to the editor")),
|
|
619
625
|
type: 'object',
|
|
620
626
|
properties: index(apiMenus, menu => menu.key, menu => ({
|
|
621
627
|
markdownDescription: menu.proposed ? ( localize(
|
|
622
|
-
|
|
628
|
+
11423,
|
|
623
629
|
"Proposed API, requires `enabledApiProposal: [\"{0}\"]` - {1}",
|
|
624
630
|
menu.proposed,
|
|
625
631
|
menu.description
|
|
@@ -634,18 +640,18 @@ var schema;
|
|
|
634
640
|
}
|
|
635
641
|
};
|
|
636
642
|
schema.submenusContribution = {
|
|
637
|
-
description: ( localize(
|
|
643
|
+
description: ( localize(11424, "Contributes submenu items to the editor")),
|
|
638
644
|
type: 'array',
|
|
639
645
|
items: submenu
|
|
640
646
|
};
|
|
641
647
|
function isValidCommand(command, collector) {
|
|
642
648
|
if (!command) {
|
|
643
|
-
collector.error(( localize(
|
|
649
|
+
collector.error(( localize(11425, "expected non-empty value.")));
|
|
644
650
|
return false;
|
|
645
651
|
}
|
|
646
652
|
if (isFalsyOrWhitespace(command.command)) {
|
|
647
653
|
collector.error(( localize(
|
|
648
|
-
|
|
654
|
+
11408,
|
|
649
655
|
"property `{0}` is mandatory and must be of type `string`",
|
|
650
656
|
'command'
|
|
651
657
|
)));
|
|
@@ -659,7 +665,7 @@ var schema;
|
|
|
659
665
|
}
|
|
660
666
|
if (command.enablement && typeof command.enablement !== 'string') {
|
|
661
667
|
collector.error(( localize(
|
|
662
|
-
|
|
668
|
+
11409,
|
|
663
669
|
"property `{0}` can be omitted or must be of type `string`",
|
|
664
670
|
'precondition'
|
|
665
671
|
)));
|
|
@@ -685,7 +691,7 @@ var schema;
|
|
|
685
691
|
return true;
|
|
686
692
|
}
|
|
687
693
|
collector.error(( localize(
|
|
688
|
-
|
|
694
|
+
11426,
|
|
689
695
|
"property `icon` can be omitted or must be either a string or a literal like `{dark, light}`"
|
|
690
696
|
)));
|
|
691
697
|
return false;
|
|
@@ -693,7 +699,7 @@ var schema;
|
|
|
693
699
|
function isValidLocalizedString(localized, collector, propertyName) {
|
|
694
700
|
if (typeof localized === 'undefined') {
|
|
695
701
|
collector.error(( localize(
|
|
696
|
-
|
|
702
|
+
11427,
|
|
697
703
|
"property `{0}` is mandatory and must be of type `string` or `object`",
|
|
698
704
|
propertyName
|
|
699
705
|
)));
|
|
@@ -701,7 +707,7 @@ var schema;
|
|
|
701
707
|
}
|
|
702
708
|
else if (typeof localized === 'string' && isFalsyOrWhitespace(localized)) {
|
|
703
709
|
collector.error(( localize(
|
|
704
|
-
|
|
710
|
+
11408,
|
|
705
711
|
"property `{0}` is mandatory and must be of type `string`",
|
|
706
712
|
propertyName
|
|
707
713
|
)));
|
|
@@ -709,7 +715,7 @@ var schema;
|
|
|
709
715
|
}
|
|
710
716
|
else if (typeof localized !== 'string' && (isFalsyOrWhitespace(localized.original) || isFalsyOrWhitespace(localized.value))) {
|
|
711
717
|
collector.error(( localize(
|
|
712
|
-
|
|
718
|
+
11428,
|
|
713
719
|
"properties `{0}` and `{1}` are mandatory and must be of type `string`",
|
|
714
720
|
`${propertyName}.value`,
|
|
715
721
|
`${propertyName}.original`
|
|
@@ -723,37 +729,37 @@ var schema;
|
|
|
723
729
|
required: ['command', 'title'],
|
|
724
730
|
properties: {
|
|
725
731
|
command: {
|
|
726
|
-
description: ( localize(
|
|
732
|
+
description: ( localize(11429, 'Identifier of the command to execute')),
|
|
727
733
|
type: 'string'
|
|
728
734
|
},
|
|
729
735
|
title: {
|
|
730
|
-
description: ( localize(
|
|
736
|
+
description: ( localize(11430, 'Title by which the command is represented in the UI')),
|
|
731
737
|
type: 'string'
|
|
732
738
|
},
|
|
733
739
|
shortTitle: {
|
|
734
740
|
markdownDescription: ( localize(
|
|
735
|
-
|
|
741
|
+
11431,
|
|
736
742
|
'(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.'
|
|
737
743
|
)),
|
|
738
744
|
type: 'string'
|
|
739
745
|
},
|
|
740
746
|
category: {
|
|
741
747
|
description: ( localize(
|
|
742
|
-
|
|
748
|
+
11432,
|
|
743
749
|
'(Optional) Category string by which the command is grouped in the UI'
|
|
744
750
|
)),
|
|
745
751
|
type: 'string'
|
|
746
752
|
},
|
|
747
753
|
enablement: {
|
|
748
754
|
description: ( localize(
|
|
749
|
-
|
|
755
|
+
11433,
|
|
750
756
|
'(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.'
|
|
751
757
|
)),
|
|
752
758
|
type: 'string'
|
|
753
759
|
},
|
|
754
760
|
icon: {
|
|
755
761
|
description: ( localize(
|
|
756
|
-
|
|
762
|
+
11434,
|
|
757
763
|
'(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)`'
|
|
758
764
|
)),
|
|
759
765
|
anyOf: [{
|
|
@@ -763,11 +769,11 @@ var schema;
|
|
|
763
769
|
type: 'object',
|
|
764
770
|
properties: {
|
|
765
771
|
light: {
|
|
766
|
-
description: ( localize(
|
|
772
|
+
description: ( localize(11435, 'Icon path when a light theme is used')),
|
|
767
773
|
type: 'string'
|
|
768
774
|
},
|
|
769
775
|
dark: {
|
|
770
|
-
description: ( localize(
|
|
776
|
+
description: ( localize(11436, 'Icon path when a dark theme is used')),
|
|
771
777
|
type: 'string'
|
|
772
778
|
}
|
|
773
779
|
}
|
|
@@ -776,7 +782,7 @@ var schema;
|
|
|
776
782
|
}
|
|
777
783
|
};
|
|
778
784
|
schema.commandsContribution = {
|
|
779
|
-
description: ( localize(
|
|
785
|
+
description: ( localize(11437, "Contributes commands to the command palette.")),
|
|
780
786
|
oneOf: [
|
|
781
787
|
commandType,
|
|
782
788
|
{
|
|
@@ -820,7 +826,7 @@ commandsExtensionPoint.setHandler(extensions => {
|
|
|
820
826
|
if (existingCmd) {
|
|
821
827
|
if (existingCmd.source) {
|
|
822
828
|
extension.collector.info(( localize(
|
|
823
|
-
|
|
829
|
+
11438,
|
|
824
830
|
"Command `{0}` already registered by {1} ({2})",
|
|
825
831
|
userFriendlyCommand.command,
|
|
826
832
|
existingCmd.source.title,
|
|
@@ -828,7 +834,7 @@ commandsExtensionPoint.setHandler(extensions => {
|
|
|
828
834
|
)));
|
|
829
835
|
}
|
|
830
836
|
else {
|
|
831
|
-
extension.collector.info(( localize(
|
|
837
|
+
extension.collector.info(( localize(11439, "Command `{0}` already registered", userFriendlyCommand.command)));
|
|
832
838
|
}
|
|
833
839
|
}
|
|
834
840
|
_commandRegistrations.add(MenuRegistry.addCommand({
|
|
@@ -869,19 +875,19 @@ submenusExtensionPoint.setHandler(extensions => {
|
|
|
869
875
|
continue;
|
|
870
876
|
}
|
|
871
877
|
if (!submenuInfo.id) {
|
|
872
|
-
collector.warn(( localize(
|
|
878
|
+
collector.warn(( localize(11440, "`{0}` is not a valid submenu identifier", submenuInfo.id)));
|
|
873
879
|
continue;
|
|
874
880
|
}
|
|
875
881
|
if (( _submenus.has(submenuInfo.id))) {
|
|
876
882
|
collector.info(( localize(
|
|
877
|
-
|
|
883
|
+
11441,
|
|
878
884
|
"The `{0}` submenu was already previously registered.",
|
|
879
885
|
submenuInfo.id
|
|
880
886
|
)));
|
|
881
887
|
continue;
|
|
882
888
|
}
|
|
883
889
|
if (!submenuInfo.label) {
|
|
884
|
-
collector.warn(( localize(
|
|
890
|
+
collector.warn(( localize(11442, "`{0}` is not a valid submenu label", submenuInfo.label)));
|
|
885
891
|
continue;
|
|
886
892
|
}
|
|
887
893
|
let absoluteIcon;
|
|
@@ -938,7 +944,7 @@ menusExtensionPoint.setHandler(extensions => {
|
|
|
938
944
|
}
|
|
939
945
|
if (menu.proposed && !isProposedApiEnabled(extension.description, menu.proposed)) {
|
|
940
946
|
collector.error(( localize(
|
|
941
|
-
|
|
947
|
+
11443,
|
|
942
948
|
"{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}",
|
|
943
949
|
entry[0],
|
|
944
950
|
menu.proposed,
|
|
@@ -953,7 +959,7 @@ menusExtensionPoint.setHandler(extensions => {
|
|
|
953
959
|
const alt = menuItem.alt && MenuRegistry.getCommand(menuItem.alt) || undefined;
|
|
954
960
|
if (!command) {
|
|
955
961
|
collector.error(( localize(
|
|
956
|
-
|
|
962
|
+
11444,
|
|
957
963
|
"Menu item references a command `{0}` which is not defined in the 'commands' section.",
|
|
958
964
|
menuItem.command
|
|
959
965
|
)));
|
|
@@ -961,20 +967,20 @@ menusExtensionPoint.setHandler(extensions => {
|
|
|
961
967
|
}
|
|
962
968
|
if (menuItem.alt && !alt) {
|
|
963
969
|
collector.warn(( localize(
|
|
964
|
-
|
|
970
|
+
11445,
|
|
965
971
|
"Menu item references an alt-command `{0}` which is not defined in the 'commands' section.",
|
|
966
972
|
menuItem.alt
|
|
967
973
|
)));
|
|
968
974
|
}
|
|
969
975
|
if (menuItem.command === menuItem.alt) {
|
|
970
|
-
collector.info(( localize(
|
|
976
|
+
collector.info(( localize(11446, "Menu item references the same command as default and alt-command")));
|
|
971
977
|
}
|
|
972
978
|
item = { command, alt, group: undefined, order: undefined, when: undefined };
|
|
973
979
|
}
|
|
974
980
|
else {
|
|
975
981
|
if (menu.supportsSubmenus === false) {
|
|
976
982
|
collector.error(( localize(
|
|
977
|
-
|
|
983
|
+
11447,
|
|
978
984
|
"Menu item references a submenu for a menu which doesn't have submenu support."
|
|
979
985
|
)));
|
|
980
986
|
continue;
|
|
@@ -982,7 +988,7 @@ menusExtensionPoint.setHandler(extensions => {
|
|
|
982
988
|
const submenu = _submenus.get(menuItem.submenu);
|
|
983
989
|
if (!submenu) {
|
|
984
990
|
collector.error(( localize(
|
|
985
|
-
|
|
991
|
+
11448,
|
|
986
992
|
"Menu item references a submenu `{0}` which is not defined in the 'submenus' section.",
|
|
987
993
|
menuItem.submenu
|
|
988
994
|
)));
|
|
@@ -995,7 +1001,7 @@ menusExtensionPoint.setHandler(extensions => {
|
|
|
995
1001
|
}
|
|
996
1002
|
if (( submenuRegistrations.has(submenu.id.id))) {
|
|
997
1003
|
collector.warn(( localize(
|
|
998
|
-
|
|
1004
|
+
11449,
|
|
999
1005
|
"The `{0}` submenu was already contributed to the `{1}` menu.",
|
|
1000
1006
|
menuItem.submenu,
|
|
1001
1007
|
entry[0]
|
|
@@ -1017,7 +1023,7 @@ menusExtensionPoint.setHandler(extensions => {
|
|
|
1017
1023
|
}
|
|
1018
1024
|
if (menu.id === MenuId.ViewContainerTitle && !menuItem.when?.includes('viewContainer == workbench.view.debug')) {
|
|
1019
1025
|
collector.error(( localize(
|
|
1020
|
-
|
|
1026
|
+
11450,
|
|
1021
1027
|
"The {0} menu contribution must check {1} in its {2} clause.",
|
|
1022
1028
|
'`viewContainer/title`',
|
|
1023
1029
|
'`viewContainer == workbench.view.debug`',
|
|
@@ -1104,10 +1110,10 @@ let CommandsTableRenderer = class CommandsTableRenderer extends Disposable {
|
|
|
1104
1110
|
return { data: { headers: [], rows: [] }, dispose: () => { } };
|
|
1105
1111
|
}
|
|
1106
1112
|
const headers = [
|
|
1107
|
-
( localize(
|
|
1108
|
-
( localize(
|
|
1109
|
-
( localize(
|
|
1110
|
-
( localize(
|
|
1113
|
+
( localize(11451, "ID")),
|
|
1114
|
+
( localize(11452, "Title")),
|
|
1115
|
+
( localize(11453, "Keyboard Shortcuts")),
|
|
1116
|
+
( localize(11454, "Menu Contexts"))
|
|
1111
1117
|
];
|
|
1112
1118
|
const rows = ( commands.sort((a, b) => a.id.localeCompare(b.id))
|
|
1113
1119
|
.map(command => {
|
|
@@ -1147,7 +1153,7 @@ CommandsTableRenderer = ( __decorate([
|
|
|
1147
1153
|
], CommandsTableRenderer));
|
|
1148
1154
|
( Registry.as(Extensions.ExtensionFeaturesRegistry)).registerExtensionFeature({
|
|
1149
1155
|
id: 'commands',
|
|
1150
|
-
label: ( localize(
|
|
1156
|
+
label: ( localize(11455, "Commands")),
|
|
1151
1157
|
access: {
|
|
1152
1158
|
canToggle: false,
|
|
1153
1159
|
},
|
|
@@ -49,39 +49,39 @@ import { IUserDataProfileService } from '@codingame/monaco-vscode-api/vscode/vs/
|
|
|
49
49
|
var WorkbenchKeybindingService_1;
|
|
50
50
|
function isValidContributedKeyBinding(keyBinding, rejects) {
|
|
51
51
|
if (!keyBinding) {
|
|
52
|
-
rejects.push(( localize(
|
|
52
|
+
rejects.push(( localize(11822, "expected non-empty value.")));
|
|
53
53
|
return false;
|
|
54
54
|
}
|
|
55
55
|
if (typeof keyBinding.command !== 'string') {
|
|
56
56
|
rejects.push(( localize(
|
|
57
|
-
|
|
57
|
+
11823,
|
|
58
58
|
"property `{0}` is mandatory and must be of type `string`",
|
|
59
59
|
'command'
|
|
60
60
|
)));
|
|
61
61
|
return false;
|
|
62
62
|
}
|
|
63
63
|
if (keyBinding.key && typeof keyBinding.key !== 'string') {
|
|
64
|
-
rejects.push(( localize(
|
|
64
|
+
rejects.push(( localize(11824, "property `{0}` can be omitted or must be of type `string`", 'key')));
|
|
65
65
|
return false;
|
|
66
66
|
}
|
|
67
67
|
if (keyBinding.when && typeof keyBinding.when !== 'string') {
|
|
68
|
-
rejects.push(( localize(
|
|
68
|
+
rejects.push(( localize(11824, "property `{0}` can be omitted or must be of type `string`", 'when')));
|
|
69
69
|
return false;
|
|
70
70
|
}
|
|
71
71
|
if (keyBinding.mac && typeof keyBinding.mac !== 'string') {
|
|
72
|
-
rejects.push(( localize(
|
|
72
|
+
rejects.push(( localize(11824, "property `{0}` can be omitted or must be of type `string`", 'mac')));
|
|
73
73
|
return false;
|
|
74
74
|
}
|
|
75
75
|
if (keyBinding.linux && typeof keyBinding.linux !== 'string') {
|
|
76
76
|
rejects.push(( localize(
|
|
77
|
-
|
|
77
|
+
11824,
|
|
78
78
|
"property `{0}` can be omitted or must be of type `string`",
|
|
79
79
|
'linux'
|
|
80
80
|
)));
|
|
81
81
|
return false;
|
|
82
82
|
}
|
|
83
83
|
if (keyBinding.win && typeof keyBinding.win !== 'string') {
|
|
84
|
-
rejects.push(( localize(
|
|
84
|
+
rejects.push(( localize(11824, "property `{0}` can be omitted or must be of type `string`", 'win')));
|
|
85
85
|
return false;
|
|
86
86
|
}
|
|
87
87
|
return true;
|
|
@@ -91,33 +91,33 @@ const keybindingType = {
|
|
|
91
91
|
default: { command: '', key: '' },
|
|
92
92
|
properties: {
|
|
93
93
|
command: {
|
|
94
|
-
description: ( localize(
|
|
94
|
+
description: ( localize(11825, 'Identifier of the command to run when keybinding is triggered.')),
|
|
95
95
|
type: 'string'
|
|
96
96
|
},
|
|
97
97
|
args: {
|
|
98
|
-
description: ( localize(
|
|
98
|
+
description: ( localize(11826, "Arguments to pass to the command to execute."))
|
|
99
99
|
},
|
|
100
100
|
key: {
|
|
101
101
|
description: ( localize(
|
|
102
|
-
|
|
102
|
+
11827,
|
|
103
103
|
'Key or key sequence (separate keys with plus-sign and sequences with space, e.g. Ctrl+O and Ctrl+L L for a chord).'
|
|
104
104
|
)),
|
|
105
105
|
type: 'string'
|
|
106
106
|
},
|
|
107
107
|
mac: {
|
|
108
|
-
description: ( localize(
|
|
108
|
+
description: ( localize(11828, 'Mac specific key or key sequence.')),
|
|
109
109
|
type: 'string'
|
|
110
110
|
},
|
|
111
111
|
linux: {
|
|
112
|
-
description: ( localize(
|
|
112
|
+
description: ( localize(11829, 'Linux specific key or key sequence.')),
|
|
113
113
|
type: 'string'
|
|
114
114
|
},
|
|
115
115
|
win: {
|
|
116
|
-
description: ( localize(
|
|
116
|
+
description: ( localize(11830, 'Windows specific key or key sequence.')),
|
|
117
117
|
type: 'string'
|
|
118
118
|
},
|
|
119
119
|
when: {
|
|
120
|
-
description: ( localize(
|
|
120
|
+
description: ( localize(11831, 'Condition when the key is active.')),
|
|
121
121
|
type: 'string'
|
|
122
122
|
},
|
|
123
123
|
}
|
|
@@ -126,7 +126,7 @@ const keybindingsExtPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
|
126
126
|
extensionPoint: 'keybindings',
|
|
127
127
|
deps: [commandsExtensionPoint],
|
|
128
128
|
jsonSchema: {
|
|
129
|
-
description: ( localize(
|
|
129
|
+
description: ( localize(11832, "Contributes keybindings.")),
|
|
130
130
|
oneOf: [
|
|
131
131
|
keybindingType,
|
|
132
132
|
{
|
|
@@ -505,7 +505,7 @@ let WorkbenchKeybindingService = WorkbenchKeybindingService_1 = class WorkbenchK
|
|
|
505
505
|
}
|
|
506
506
|
if (rejects.length > 0) {
|
|
507
507
|
collector.error(( localize(
|
|
508
|
-
|
|
508
|
+
11833,
|
|
509
509
|
"Invalid `contributes.{0}`: {1}",
|
|
510
510
|
keybindingsExtPoint.name,
|
|
511
511
|
rejects.join('\n')
|
|
@@ -593,7 +593,7 @@ let WorkbenchKeybindingService = WorkbenchKeybindingService_1 = class WorkbenchK
|
|
|
593
593
|
static _getAllCommandsAsComment(boundCommands) {
|
|
594
594
|
const unboundCommands = getAllUnboundCommands(boundCommands);
|
|
595
595
|
const pretty = unboundCommands.sort().join('\n// - ');
|
|
596
|
-
return '// ' + ( localize(
|
|
596
|
+
return '// ' + ( localize(11834, "Here are other available commands: ")) + '\n// - ' + pretty;
|
|
597
597
|
}
|
|
598
598
|
mightProducePrintableCharacter(event) {
|
|
599
599
|
if (event.ctrlKey || event.metaKey || event.altKey) {
|
|
@@ -718,7 +718,7 @@ class KeybindingsJsonSchema {
|
|
|
718
718
|
this.schema = {
|
|
719
719
|
id: KeybindingsJsonSchema.schemaId,
|
|
720
720
|
type: 'array',
|
|
721
|
-
title: ( localize(
|
|
721
|
+
title: ( localize(11835, "Keybindings configuration")),
|
|
722
722
|
allowTrailingCommas: true,
|
|
723
723
|
allowComments: true,
|
|
724
724
|
definitions: {
|
|
@@ -742,7 +742,7 @@ class KeybindingsJsonSchema {
|
|
|
742
742
|
'type': 'string',
|
|
743
743
|
'enum': this.commandsEnum,
|
|
744
744
|
'enumDescriptions': this.commandsEnumDescriptions,
|
|
745
|
-
'description': ( localize(
|
|
745
|
+
'description': ( localize(11836, "Name of the command to execute")),
|
|
746
746
|
},
|
|
747
747
|
'commandType': {
|
|
748
748
|
'anyOf': [
|
|
@@ -753,7 +753,7 @@ class KeybindingsJsonSchema {
|
|
|
753
753
|
'type': 'string',
|
|
754
754
|
'enum': this.removalCommandsEnum,
|
|
755
755
|
'enumDescriptions': this.commandsEnumDescriptions,
|
|
756
|
-
'description': ( localize(
|
|
756
|
+
'description': ( localize(11837, "Name of the command to remove keyboard shortcut for")),
|
|
757
757
|
},
|
|
758
758
|
{
|
|
759
759
|
'type': 'string'
|
|
@@ -771,7 +771,7 @@ class KeybindingsJsonSchema {
|
|
|
771
771
|
'properties': {
|
|
772
772
|
'key': {
|
|
773
773
|
'type': 'string',
|
|
774
|
-
'description': ( localize(
|
|
774
|
+
'description': ( localize(11838, "Key or key sequence (separated by space)")),
|
|
775
775
|
},
|
|
776
776
|
'command': {
|
|
777
777
|
'anyOf': [
|
|
@@ -784,7 +784,7 @@ class KeybindingsJsonSchema {
|
|
|
784
784
|
'type': 'array'
|
|
785
785
|
},
|
|
786
786
|
'errorMessage': ( localize(
|
|
787
|
-
|
|
787
|
+
11839,
|
|
788
788
|
"Incorrect type. Expected \"{0}\". The field 'command' does not support running multiple commands. Use command 'runCommands' to pass it multiple commands to run.",
|
|
789
789
|
'string'
|
|
790
790
|
))
|
|
@@ -800,10 +800,10 @@ class KeybindingsJsonSchema {
|
|
|
800
800
|
},
|
|
801
801
|
'when': {
|
|
802
802
|
'type': 'string',
|
|
803
|
-
'description': ( localize(
|
|
803
|
+
'description': ( localize(11840, "Condition when the key is active."))
|
|
804
804
|
},
|
|
805
805
|
'args': {
|
|
806
|
-
'description': ( localize(
|
|
806
|
+
'description': ( localize(11841, "Arguments to pass to the command to execute."))
|
|
807
807
|
}
|
|
808
808
|
},
|
|
809
809
|
'$ref': '#/definitions/commandsSchemas'
|
|
@@ -483,12 +483,12 @@ const keyboardConfiguration = {
|
|
|
483
483
|
'id': 'keyboard',
|
|
484
484
|
'order': 15,
|
|
485
485
|
'type': 'object',
|
|
486
|
-
'title': ( localize(
|
|
486
|
+
'title': ( localize(11842, "Keyboard")),
|
|
487
487
|
'properties': {
|
|
488
488
|
'keyboard.layout': {
|
|
489
489
|
'type': 'string',
|
|
490
490
|
'default': 'autodetect',
|
|
491
|
-
'description': ( localize(
|
|
491
|
+
'description': ( localize(11843, "Control the keyboard layout used in web."))
|
|
492
492
|
}
|
|
493
493
|
}
|
|
494
494
|
};
|