@codingame/monaco-vscode-api 1.83.2 → 1.83.3
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/extensions.d.ts +3 -3
- package/extensions.js +31 -33
- package/l10n.d.ts +4 -0
- package/l10n.js +10 -0
- package/missing-services.js +4 -2
- package/monaco-editor-treemending.patch +11880 -682
- package/monaco-treemending.js +8 -2
- package/package.json +8 -1
- package/service-override/extensions.js +2 -2
- package/service-override/layout.js +2 -2
- package/tools/l10n.js +177 -0
- package/tools.js +22 -1
- package/vscode/src/vs/base/browser/ui/menu/menubar.js +1 -1
- package/vscode/src/vs/base/browser/ui/splitview/paneview.js +2 -2
- package/vscode/src/vs/base/common/date.js +55 -55
- package/vscode/src/vs/base/common/jsonErrorMessages.js +10 -10
- package/vscode/src/vs/base/common/tfIdf.js +137 -0
- package/vscode/src/vs/editor/contrib/quickAccess/browser/commandsQuickAccess.js +23 -0
- package/vscode/src/vs/editor/contrib/quickAccess/browser/editorNavigationQuickAccess.js +115 -0
- package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +112 -0
- package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess.js +334 -0
- package/vscode/src/vs/platform/dialogs/common/dialogs.js +10 -14
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +3 -0
- package/vscode/src/vs/platform/extensionManagement/common/extensionNls.js +2 -2
- package/vscode/src/vs/platform/files/common/fileService.js +28 -37
- package/vscode/src/vs/platform/files/common/files.js +6 -6
- package/vscode/src/vs/platform/files/common/io.js +2 -2
- package/vscode/src/vs/platform/keyboardLayout/common/keyboardConfig.js +3 -9
- package/vscode/src/vs/platform/quickinput/browser/commandsQuickAccess.js +300 -0
- package/vscode/src/vs/platform/quickinput/browser/helpQuickAccess.js +59 -0
- package/vscode/src/vs/platform/quickinput/browser/pickerQuickAccess.js +212 -0
- package/vscode/src/vs/platform/request/common/request.js +2 -2
- package/vscode/src/vs/platform/theme/common/tokenClassificationRegistry.js +42 -63
- package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.js +13 -32
- package/vscode/src/vs/workbench/api/browser/mainThreadComments.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.js +3 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadEditSessionIdentityParticipant.js +4 -5
- package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.js +38 -50
- package/vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.js +21 -53
- package/vscode/src/vs/workbench/api/browser/mainThreadMessageService.js +4 -4
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.js +4 -5
- package/vscode/src/vs/workbench/api/browser/mainThreadProgress.js +6 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.js +4 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.js +2 -12
- package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.js +15 -9
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.js +2 -6
- package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.js +6 -28
- package/vscode/src/vs/workbench/api/browser/statusBarExtensionPoint.js +60 -0
- package/vscode/src/vs/workbench/api/common/extHostChat.js +3 -3
- package/vscode/src/vs/workbench/api/common/extHostDiagnostics.js +2 -6
- package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +3 -11
- package/vscode/src/vs/workbench/api/common/extHostLogService.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostNotebook.js +3 -3
- package/vscode/src/vs/workbench/api/common/extHostProgress.js +2 -6
- package/vscode/src/vs/workbench/api/common/extHostStatusBar.js +3 -7
- package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +2 -6
- package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +2 -6
- package/vscode/src/vs/workbench/api/common/extHostTreeViews.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +2 -7
- package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +9 -34
- package/vscode/src/vs/workbench/browser/actions/layoutActions.js +898 -68
- package/vscode/src/vs/workbench/browser/actions/quickAccessActions.js +7 -7
- package/vscode/src/vs/workbench/browser/actions/windowActions.js +32 -38
- package/vscode/src/vs/workbench/browser/actions/workspaceActions.js +103 -13
- package/vscode/src/vs/workbench/browser/actions/workspaceCommands.js +2 -2
- package/vscode/src/vs/workbench/browser/editor.js +3 -3
- package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +12 -27
- package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +12 -12
- package/vscode/src/vs/workbench/browser/parts/editor/binaryDiffEditor.js +2 -7
- package/vscode/src/vs/workbench/browser/parts/editor/binaryEditor.js +4 -7
- package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbs.js +42 -90
- package/vscode/src/vs/workbench/browser/parts/editor/editor.contribution.js +140 -272
- package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +115 -148
- package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +21 -33
- package/vscode/src/vs/workbench/browser/parts/editor/editorConfiguration.js +7 -19
- package/vscode/src/vs/workbench/browser/parts/editor/editorPlaceholder.js +10 -26
- package/vscode/src/vs/workbench/browser/parts/editor/editorQuickAccess.js +7 -17
- package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +60 -81
- package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +2 -2
- package/vscode/src/vs/workbench/browser/parts/editor/textCodeEditor.js +2 -2
- package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +4 -11
- package/vscode/src/vs/workbench/browser/parts/editor/textEditor.js +2 -2
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +8 -8
- package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +69 -34
- package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +58 -34
- package/vscode/src/vs/workbench/browser/parts/views/viewFilter.js +2 -2
- package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +3 -9
- package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +6 -6
- package/vscode/src/vs/workbench/browser/parts/views/viewsService.js +7 -11
- package/vscode/src/vs/workbench/browser/quickaccess.js +7 -3
- package/vscode/src/vs/workbench/browser/workbench.contribution.js +186 -683
- package/vscode/src/vs/workbench/common/configuration.js +12 -15
- package/vscode/src/vs/workbench/common/contextkeys.js +272 -90
- package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +2 -2
- package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +2 -7
- package/vscode/src/vs/workbench/common/editor/textEditorModel.js +2 -6
- package/vscode/src/vs/workbench/common/editor.js +5 -5
- package/vscode/src/vs/workbench/common/theme.js +137 -527
- package/vscode/src/vs/workbench/common/views.js +4 -8
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +15 -55
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityContributions.js +3 -8
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleView.js +22 -60
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +9 -15
- package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkEditService.js +18 -48
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +2 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +5 -10
- package/vscode/src/vs/workbench/contrib/chat/common/chatSlashCommands.js +5 -13
- package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +8 -27
- package/vscode/src/vs/workbench/contrib/codeActions/common/codeActionsExtensionPoint.js +5 -17
- package/vscode/src/vs/workbench/contrib/codeActions/common/documentationExtensionPoint.js +6 -15
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +7 -20
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/inspectEditorTokens/inspectEditorTokens.js +2 -2
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/languageConfigurationExtensionPoint.js +63 -216
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +4 -7
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoLineQuickAccess.js +5 -8
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +8 -11
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +5 -15
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +3 -3
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +5 -5
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +3 -6
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +3 -6
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +10 -9
- package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +6 -15
- package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +5 -20
- package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +3 -10
- package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +4 -4
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +3 -20
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +9 -3
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +4 -13
- package/vscode/src/vs/workbench/contrib/comments/browser/comments.contribution.js +26 -77
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +5 -17
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +7 -12
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +10 -29
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsViewActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/comments/browser/reactionsAction.js +8 -8
- package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +25 -21
- package/vscode/src/vs/workbench/contrib/comments/common/commentModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/customEditor/common/customEditor.js +1 -4
- package/vscode/src/vs/workbench/contrib/debug/browser/debugColors.js +13 -13
- package/vscode/src/vs/workbench/contrib/debug/browser/debugIcons.js +56 -98
- package/vscode/src/vs/workbench/contrib/debug/common/abstractDebugAdapter.js +2 -2
- package/vscode/src/vs/workbench/contrib/debug/common/debug.js +96 -180
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsIcons.js +25 -79
- package/vscode/src/vs/workbench/contrib/externalUriOpener/common/configuration.js +4 -15
- package/vscode/src/vs/workbench/contrib/externalUriOpener/common/externalUriOpenerService.js +4 -8
- package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +56 -19
- package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +76 -230
- package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +6 -5
- package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +33 -103
- package/vscode/src/vs/workbench/contrib/files/browser/files.contribution.js +228 -99
- package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +1 -1
- package/vscode/src/vs/workbench/contrib/files/browser/views/explorerDecorationsProvider.js +5 -9
- package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +5 -5
- package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +15 -35
- package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +5 -8
- package/vscode/src/vs/workbench/contrib/files/common/files.js +27 -48
- package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +3 -6
- package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +5 -8
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +112 -52
- package/vscode/src/vs/workbench/contrib/keybindings/browser/keybindings.contribution.js +1 -1
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +30 -96
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +3 -3
- package/vscode/src/vs/workbench/contrib/mergeEditor/common/mergeEditor.js +42 -0
- package/vscode/src/vs/workbench/contrib/output/browser/output.contribution.js +23 -29
- package/vscode/src/vs/workbench/contrib/output/browser/outputView.js +3 -3
- package/vscode/src/vs/workbench/contrib/quickaccess/browser/commandsQuickAccess.js +13 -16
- package/vscode/src/vs/workbench/contrib/quickaccess/browser/quickAccess.contribution.js +15 -34
- package/vscode/src/vs/workbench/contrib/quickaccess/browser/viewQuickAccess.js +12 -17
- package/vscode/src/vs/workbench/contrib/scm/browser/dirtyDiffSwitcher.js +2 -2
- package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +26 -75
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +4 -19
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +4 -4
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +10 -41
- package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +5 -14
- package/vscode/src/vs/workbench/contrib/tasks/common/taskService.js +26 -13
- package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +8 -6
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +5 -17
- package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +7 -28
- package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +21 -78
- package/vscode/src/vs/workbench/contrib/terminal/common/terminalContextKey.js +21 -53
- package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +2 -2
- package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +2 -5
- package/vscode/src/vs/workbench/services/actions/common/menusExtensionPoint.js +113 -348
- package/vscode/src/vs/workbench/services/assignment/common/assignmentService.js +2 -5
- package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +31 -1
- package/vscode/src/vs/workbench/services/configuration/common/jsonEditingService.js +1 -4
- package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +16 -16
- package/vscode/src/vs/workbench/services/decorations/browser/decorationsService.js +2 -2
- package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +2 -5
- package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +4 -4
- package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +10 -45
- package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +1 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +80 -296
- package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +6 -21
- package/vscode/src/vs/workbench/services/host/browser/browserHostService.js +3 -6
- package/vscode/src/vs/workbench/services/keybinding/browser/keybindingService.js +24 -81
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayoutService.js +2 -2
- package/vscode/src/vs/workbench/services/keybinding/common/keybindingEditing.js +11 -17
- package/vscode/src/vs/workbench/services/language/common/languageService.js +23 -98
- package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +9 -11
- package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +1 -5
- package/vscode/src/vs/workbench/services/textfile/browser/textFileService.js +11 -23
- package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +2 -2
- package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModelManager.js +2 -7
- package/vscode/src/vs/workbench/services/textfile/common/textFileSaveParticipant.js +2 -2
- package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +16 -53
- package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +50 -1
- package/vscode/src/vs/workbench/services/themes/common/tokenClassificationExtensionPoint.js +25 -99
- package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.js +6 -3
- package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +15 -3
- package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopySaveParticipant.js +2 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
|
|
2
2
|
import { isFalsyOrWhitespace } from 'monaco-editor/esm/vs/base/common/strings.js';
|
|
3
3
|
import * as resources from 'monaco-editor/esm/vs/base/common/resources.js';
|
|
4
4
|
import { ExtensionsRegistry } from '../../extensions/common/extensionsRegistry.js';
|
|
@@ -12,367 +12,313 @@ const apiMenus = [
|
|
|
12
12
|
{
|
|
13
13
|
key: 'commandPalette',
|
|
14
14
|
id: MenuId.CommandPalette,
|
|
15
|
-
description: (
|
|
15
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'menus.commandPalette', "The Command Palette"),
|
|
16
16
|
supportsSubmenus: false
|
|
17
17
|
},
|
|
18
18
|
{
|
|
19
19
|
key: 'touchBar',
|
|
20
20
|
id: MenuId.TouchBarContext,
|
|
21
|
-
description: (
|
|
21
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'menus.touchBar', "The touch bar (macOS only)"),
|
|
22
22
|
supportsSubmenus: false
|
|
23
23
|
},
|
|
24
24
|
{
|
|
25
25
|
key: 'editor/title',
|
|
26
26
|
id: MenuId.EditorTitle,
|
|
27
|
-
description: (
|
|
27
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'menus.editorTitle', "The editor title menu")
|
|
28
28
|
},
|
|
29
29
|
{
|
|
30
30
|
key: 'editor/title/run',
|
|
31
31
|
id: MenuId.EditorTitleRun,
|
|
32
|
-
description: (
|
|
32
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'menus.editorTitleRun', "Run submenu inside the editor title menu")
|
|
33
33
|
},
|
|
34
34
|
{
|
|
35
35
|
key: 'editor/context',
|
|
36
36
|
id: MenuId.EditorContext,
|
|
37
|
-
description: (
|
|
37
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'menus.editorContext', "The editor context menu")
|
|
38
38
|
},
|
|
39
39
|
{
|
|
40
40
|
key: 'editor/context/copy',
|
|
41
41
|
id: MenuId.EditorContextCopy,
|
|
42
|
-
description: (
|
|
43
|
-
'menus.editorContextCopyAs',
|
|
44
|
-
"'Copy as' submenu in the editor context menu"
|
|
45
|
-
))
|
|
42
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'menus.editorContextCopyAs', "'Copy as' submenu in the editor context menu")
|
|
46
43
|
},
|
|
47
44
|
{
|
|
48
45
|
key: 'editor/context/share',
|
|
49
46
|
id: MenuId.EditorContextShare,
|
|
50
|
-
description: (
|
|
47
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'menus.editorContextShare', "'Share' submenu in the editor context menu"),
|
|
51
48
|
proposed: 'contribShareMenu'
|
|
52
49
|
},
|
|
53
50
|
{
|
|
54
51
|
key: 'explorer/context',
|
|
55
52
|
id: MenuId.ExplorerContext,
|
|
56
|
-
description: (
|
|
53
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'menus.explorerContext', "The file explorer context menu")
|
|
57
54
|
},
|
|
58
55
|
{
|
|
59
56
|
key: 'explorer/context/share',
|
|
60
57
|
id: MenuId.ExplorerContextShare,
|
|
61
|
-
description: (
|
|
62
|
-
'menus.explorerContextShare',
|
|
63
|
-
"'Share' submenu in the file explorer context menu"
|
|
64
|
-
)),
|
|
58
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'menus.explorerContextShare', "'Share' submenu in the file explorer context menu"),
|
|
65
59
|
proposed: 'contribShareMenu'
|
|
66
60
|
},
|
|
67
61
|
{
|
|
68
62
|
key: 'editor/title/context',
|
|
69
63
|
id: MenuId.EditorTitleContext,
|
|
70
|
-
description: (
|
|
64
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'menus.editorTabContext', "The editor tabs context menu")
|
|
71
65
|
},
|
|
72
66
|
{
|
|
73
67
|
key: 'editor/title/context/share',
|
|
74
68
|
id: MenuId.EditorTitleContextShare,
|
|
75
|
-
description: (
|
|
76
|
-
'menus.editorTitleContextShare',
|
|
77
|
-
"'Share' submenu inside the editor title context menu"
|
|
78
|
-
)),
|
|
69
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'menus.editorTitleContextShare', "'Share' submenu inside the editor title context menu"),
|
|
79
70
|
proposed: 'contribShareMenu'
|
|
80
71
|
},
|
|
81
72
|
{
|
|
82
73
|
key: 'debug/callstack/context',
|
|
83
74
|
id: MenuId.DebugCallStackContext,
|
|
84
|
-
description: (
|
|
75
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'menus.debugCallstackContext', "The debug callstack view context menu")
|
|
85
76
|
},
|
|
86
77
|
{
|
|
87
78
|
key: 'debug/variables/context',
|
|
88
79
|
id: MenuId.DebugVariablesContext,
|
|
89
|
-
description: (
|
|
80
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'menus.debugVariablesContext', "The debug variables view context menu")
|
|
90
81
|
},
|
|
91
82
|
{
|
|
92
83
|
key: 'debug/toolBar',
|
|
93
84
|
id: MenuId.DebugToolBar,
|
|
94
|
-
description: (
|
|
85
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'menus.debugToolBar', "The debug toolbar menu")
|
|
95
86
|
},
|
|
96
87
|
{
|
|
97
88
|
key: 'menuBar/home',
|
|
98
89
|
id: MenuId.MenubarHomeMenu,
|
|
99
|
-
description: (
|
|
90
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'menus.home', "The home indicator context menu (web only)"),
|
|
100
91
|
proposed: 'contribMenuBarHome',
|
|
101
92
|
supportsSubmenus: false
|
|
102
93
|
},
|
|
103
94
|
{
|
|
104
95
|
key: 'menuBar/edit/copy',
|
|
105
96
|
id: MenuId.MenubarCopy,
|
|
106
|
-
description: (
|
|
97
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'menus.opy', "'Copy as' submenu in the top level Edit menu")
|
|
107
98
|
},
|
|
108
99
|
{
|
|
109
100
|
key: 'scm/title',
|
|
110
101
|
id: MenuId.SCMTitle,
|
|
111
|
-
description: (
|
|
102
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'menus.scmTitle', "The Source Control title menu")
|
|
112
103
|
},
|
|
113
104
|
{
|
|
114
105
|
key: 'scm/sourceControl',
|
|
115
106
|
id: MenuId.SCMSourceControl,
|
|
116
|
-
description: (
|
|
107
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'menus.scmSourceControl', "The Source Control menu")
|
|
117
108
|
},
|
|
118
109
|
{
|
|
119
110
|
key: 'scm/resourceState/context',
|
|
120
111
|
id: MenuId.SCMResourceContext,
|
|
121
|
-
description: (
|
|
122
|
-
'menus.resourceStateContext',
|
|
123
|
-
"The Source Control resource state context menu"
|
|
124
|
-
))
|
|
112
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'menus.resourceStateContext', "The Source Control resource state context menu")
|
|
125
113
|
},
|
|
126
114
|
{
|
|
127
115
|
key: 'scm/resourceFolder/context',
|
|
128
116
|
id: MenuId.SCMResourceFolderContext,
|
|
129
|
-
description: (
|
|
130
|
-
'menus.resourceFolderContext',
|
|
131
|
-
"The Source Control resource folder context menu"
|
|
132
|
-
))
|
|
117
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'menus.resourceFolderContext', "The Source Control resource folder context menu")
|
|
133
118
|
},
|
|
134
119
|
{
|
|
135
120
|
key: 'scm/resourceGroup/context',
|
|
136
121
|
id: MenuId.SCMResourceGroupContext,
|
|
137
|
-
description: (
|
|
138
|
-
'menus.resourceGroupContext',
|
|
139
|
-
"The Source Control resource group context menu"
|
|
140
|
-
))
|
|
122
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'menus.resourceGroupContext', "The Source Control resource group context menu")
|
|
141
123
|
},
|
|
142
124
|
{
|
|
143
125
|
key: 'scm/change/title',
|
|
144
126
|
id: MenuId.SCMChangeContext,
|
|
145
|
-
description: (
|
|
127
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'menus.changeTitle', "The Source Control inline change menu")
|
|
146
128
|
},
|
|
147
129
|
{
|
|
148
130
|
key: 'statusBar/remoteIndicator',
|
|
149
131
|
id: MenuId.StatusBarRemoteIndicatorMenu,
|
|
150
|
-
description: (
|
|
151
|
-
'menus.statusBarRemoteIndicator',
|
|
152
|
-
"The remote indicator menu in the status bar"
|
|
153
|
-
)),
|
|
132
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'menus.statusBarRemoteIndicator', "The remote indicator menu in the status bar"),
|
|
154
133
|
supportsSubmenus: false
|
|
155
134
|
},
|
|
156
135
|
{
|
|
157
136
|
key: 'terminal/context',
|
|
158
137
|
id: MenuId.TerminalInstanceContext,
|
|
159
|
-
description: (
|
|
138
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'menus.terminalContext', "The terminal context menu")
|
|
160
139
|
},
|
|
161
140
|
{
|
|
162
141
|
key: 'terminal/title/context',
|
|
163
142
|
id: MenuId.TerminalTabContext,
|
|
164
|
-
description: (
|
|
143
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'menus.terminalTabContext', "The terminal tabs context menu")
|
|
165
144
|
},
|
|
166
145
|
{
|
|
167
146
|
key: 'view/title',
|
|
168
147
|
id: MenuId.ViewTitle,
|
|
169
|
-
description: (
|
|
148
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'view.viewTitle', "The contributed view title menu")
|
|
170
149
|
},
|
|
171
150
|
{
|
|
172
151
|
key: 'view/item/context',
|
|
173
152
|
id: MenuId.ViewItemContext,
|
|
174
|
-
description: (
|
|
153
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'view.itemContext', "The contributed view item context menu")
|
|
175
154
|
},
|
|
176
155
|
{
|
|
177
156
|
key: 'comments/comment/editorActions',
|
|
178
157
|
id: MenuId.CommentEditorActions,
|
|
179
|
-
description: (
|
|
158
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'commentThread.editorActions', "The contributed comment editor actions"),
|
|
180
159
|
proposed: 'contribCommentEditorActionsMenu'
|
|
181
160
|
},
|
|
182
161
|
{
|
|
183
162
|
key: 'comments/commentThread/title',
|
|
184
163
|
id: MenuId.CommentThreadTitle,
|
|
185
|
-
description: (
|
|
164
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'commentThread.title', "The contributed comment thread title menu")
|
|
186
165
|
},
|
|
187
166
|
{
|
|
188
167
|
key: 'comments/commentThread/context',
|
|
189
168
|
id: MenuId.CommentThreadActions,
|
|
190
|
-
description: (
|
|
191
|
-
'commentThread.actions',
|
|
192
|
-
"The contributed comment thread context menu, rendered as buttons below the comment editor"
|
|
193
|
-
)),
|
|
169
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'commentThread.actions', "The contributed comment thread context menu, rendered as buttons below the comment editor"),
|
|
194
170
|
supportsSubmenus: false
|
|
195
171
|
},
|
|
196
172
|
{
|
|
197
173
|
key: 'comments/commentThread/additionalActions',
|
|
198
174
|
id: MenuId.CommentThreadAdditionalActions,
|
|
199
|
-
description: (
|
|
200
|
-
'commentThread.actions',
|
|
201
|
-
"The contributed comment thread context menu, rendered as buttons below the comment editor"
|
|
202
|
-
)),
|
|
175
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'commentThread.actions', "The contributed comment thread context menu, rendered as buttons below the comment editor"),
|
|
203
176
|
supportsSubmenus: false,
|
|
204
177
|
proposed: 'contribCommentThreadAdditionalMenu'
|
|
205
178
|
},
|
|
206
179
|
{
|
|
207
180
|
key: 'comments/commentThread/title/context',
|
|
208
181
|
id: MenuId.CommentThreadTitleContext,
|
|
209
|
-
description: (
|
|
210
|
-
'commentThread.titleContext',
|
|
211
|
-
"The contributed comment thread title's peek context menu, rendered as a right click menu on the comment thread's peek title."
|
|
212
|
-
)),
|
|
182
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'commentThread.titleContext', "The contributed comment thread title's peek context menu, rendered as a right click menu on the comment thread's peek title."),
|
|
213
183
|
proposed: 'contribCommentPeekContext'
|
|
214
184
|
},
|
|
215
185
|
{
|
|
216
186
|
key: 'comments/comment/title',
|
|
217
187
|
id: MenuId.CommentTitle,
|
|
218
|
-
description: (
|
|
188
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'comment.title', "The contributed comment title menu")
|
|
219
189
|
},
|
|
220
190
|
{
|
|
221
191
|
key: 'comments/comment/context',
|
|
222
192
|
id: MenuId.CommentActions,
|
|
223
|
-
description: (
|
|
224
|
-
'comment.actions',
|
|
225
|
-
"The contributed comment context menu, rendered as buttons below the comment editor"
|
|
226
|
-
)),
|
|
193
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'comment.actions', "The contributed comment context menu, rendered as buttons below the comment editor"),
|
|
227
194
|
supportsSubmenus: false
|
|
228
195
|
},
|
|
229
196
|
{
|
|
230
197
|
key: 'comments/commentThread/comment/context',
|
|
231
198
|
id: MenuId.CommentThreadCommentContext,
|
|
232
|
-
description: (
|
|
233
|
-
'comment.commentContext',
|
|
234
|
-
"The contributed comment context menu, rendered as a right click menu on the an individual comment in the comment thread's peek view."
|
|
235
|
-
)),
|
|
199
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'comment.commentContext', "The contributed comment context menu, rendered as a right click menu on the an individual comment in the comment thread's peek view."),
|
|
236
200
|
proposed: 'contribCommentPeekContext'
|
|
237
201
|
},
|
|
238
202
|
{
|
|
239
203
|
key: 'notebook/toolbar',
|
|
240
204
|
id: MenuId.NotebookToolbar,
|
|
241
|
-
description: (
|
|
205
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'notebook.toolbar', "The contributed notebook toolbar menu")
|
|
242
206
|
},
|
|
243
207
|
{
|
|
244
208
|
key: 'notebook/kernelSource',
|
|
245
209
|
id: MenuId.NotebookKernelSource,
|
|
246
|
-
description: (
|
|
210
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'notebook.kernelSource', "The contributed notebook kernel sources menu"),
|
|
247
211
|
proposed: 'notebookKernelSource'
|
|
248
212
|
},
|
|
249
213
|
{
|
|
250
214
|
key: 'notebook/cell/title',
|
|
251
215
|
id: MenuId.NotebookCellTitle,
|
|
252
|
-
description: (
|
|
216
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'notebook.cell.title', "The contributed notebook cell title menu")
|
|
253
217
|
},
|
|
254
218
|
{
|
|
255
219
|
key: 'notebook/cell/execute',
|
|
256
220
|
id: MenuId.NotebookCellExecute,
|
|
257
|
-
description: (
|
|
221
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'notebook.cell.execute', "The contributed notebook cell execution menu")
|
|
258
222
|
},
|
|
259
223
|
{
|
|
260
224
|
key: 'interactive/toolbar',
|
|
261
225
|
id: MenuId.InteractiveToolbar,
|
|
262
|
-
description: (
|
|
226
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'interactive.toolbar', "The contributed interactive toolbar menu"),
|
|
263
227
|
},
|
|
264
228
|
{
|
|
265
229
|
key: 'interactive/cell/title',
|
|
266
230
|
id: MenuId.InteractiveCellTitle,
|
|
267
|
-
description: (
|
|
231
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'interactive.cell.title', "The contributed interactive cell title menu"),
|
|
268
232
|
},
|
|
269
233
|
{
|
|
270
234
|
key: 'testing/item/context',
|
|
271
235
|
id: MenuId.TestItem,
|
|
272
|
-
description: (
|
|
236
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'testing.item.context', "The contributed test item menu"),
|
|
273
237
|
},
|
|
274
238
|
{
|
|
275
239
|
key: 'testing/item/gutter',
|
|
276
240
|
id: MenuId.TestItemGutter,
|
|
277
|
-
description: (
|
|
278
|
-
'testing.item.gutter.title',
|
|
279
|
-
"The menu for a gutter decoration for a test item"
|
|
280
|
-
)),
|
|
241
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'testing.item.gutter.title', "The menu for a gutter decoration for a test item"),
|
|
281
242
|
},
|
|
282
243
|
{
|
|
283
244
|
key: 'testing/message/context',
|
|
284
245
|
id: MenuId.TestMessageContext,
|
|
285
|
-
description: (
|
|
286
|
-
'testing.message.context.title',
|
|
287
|
-
"A prominent button overlaying editor content where the message is displayed"
|
|
288
|
-
)),
|
|
246
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'testing.message.context.title', "A prominent button overlaying editor content where the message is displayed"),
|
|
289
247
|
},
|
|
290
248
|
{
|
|
291
249
|
key: 'testing/message/content',
|
|
292
250
|
id: MenuId.TestMessageContent,
|
|
293
|
-
description: (
|
|
294
|
-
'testing.message.content.title',
|
|
295
|
-
"Context menu for the message in the results tree"
|
|
296
|
-
)),
|
|
251
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'testing.message.content.title', "Context menu for the message in the results tree"),
|
|
297
252
|
},
|
|
298
253
|
{
|
|
299
254
|
key: 'extension/context',
|
|
300
255
|
id: MenuId.ExtensionContext,
|
|
301
|
-
description: (
|
|
256
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'menus.extensionContext', "The extension context menu")
|
|
302
257
|
},
|
|
303
258
|
{
|
|
304
259
|
key: 'timeline/title',
|
|
305
260
|
id: MenuId.TimelineTitle,
|
|
306
|
-
description: (
|
|
261
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'view.timelineTitle', "The Timeline view title menu")
|
|
307
262
|
},
|
|
308
263
|
{
|
|
309
264
|
key: 'timeline/item/context',
|
|
310
265
|
id: MenuId.TimelineItemContext,
|
|
311
|
-
description: (
|
|
266
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'view.timelineContext', "The Timeline view item context menu")
|
|
312
267
|
},
|
|
313
268
|
{
|
|
314
269
|
key: 'ports/item/context',
|
|
315
270
|
id: MenuId.TunnelContext,
|
|
316
|
-
description: (
|
|
271
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'view.tunnelContext', "The Ports view item context menu")
|
|
317
272
|
},
|
|
318
273
|
{
|
|
319
274
|
key: 'ports/item/origin/inline',
|
|
320
275
|
id: MenuId.TunnelOriginInline,
|
|
321
|
-
description: (
|
|
276
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'view.tunnelOriginInline', "The Ports view item origin inline menu")
|
|
322
277
|
},
|
|
323
278
|
{
|
|
324
279
|
key: 'ports/item/port/inline',
|
|
325
280
|
id: MenuId.TunnelPortInline,
|
|
326
|
-
description: (
|
|
281
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'view.tunnelPortInline', "The Ports view item port inline menu")
|
|
327
282
|
},
|
|
328
283
|
{
|
|
329
284
|
key: 'file/newFile',
|
|
330
285
|
id: MenuId.NewFile,
|
|
331
|
-
description: (
|
|
332
|
-
'file.newFile',
|
|
333
|
-
"The 'New File...' quick pick, shown on welcome page and File menu."
|
|
334
|
-
)),
|
|
286
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'file.newFile', "The 'New File...' quick pick, shown on welcome page and File menu."),
|
|
335
287
|
supportsSubmenus: false,
|
|
336
288
|
},
|
|
337
289
|
{
|
|
338
290
|
key: 'webview/context',
|
|
339
291
|
id: MenuId.WebviewContext,
|
|
340
|
-
description: (
|
|
292
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'webview.context', "The webview context menu")
|
|
341
293
|
},
|
|
342
294
|
{
|
|
343
295
|
key: 'file/share',
|
|
344
296
|
id: MenuId.MenubarShare,
|
|
345
|
-
description: (
|
|
297
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'menus.share', "Share submenu shown in the top level File menu."),
|
|
346
298
|
proposed: 'contribShareMenu'
|
|
347
299
|
},
|
|
348
300
|
{
|
|
349
301
|
key: 'editor/inlineCompletions/actions',
|
|
350
302
|
id: MenuId.InlineCompletionsActions,
|
|
351
|
-
description: (
|
|
352
|
-
'inlineCompletions.actions',
|
|
353
|
-
"The actions shown when hovering on an inline completion"
|
|
354
|
-
)),
|
|
303
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'inlineCompletions.actions', "The actions shown when hovering on an inline completion"),
|
|
355
304
|
supportsSubmenus: false,
|
|
356
305
|
proposed: 'inlineCompletionsAdditions'
|
|
357
306
|
},
|
|
358
307
|
{
|
|
359
308
|
key: 'editor/content',
|
|
360
309
|
id: MenuId.EditorContent,
|
|
361
|
-
description: (
|
|
310
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'merge.toolbar', "The prominent button in an editor, overlays its content"),
|
|
362
311
|
proposed: 'contribEditorContentMenu'
|
|
363
312
|
},
|
|
364
313
|
{
|
|
365
314
|
key: 'editor/lineNumber/context',
|
|
366
315
|
id: MenuId.EditorLineNumberContext,
|
|
367
|
-
description: (
|
|
368
|
-
'editorLineNumberContext',
|
|
369
|
-
"The contributed editor line number context menu"
|
|
370
|
-
))
|
|
316
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'editorLineNumberContext', "The contributed editor line number context menu")
|
|
371
317
|
},
|
|
372
318
|
{
|
|
373
319
|
key: 'mergeEditor/result/title',
|
|
374
320
|
id: MenuId.MergeInputResultToolbar,
|
|
375
|
-
description: (
|
|
321
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'menus.mergeEditorResult', "The result toolbar of the merge editor"),
|
|
376
322
|
proposed: 'contribMergeEditorMenus'
|
|
377
323
|
},
|
|
378
324
|
];
|
|
@@ -384,35 +330,19 @@ var schema;
|
|
|
384
330
|
schema.isMenuItem = isMenuItem;
|
|
385
331
|
function isValidMenuItem(item, collector) {
|
|
386
332
|
if (typeof item.command !== 'string') {
|
|
387
|
-
collector.error((
|
|
388
|
-
'requirestring',
|
|
389
|
-
"property `{0}` is mandatory and must be of type `string`",
|
|
390
|
-
'command'
|
|
391
|
-
)));
|
|
333
|
+
collector.error(localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'requirestring', "property `{0}` is mandatory and must be of type `string`", 'command'));
|
|
392
334
|
return false;
|
|
393
335
|
}
|
|
394
336
|
if (item.alt && typeof item.alt !== 'string') {
|
|
395
|
-
collector.error((
|
|
396
|
-
'optstring',
|
|
397
|
-
"property `{0}` can be omitted or must be of type `string`",
|
|
398
|
-
'alt'
|
|
399
|
-
)));
|
|
337
|
+
collector.error(localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'optstring', "property `{0}` can be omitted or must be of type `string`", 'alt'));
|
|
400
338
|
return false;
|
|
401
339
|
}
|
|
402
340
|
if (item.when && typeof item.when !== 'string') {
|
|
403
|
-
collector.error((
|
|
404
|
-
'optstring',
|
|
405
|
-
"property `{0}` can be omitted or must be of type `string`",
|
|
406
|
-
'when'
|
|
407
|
-
)));
|
|
341
|
+
collector.error(localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'optstring', "property `{0}` can be omitted or must be of type `string`", 'when'));
|
|
408
342
|
return false;
|
|
409
343
|
}
|
|
410
344
|
if (item.group && typeof item.group !== 'string') {
|
|
411
|
-
collector.error((
|
|
412
|
-
'optstring',
|
|
413
|
-
"property `{0}` can be omitted or must be of type `string`",
|
|
414
|
-
'group'
|
|
415
|
-
)));
|
|
345
|
+
collector.error(localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'optstring', "property `{0}` can be omitted or must be of type `string`", 'group'));
|
|
416
346
|
return false;
|
|
417
347
|
}
|
|
418
348
|
return true;
|
|
@@ -420,27 +350,15 @@ var schema;
|
|
|
420
350
|
schema.isValidMenuItem = isValidMenuItem;
|
|
421
351
|
function isValidSubmenuItem(item, collector) {
|
|
422
352
|
if (typeof item.submenu !== 'string') {
|
|
423
|
-
collector.error((
|
|
424
|
-
'requirestring',
|
|
425
|
-
"property `{0}` is mandatory and must be of type `string`",
|
|
426
|
-
'submenu'
|
|
427
|
-
)));
|
|
353
|
+
collector.error(localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'requirestring', "property `{0}` is mandatory and must be of type `string`", 'submenu'));
|
|
428
354
|
return false;
|
|
429
355
|
}
|
|
430
356
|
if (item.when && typeof item.when !== 'string') {
|
|
431
|
-
collector.error((
|
|
432
|
-
'optstring',
|
|
433
|
-
"property `{0}` can be omitted or must be of type `string`",
|
|
434
|
-
'when'
|
|
435
|
-
)));
|
|
357
|
+
collector.error(localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'optstring', "property `{0}` can be omitted or must be of type `string`", 'when'));
|
|
436
358
|
return false;
|
|
437
359
|
}
|
|
438
360
|
if (item.group && typeof item.group !== 'string') {
|
|
439
|
-
collector.error((
|
|
440
|
-
'optstring',
|
|
441
|
-
"property `{0}` can be omitted or must be of type `string`",
|
|
442
|
-
'group'
|
|
443
|
-
)));
|
|
361
|
+
collector.error(localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'optstring', "property `{0}` can be omitted or must be of type `string`", 'group'));
|
|
444
362
|
return false;
|
|
445
363
|
}
|
|
446
364
|
return true;
|
|
@@ -448,7 +366,7 @@ var schema;
|
|
|
448
366
|
schema.isValidSubmenuItem = isValidSubmenuItem;
|
|
449
367
|
function isValidItems(items, collector) {
|
|
450
368
|
if (!Array.isArray(items)) {
|
|
451
|
-
collector.error((
|
|
369
|
+
collector.error(localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'requirearray', "submenu items must be an array"));
|
|
452
370
|
return false;
|
|
453
371
|
}
|
|
454
372
|
for (const item of items) {
|
|
@@ -468,23 +386,15 @@ var schema;
|
|
|
468
386
|
schema.isValidItems = isValidItems;
|
|
469
387
|
function isValidSubmenu(submenu, collector) {
|
|
470
388
|
if (typeof submenu !== 'object') {
|
|
471
|
-
collector.error((
|
|
389
|
+
collector.error(localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'require', "submenu items must be an object"));
|
|
472
390
|
return false;
|
|
473
391
|
}
|
|
474
392
|
if (typeof submenu.id !== 'string') {
|
|
475
|
-
collector.error((
|
|
476
|
-
'requirestring',
|
|
477
|
-
"property `{0}` is mandatory and must be of type `string`",
|
|
478
|
-
'id'
|
|
479
|
-
)));
|
|
393
|
+
collector.error(localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'requirestring', "property `{0}` is mandatory and must be of type `string`", 'id'));
|
|
480
394
|
return false;
|
|
481
395
|
}
|
|
482
396
|
if (typeof submenu.label !== 'string') {
|
|
483
|
-
collector.error((
|
|
484
|
-
'requirestring',
|
|
485
|
-
"property `{0}` is mandatory and must be of type `string`",
|
|
486
|
-
'label'
|
|
487
|
-
)));
|
|
397
|
+
collector.error(localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'requirestring', "property `{0}` is mandatory and must be of type `string`", 'label'));
|
|
488
398
|
return false;
|
|
489
399
|
}
|
|
490
400
|
return true;
|
|
@@ -495,31 +405,19 @@ var schema;
|
|
|
495
405
|
required: ['command'],
|
|
496
406
|
properties: {
|
|
497
407
|
command: {
|
|
498
|
-
description: (
|
|
499
|
-
'vscode.extension.contributes.menuItem.command',
|
|
500
|
-
'Identifier of the command to execute. The command must be declared in the \'commands\'-section'
|
|
501
|
-
)),
|
|
408
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'vscode.extension.contributes.menuItem.command', 'Identifier of the command to execute. The command must be declared in the \'commands\'-section'),
|
|
502
409
|
type: 'string'
|
|
503
410
|
},
|
|
504
411
|
alt: {
|
|
505
|
-
description: (
|
|
506
|
-
'vscode.extension.contributes.menuItem.alt',
|
|
507
|
-
'Identifier of an alternative command to execute. The command must be declared in the \'commands\'-section'
|
|
508
|
-
)),
|
|
412
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'vscode.extension.contributes.menuItem.alt', 'Identifier of an alternative command to execute. The command must be declared in the \'commands\'-section'),
|
|
509
413
|
type: 'string'
|
|
510
414
|
},
|
|
511
415
|
when: {
|
|
512
|
-
description: (
|
|
513
|
-
'vscode.extension.contributes.menuItem.when',
|
|
514
|
-
'Condition which must be true to show this item'
|
|
515
|
-
)),
|
|
416
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'vscode.extension.contributes.menuItem.when', 'Condition which must be true to show this item'),
|
|
516
417
|
type: 'string'
|
|
517
418
|
},
|
|
518
419
|
group: {
|
|
519
|
-
description: (
|
|
520
|
-
'vscode.extension.contributes.menuItem.group',
|
|
521
|
-
'Group into which this item belongs'
|
|
522
|
-
)),
|
|
420
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'vscode.extension.contributes.menuItem.group', 'Group into which this item belongs'),
|
|
523
421
|
type: 'string'
|
|
524
422
|
}
|
|
525
423
|
}
|
|
@@ -529,24 +427,15 @@ var schema;
|
|
|
529
427
|
required: ['submenu'],
|
|
530
428
|
properties: {
|
|
531
429
|
submenu: {
|
|
532
|
-
description: (
|
|
533
|
-
'vscode.extension.contributes.menuItem.submenu',
|
|
534
|
-
'Identifier of the submenu to display in this item.'
|
|
535
|
-
)),
|
|
430
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'vscode.extension.contributes.menuItem.submenu', 'Identifier of the submenu to display in this item.'),
|
|
536
431
|
type: 'string'
|
|
537
432
|
},
|
|
538
433
|
when: {
|
|
539
|
-
description: (
|
|
540
|
-
'vscode.extension.contributes.menuItem.when',
|
|
541
|
-
'Condition which must be true to show this item'
|
|
542
|
-
)),
|
|
434
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'vscode.extension.contributes.menuItem.when', 'Condition which must be true to show this item'),
|
|
543
435
|
type: 'string'
|
|
544
436
|
},
|
|
545
437
|
group: {
|
|
546
|
-
description: (
|
|
547
|
-
'vscode.extension.contributes.menuItem.group',
|
|
548
|
-
'Group into which this item belongs'
|
|
549
|
-
)),
|
|
438
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'vscode.extension.contributes.menuItem.group', 'Group into which this item belongs'),
|
|
550
439
|
type: 'string'
|
|
551
440
|
}
|
|
552
441
|
}
|
|
@@ -556,24 +445,15 @@ var schema;
|
|
|
556
445
|
required: ['id', 'label'],
|
|
557
446
|
properties: {
|
|
558
447
|
id: {
|
|
559
|
-
description: (
|
|
560
|
-
'vscode.extension.contributes.submenu.id',
|
|
561
|
-
'Identifier of the menu to display as a submenu.'
|
|
562
|
-
)),
|
|
448
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'vscode.extension.contributes.submenu.id', 'Identifier of the menu to display as a submenu.'),
|
|
563
449
|
type: 'string'
|
|
564
450
|
},
|
|
565
451
|
label: {
|
|
566
|
-
description: (
|
|
567
|
-
'vscode.extension.contributes.submenu.label',
|
|
568
|
-
'The label of the menu item which leads to this submenu.'
|
|
569
|
-
)),
|
|
452
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'vscode.extension.contributes.submenu.label', 'The label of the menu item which leads to this submenu.'),
|
|
570
453
|
type: 'string'
|
|
571
454
|
},
|
|
572
455
|
icon: {
|
|
573
|
-
description: (
|
|
574
|
-
{ key: 'vscode.extension.contributes.submenu.icon', comment: ['do not translate or change `\\$(zap)`, \\ in front of $ is important.'] },
|
|
575
|
-
'(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)`'
|
|
576
|
-
)),
|
|
456
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', { key: 'vscode.extension.contributes.submenu.icon', comment: ['do not translate or change `\\$(zap)`, \\ in front of $ is important.'] }, '(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)`'),
|
|
577
457
|
anyOf: [{
|
|
578
458
|
type: 'string'
|
|
579
459
|
},
|
|
@@ -581,17 +461,11 @@ var schema;
|
|
|
581
461
|
type: 'object',
|
|
582
462
|
properties: {
|
|
583
463
|
light: {
|
|
584
|
-
description: (
|
|
585
|
-
'vscode.extension.contributes.submenu.icon.light',
|
|
586
|
-
'Icon path when a light theme is used'
|
|
587
|
-
)),
|
|
464
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'vscode.extension.contributes.submenu.icon.light', 'Icon path when a light theme is used'),
|
|
588
465
|
type: 'string'
|
|
589
466
|
},
|
|
590
467
|
dark: {
|
|
591
|
-
description: (
|
|
592
|
-
'vscode.extension.contributes.submenu.icon.dark',
|
|
593
|
-
'Icon path when a dark theme is used'
|
|
594
|
-
)),
|
|
468
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'vscode.extension.contributes.submenu.icon.dark', 'Icon path when a dark theme is used'),
|
|
595
469
|
type: 'string'
|
|
596
470
|
}
|
|
597
471
|
}
|
|
@@ -600,18 +474,10 @@ var schema;
|
|
|
600
474
|
}
|
|
601
475
|
};
|
|
602
476
|
schema.menusContribution = {
|
|
603
|
-
description: (
|
|
604
|
-
'vscode.extension.contributes.menus',
|
|
605
|
-
"Contributes menu items to the editor"
|
|
606
|
-
)),
|
|
477
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'vscode.extension.contributes.menus', "Contributes menu items to the editor"),
|
|
607
478
|
type: 'object',
|
|
608
479
|
properties: index(apiMenus, menu => menu.key, menu => ({
|
|
609
|
-
markdownDescription: menu.proposed ? (
|
|
610
|
-
'proposed',
|
|
611
|
-
"Proposed API, requires `enabledApiProposal: [\"{0}\"]` - {1}",
|
|
612
|
-
menu.proposed,
|
|
613
|
-
menu.description
|
|
614
|
-
)) : menu.description,
|
|
480
|
+
markdownDescription: menu.proposed ? localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'proposed', "Proposed API, requires `enabledApiProposal: [\"{0}\"]` - {1}", menu.proposed, menu.description) : menu.description,
|
|
615
481
|
type: 'array',
|
|
616
482
|
items: menu.supportsSubmenus === false ? menuItem : { oneOf: [menuItem, submenuItem] }
|
|
617
483
|
})),
|
|
@@ -622,24 +488,17 @@ var schema;
|
|
|
622
488
|
}
|
|
623
489
|
};
|
|
624
490
|
schema.submenusContribution = {
|
|
625
|
-
description: (
|
|
626
|
-
'vscode.extension.contributes.submenus',
|
|
627
|
-
"Contributes submenu items to the editor"
|
|
628
|
-
)),
|
|
491
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'vscode.extension.contributes.submenus', "Contributes submenu items to the editor"),
|
|
629
492
|
type: 'array',
|
|
630
493
|
items: submenu
|
|
631
494
|
};
|
|
632
495
|
function isValidCommand(command, collector) {
|
|
633
496
|
if (!command) {
|
|
634
|
-
collector.error((
|
|
497
|
+
collector.error(localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'nonempty', "expected non-empty value."));
|
|
635
498
|
return false;
|
|
636
499
|
}
|
|
637
500
|
if (isFalsyOrWhitespace(command.command)) {
|
|
638
|
-
collector.error((
|
|
639
|
-
'requirestring',
|
|
640
|
-
"property `{0}` is mandatory and must be of type `string`",
|
|
641
|
-
'command'
|
|
642
|
-
)));
|
|
501
|
+
collector.error(localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'requirestring', "property `{0}` is mandatory and must be of type `string`", 'command'));
|
|
643
502
|
return false;
|
|
644
503
|
}
|
|
645
504
|
if (!isValidLocalizedString(command.title, collector, 'title')) {
|
|
@@ -649,11 +508,7 @@ var schema;
|
|
|
649
508
|
return false;
|
|
650
509
|
}
|
|
651
510
|
if (command.enablement && typeof command.enablement !== 'string') {
|
|
652
|
-
collector.error((
|
|
653
|
-
'optstring',
|
|
654
|
-
"property `{0}` can be omitted or must be of type `string`",
|
|
655
|
-
'precondition'
|
|
656
|
-
)));
|
|
511
|
+
collector.error(localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'optstring', "property `{0}` can be omitted or must be of type `string`", 'precondition'));
|
|
657
512
|
return false;
|
|
658
513
|
}
|
|
659
514
|
if (command.category && !isValidLocalizedString(command.category, collector, 'category')) {
|
|
@@ -675,36 +530,20 @@ var schema;
|
|
|
675
530
|
else if (typeof icon.dark === 'string' && typeof icon.light === 'string') {
|
|
676
531
|
return true;
|
|
677
532
|
}
|
|
678
|
-
collector.error((
|
|
679
|
-
'opticon',
|
|
680
|
-
"property `icon` can be omitted or must be either a string or a literal like `{dark, light}`"
|
|
681
|
-
)));
|
|
533
|
+
collector.error(localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'opticon', "property `icon` can be omitted or must be either a string or a literal like `{dark, light}`"));
|
|
682
534
|
return false;
|
|
683
535
|
}
|
|
684
536
|
function isValidLocalizedString(localized, collector, propertyName) {
|
|
685
537
|
if (typeof localized === 'undefined') {
|
|
686
|
-
collector.error((
|
|
687
|
-
'requireStringOrObject',
|
|
688
|
-
"property `{0}` is mandatory and must be of type `string` or `object`",
|
|
689
|
-
propertyName
|
|
690
|
-
)));
|
|
538
|
+
collector.error(localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'requireStringOrObject', "property `{0}` is mandatory and must be of type `string` or `object`", propertyName));
|
|
691
539
|
return false;
|
|
692
540
|
}
|
|
693
541
|
else if (typeof localized === 'string' && isFalsyOrWhitespace(localized)) {
|
|
694
|
-
collector.error((
|
|
695
|
-
'requirestring',
|
|
696
|
-
"property `{0}` is mandatory and must be of type `string`",
|
|
697
|
-
propertyName
|
|
698
|
-
)));
|
|
542
|
+
collector.error(localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'requirestring', "property `{0}` is mandatory and must be of type `string`", propertyName));
|
|
699
543
|
return false;
|
|
700
544
|
}
|
|
701
545
|
else if (typeof localized !== 'string' && (isFalsyOrWhitespace(localized.original) || isFalsyOrWhitespace(localized.value))) {
|
|
702
|
-
collector.error((
|
|
703
|
-
'requirestrings',
|
|
704
|
-
"properties `{0}` and `{1}` are mandatory and must be of type `string`",
|
|
705
|
-
`${propertyName}.value`,
|
|
706
|
-
`${propertyName}.original`
|
|
707
|
-
)));
|
|
546
|
+
collector.error(localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'requirestrings', "properties `{0}` and `{1}` are mandatory and must be of type `string`", `${propertyName}.value`, `${propertyName}.original`));
|
|
708
547
|
return false;
|
|
709
548
|
}
|
|
710
549
|
return true;
|
|
@@ -714,45 +553,27 @@ var schema;
|
|
|
714
553
|
required: ['command', 'title'],
|
|
715
554
|
properties: {
|
|
716
555
|
command: {
|
|
717
|
-
description: (
|
|
718
|
-
'vscode.extension.contributes.commandType.command',
|
|
719
|
-
'Identifier of the command to execute'
|
|
720
|
-
)),
|
|
556
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'vscode.extension.contributes.commandType.command', 'Identifier of the command to execute'),
|
|
721
557
|
type: 'string'
|
|
722
558
|
},
|
|
723
559
|
title: {
|
|
724
|
-
description: (
|
|
725
|
-
'vscode.extension.contributes.commandType.title',
|
|
726
|
-
'Title by which the command is represented in the UI'
|
|
727
|
-
)),
|
|
560
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'vscode.extension.contributes.commandType.title', 'Title by which the command is represented in the UI'),
|
|
728
561
|
type: 'string'
|
|
729
562
|
},
|
|
730
563
|
shortTitle: {
|
|
731
|
-
markdownDescription: (
|
|
732
|
-
'vscode.extension.contributes.commandType.shortTitle',
|
|
733
|
-
'(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.'
|
|
734
|
-
)),
|
|
564
|
+
markdownDescription: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'vscode.extension.contributes.commandType.shortTitle', '(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.'),
|
|
735
565
|
type: 'string'
|
|
736
566
|
},
|
|
737
567
|
category: {
|
|
738
|
-
description: (
|
|
739
|
-
'vscode.extension.contributes.commandType.category',
|
|
740
|
-
'(Optional) Category string by which the command is grouped in the UI'
|
|
741
|
-
)),
|
|
568
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'vscode.extension.contributes.commandType.category', '(Optional) Category string by which the command is grouped in the UI'),
|
|
742
569
|
type: 'string'
|
|
743
570
|
},
|
|
744
571
|
enablement: {
|
|
745
|
-
description: (
|
|
746
|
-
'vscode.extension.contributes.commandType.precondition',
|
|
747
|
-
'(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.'
|
|
748
|
-
)),
|
|
572
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'vscode.extension.contributes.commandType.precondition', '(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.'),
|
|
749
573
|
type: 'string'
|
|
750
574
|
},
|
|
751
575
|
icon: {
|
|
752
|
-
description: (
|
|
753
|
-
{ key: 'vscode.extension.contributes.commandType.icon', comment: ['do not translate or change `\\$(zap)`, \\ in front of $ is important.'] },
|
|
754
|
-
'(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)`'
|
|
755
|
-
)),
|
|
576
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', { key: 'vscode.extension.contributes.commandType.icon', comment: ['do not translate or change `\\$(zap)`, \\ in front of $ is important.'] }, '(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)`'),
|
|
756
577
|
anyOf: [{
|
|
757
578
|
type: 'string'
|
|
758
579
|
},
|
|
@@ -760,17 +581,11 @@ var schema;
|
|
|
760
581
|
type: 'object',
|
|
761
582
|
properties: {
|
|
762
583
|
light: {
|
|
763
|
-
description: (
|
|
764
|
-
'vscode.extension.contributes.commandType.icon.light',
|
|
765
|
-
'Icon path when a light theme is used'
|
|
766
|
-
)),
|
|
584
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'vscode.extension.contributes.commandType.icon.light', 'Icon path when a light theme is used'),
|
|
767
585
|
type: 'string'
|
|
768
586
|
},
|
|
769
587
|
dark: {
|
|
770
|
-
description: (
|
|
771
|
-
'vscode.extension.contributes.commandType.icon.dark',
|
|
772
|
-
'Icon path when a dark theme is used'
|
|
773
|
-
)),
|
|
588
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'vscode.extension.contributes.commandType.icon.dark', 'Icon path when a dark theme is used'),
|
|
774
589
|
type: 'string'
|
|
775
590
|
}
|
|
776
591
|
}
|
|
@@ -779,10 +594,7 @@ var schema;
|
|
|
779
594
|
}
|
|
780
595
|
};
|
|
781
596
|
schema.commandsContribution = {
|
|
782
|
-
description: (
|
|
783
|
-
'vscode.extension.contributes.commands',
|
|
784
|
-
"Contributes commands to the command palette."
|
|
785
|
-
)),
|
|
597
|
+
description: localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'vscode.extension.contributes.commands', "Contributes commands to the command palette."),
|
|
786
598
|
oneOf: [
|
|
787
599
|
commandType,
|
|
788
600
|
{
|
|
@@ -825,16 +637,10 @@ commandsExtensionPoint.setHandler(extensions => {
|
|
|
825
637
|
const existingCmd = MenuRegistry.getCommand(command);
|
|
826
638
|
if (existingCmd) {
|
|
827
639
|
if (existingCmd.source) {
|
|
828
|
-
extension.collector.info((
|
|
829
|
-
'dup1',
|
|
830
|
-
"Command `{0}` already registered by {1} ({2})",
|
|
831
|
-
userFriendlyCommand.command,
|
|
832
|
-
existingCmd.source.title,
|
|
833
|
-
existingCmd.source.id
|
|
834
|
-
)));
|
|
640
|
+
extension.collector.info(localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'dup1', "Command `{0}` already registered by {1} ({2})", userFriendlyCommand.command, existingCmd.source.title, existingCmd.source.id));
|
|
835
641
|
}
|
|
836
642
|
else {
|
|
837
|
-
extension.collector.info((
|
|
643
|
+
extension.collector.info(localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'dup0', "Command `{0}` already registered", userFriendlyCommand.command));
|
|
838
644
|
}
|
|
839
645
|
}
|
|
840
646
|
_commandRegistrations.add(MenuRegistry.addCommand({
|
|
@@ -875,27 +681,15 @@ submenusExtensionPoint.setHandler(extensions => {
|
|
|
875
681
|
continue;
|
|
876
682
|
}
|
|
877
683
|
if (!submenuInfo.id) {
|
|
878
|
-
collector.warn((
|
|
879
|
-
'submenuId.invalid.id',
|
|
880
|
-
"`{0}` is not a valid submenu identifier",
|
|
881
|
-
submenuInfo.id
|
|
882
|
-
)));
|
|
684
|
+
collector.warn(localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'submenuId.invalid.id', "`{0}` is not a valid submenu identifier", submenuInfo.id));
|
|
883
685
|
continue;
|
|
884
686
|
}
|
|
885
687
|
if (( _submenus.has(submenuInfo.id))) {
|
|
886
|
-
collector.info((
|
|
887
|
-
'submenuId.duplicate.id',
|
|
888
|
-
"The `{0}` submenu was already previously registered.",
|
|
889
|
-
submenuInfo.id
|
|
890
|
-
)));
|
|
688
|
+
collector.info(localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'submenuId.duplicate.id', "The `{0}` submenu was already previously registered.", submenuInfo.id));
|
|
891
689
|
continue;
|
|
892
690
|
}
|
|
893
691
|
if (!submenuInfo.label) {
|
|
894
|
-
collector.warn((
|
|
895
|
-
'submenuId.invalid.label',
|
|
896
|
-
"`{0}` is not a valid submenu label",
|
|
897
|
-
submenuInfo.label
|
|
898
|
-
)));
|
|
692
|
+
collector.warn(localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'submenuId.invalid.label', "`{0}` is not a valid submenu label", submenuInfo.label));
|
|
899
693
|
continue;
|
|
900
694
|
}
|
|
901
695
|
let absoluteIcon;
|
|
@@ -951,13 +745,7 @@ menusExtensionPoint.setHandler(extensions => {
|
|
|
951
745
|
continue;
|
|
952
746
|
}
|
|
953
747
|
if (menu.proposed && !isProposedApiEnabled(extension.description, menu.proposed)) {
|
|
954
|
-
collector.error((
|
|
955
|
-
'proposedAPI.invalid',
|
|
956
|
-
"{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}",
|
|
957
|
-
entry[0],
|
|
958
|
-
menu.proposed,
|
|
959
|
-
extension.description.identifier.value
|
|
960
|
-
)));
|
|
748
|
+
collector.error(localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'proposedAPI.invalid', "{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}", entry[0], menu.proposed, extension.description.identifier.value));
|
|
961
749
|
continue;
|
|
962
750
|
}
|
|
963
751
|
for (const menuItem of entry[1]) {
|
|
@@ -966,43 +754,25 @@ menusExtensionPoint.setHandler(extensions => {
|
|
|
966
754
|
const command = MenuRegistry.getCommand(menuItem.command);
|
|
967
755
|
const alt = menuItem.alt && MenuRegistry.getCommand(menuItem.alt) || undefined;
|
|
968
756
|
if (!command) {
|
|
969
|
-
collector.error((
|
|
970
|
-
'missing.command',
|
|
971
|
-
"Menu item references a command `{0}` which is not defined in the 'commands' section.",
|
|
972
|
-
menuItem.command
|
|
973
|
-
)));
|
|
757
|
+
collector.error(localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'missing.command', "Menu item references a command `{0}` which is not defined in the 'commands' section.", menuItem.command));
|
|
974
758
|
continue;
|
|
975
759
|
}
|
|
976
760
|
if (menuItem.alt && !alt) {
|
|
977
|
-
collector.warn((
|
|
978
|
-
'missing.altCommand',
|
|
979
|
-
"Menu item references an alt-command `{0}` which is not defined in the 'commands' section.",
|
|
980
|
-
menuItem.alt
|
|
981
|
-
)));
|
|
761
|
+
collector.warn(localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'missing.altCommand', "Menu item references an alt-command `{0}` which is not defined in the 'commands' section.", menuItem.alt));
|
|
982
762
|
}
|
|
983
763
|
if (menuItem.command === menuItem.alt) {
|
|
984
|
-
collector.info((
|
|
985
|
-
'dupe.command',
|
|
986
|
-
"Menu item references the same command as default and alt-command"
|
|
987
|
-
)));
|
|
764
|
+
collector.info(localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'dupe.command', "Menu item references the same command as default and alt-command"));
|
|
988
765
|
}
|
|
989
766
|
item = { command, alt, group: undefined, order: undefined, when: undefined };
|
|
990
767
|
}
|
|
991
768
|
else {
|
|
992
769
|
if (menu.supportsSubmenus === false) {
|
|
993
|
-
collector.error((
|
|
994
|
-
'unsupported.submenureference',
|
|
995
|
-
"Menu item references a submenu for a menu which doesn't have submenu support."
|
|
996
|
-
)));
|
|
770
|
+
collector.error(localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'unsupported.submenureference', "Menu item references a submenu for a menu which doesn't have submenu support."));
|
|
997
771
|
continue;
|
|
998
772
|
}
|
|
999
773
|
const submenu = _submenus.get(menuItem.submenu);
|
|
1000
774
|
if (!submenu) {
|
|
1001
|
-
collector.error((
|
|
1002
|
-
'missing.submenu',
|
|
1003
|
-
"Menu item references a submenu `{0}` which is not defined in the 'submenus' section.",
|
|
1004
|
-
menuItem.submenu
|
|
1005
|
-
)));
|
|
775
|
+
collector.error(localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'missing.submenu', "Menu item references a submenu `{0}` which is not defined in the 'submenus' section.", menuItem.submenu));
|
|
1006
776
|
continue;
|
|
1007
777
|
}
|
|
1008
778
|
let submenuRegistrations = _submenuMenuItems.get(menu.id.id);
|
|
@@ -1011,12 +781,7 @@ menusExtensionPoint.setHandler(extensions => {
|
|
|
1011
781
|
_submenuMenuItems.set(menu.id.id, submenuRegistrations);
|
|
1012
782
|
}
|
|
1013
783
|
if (( submenuRegistrations.has(submenu.id.id))) {
|
|
1014
|
-
collector.warn((
|
|
1015
|
-
'submenuItem.duplicate',
|
|
1016
|
-
"The `{0}` submenu was already contributed to the `{1}` menu.",
|
|
1017
|
-
menuItem.submenu,
|
|
1018
|
-
entry[0]
|
|
1019
|
-
)));
|
|
784
|
+
collector.warn(localizeWithPath('vs/workbench/services/actions/common/menusExtensionPoint', 'submenuItem.duplicate', "The `{0}` submenu was already contributed to the `{1}` menu.", menuItem.submenu, entry[0]));
|
|
1020
785
|
continue;
|
|
1021
786
|
}
|
|
1022
787
|
submenuRegistrations.add(submenu.id.id);
|