@codingame/monaco-vscode-api 1.83.2 → 1.83.3-next.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/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 +12268 -1070
- 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 { registerAction2, Action2, MenuId } from 'monaco-editor/esm/vs/platform/actions/common/actions.js';
|
|
3
3
|
import { KeybindingsRegistry } from 'monaco-editor/esm/vs/platform/keybinding/common/keybindingsRegistry.js';
|
|
4
4
|
import { IQuickInputService, ItemActivation } from 'monaco-editor/esm/vs/platform/quickinput/common/quickInput.js';
|
|
@@ -102,7 +102,7 @@ registerAction2(class QuickAccessAction extends Action2 {
|
|
|
102
102
|
super({
|
|
103
103
|
id: 'workbench.action.quickOpen',
|
|
104
104
|
title: {
|
|
105
|
-
value: (
|
|
105
|
+
value: localizeWithPath('vs/workbench/browser/actions/quickAccessActions', 'quickOpen', "Go to File..."),
|
|
106
106
|
original: 'Go to File...'
|
|
107
107
|
},
|
|
108
108
|
description: {
|
|
@@ -132,7 +132,7 @@ registerAction2(class QuickAccessAction extends Action2 {
|
|
|
132
132
|
constructor() {
|
|
133
133
|
super({
|
|
134
134
|
id: 'workbench.action.quickOpenWithModes',
|
|
135
|
-
title: (
|
|
135
|
+
title: localizeWithPath('vs/workbench/browser/actions/quickAccessActions', 'quickOpenWithModes', "Quick Open"),
|
|
136
136
|
icon: Codicon.search,
|
|
137
137
|
menu: {
|
|
138
138
|
id: MenuId.CommandCenterCenter,
|
|
@@ -172,17 +172,17 @@ class BaseQuickAccessNavigateAction extends Action2 {
|
|
|
172
172
|
}
|
|
173
173
|
class QuickAccessNavigateNextAction extends BaseQuickAccessNavigateAction {
|
|
174
174
|
constructor() {
|
|
175
|
-
super('workbench.action.quickOpenNavigateNext', { value: (
|
|
175
|
+
super('workbench.action.quickOpenNavigateNext', { value: localizeWithPath('vs/workbench/browser/actions/quickAccessActions', 'quickNavigateNext', "Navigate Next in Quick Open"), original: 'Navigate Next in Quick Open' }, true, true);
|
|
176
176
|
}
|
|
177
177
|
}
|
|
178
178
|
class QuickAccessNavigatePreviousAction extends BaseQuickAccessNavigateAction {
|
|
179
179
|
constructor() {
|
|
180
|
-
super('workbench.action.quickOpenNavigatePrevious', { value: (
|
|
180
|
+
super('workbench.action.quickOpenNavigatePrevious', { value: localizeWithPath('vs/workbench/browser/actions/quickAccessActions', 'quickNavigatePrevious', "Navigate Previous in Quick Open"), original: 'Navigate Previous in Quick Open' }, false, true);
|
|
181
181
|
}
|
|
182
182
|
}
|
|
183
183
|
class QuickAccessSelectNextAction extends BaseQuickAccessNavigateAction {
|
|
184
184
|
constructor() {
|
|
185
|
-
super('workbench.action.quickOpenSelectNext', { value: (
|
|
185
|
+
super('workbench.action.quickOpenSelectNext', { value: localizeWithPath('vs/workbench/browser/actions/quickAccessActions', 'quickSelectNext', "Select Next in Quick Open"), original: 'Select Next in Quick Open' }, true, false, {
|
|
186
186
|
weight: 200 + 50,
|
|
187
187
|
when: inQuickPickContext,
|
|
188
188
|
primary: 0,
|
|
@@ -192,7 +192,7 @@ class QuickAccessSelectNextAction extends BaseQuickAccessNavigateAction {
|
|
|
192
192
|
}
|
|
193
193
|
class QuickAccessSelectPreviousAction extends BaseQuickAccessNavigateAction {
|
|
194
194
|
constructor() {
|
|
195
|
-
super('workbench.action.quickOpenSelectPrevious', { value: (
|
|
195
|
+
super('workbench.action.quickOpenSelectPrevious', { value: localizeWithPath('vs/workbench/browser/actions/quickAccessActions', 'quickSelectPrevious', "Select Previous in Quick Open"), original: 'Select Previous in Quick Open' }, false, false, {
|
|
196
196
|
weight: 200 + 50,
|
|
197
197
|
when: inQuickPickContext,
|
|
198
198
|
primary: 0,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
|
|
2
2
|
import '../../../../../../override/vs/platform/dialogs/common/dialogs.js';
|
|
3
|
-
import { MenuId, Action2 } from 'monaco-editor/esm/vs/platform/actions/common/actions.js';
|
|
4
|
-
import { IsDevelopmentContext } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkeys.js';
|
|
3
|
+
import { MenuId, Action2, MenuRegistry } from 'monaco-editor/esm/vs/platform/actions/common/actions.js';
|
|
4
|
+
import { IsDevelopmentContext, IsWebContext } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkeys.js';
|
|
5
5
|
import { Categories } from 'monaco-editor/esm/vs/platform/action/common/actionCommonCategories.js';
|
|
6
6
|
import { KeybindingsRegistry } from 'monaco-editor/esm/vs/platform/keybinding/common/keybindingsRegistry.js';
|
|
7
7
|
import { IQuickInputService } from 'monaco-editor/esm/vs/platform/quickinput/common/quickInput.js';
|
|
@@ -31,16 +31,16 @@ class BaseOpenRecentAction extends Action2 {
|
|
|
31
31
|
super(desc);
|
|
32
32
|
this.removeFromRecentlyOpened = {
|
|
33
33
|
iconClass: ThemeIcon.asClassName(Codicon.removeClose),
|
|
34
|
-
tooltip: (
|
|
34
|
+
tooltip: localizeWithPath('vs/workbench/browser/actions/windowActions', 'remove', "Remove from Recently Opened")
|
|
35
35
|
};
|
|
36
36
|
this.dirtyRecentlyOpenedFolder = {
|
|
37
37
|
iconClass: 'dirty-workspace ' + ThemeIcon.asClassName(Codicon.closeDirty),
|
|
38
|
-
tooltip: (
|
|
38
|
+
tooltip: localizeWithPath('vs/workbench/browser/actions/windowActions', 'dirtyRecentlyOpenedFolder', "Folder With Unsaved Files"),
|
|
39
39
|
alwaysVisible: true
|
|
40
40
|
};
|
|
41
41
|
this.dirtyRecentlyOpenedWorkspace = {
|
|
42
42
|
...this.dirtyRecentlyOpenedFolder,
|
|
43
|
-
tooltip: (
|
|
43
|
+
tooltip: localizeWithPath('vs/workbench/browser/actions/windowActions', 'dirtyRecentlyOpenedWorkspace', "Workspace With Unsaved Files"),
|
|
44
44
|
};
|
|
45
45
|
}
|
|
46
46
|
async run(accessor) {
|
|
@@ -97,19 +97,13 @@ class BaseOpenRecentAction extends Action2 {
|
|
|
97
97
|
const firstEntry = recentlyOpened.workspaces[0];
|
|
98
98
|
const autoFocusSecondEntry = firstEntry && contextService.isCurrentWorkspace(isRecentWorkspace(firstEntry) ? firstEntry.workspace : firstEntry.folderUri);
|
|
99
99
|
let keyMods;
|
|
100
|
-
const workspaceSeparator = { type: 'separator', label: hasWorkspaces ? (
|
|
101
|
-
const fileSeparator = { type: 'separator', label: (
|
|
100
|
+
const workspaceSeparator = { type: 'separator', label: hasWorkspaces ? localizeWithPath('vs/workbench/browser/actions/windowActions', 'workspacesAndFolders', "folders & workspaces") : localizeWithPath('vs/workbench/browser/actions/windowActions', 'folders', "folders") };
|
|
101
|
+
const fileSeparator = { type: 'separator', label: localizeWithPath('vs/workbench/browser/actions/windowActions', 'files', "files") };
|
|
102
102
|
const picks = [workspaceSeparator, ...workspacePicks, fileSeparator, ...filePicks];
|
|
103
103
|
const pick = await quickInputService.pick(picks, {
|
|
104
104
|
contextKey: inRecentFilesPickerContextKey,
|
|
105
105
|
activeItem: [...workspacePicks, ...filePicks][autoFocusSecondEntry ? 1 : 0],
|
|
106
|
-
placeHolder: isMacintosh ? (
|
|
107
|
-
'openRecentPlaceholderMac',
|
|
108
|
-
"Select to open (hold Cmd-key to force new window or Option-key for same window)"
|
|
109
|
-
)) : ( localize(
|
|
110
|
-
'openRecentPlaceholder',
|
|
111
|
-
"Select to open (hold Ctrl-key to force new window or Alt-key for same window)"
|
|
112
|
-
)),
|
|
106
|
+
placeHolder: isMacintosh ? localizeWithPath('vs/workbench/browser/actions/windowActions', 'openRecentPlaceholderMac', "Select to open (hold Cmd-key to force new window or Option-key for same window)") : localizeWithPath('vs/workbench/browser/actions/windowActions', 'openRecentPlaceholder', "Select to open (hold Ctrl-key to force new window or Alt-key for same window)"),
|
|
113
107
|
matchOnDescription: true,
|
|
114
108
|
onKeyMods: mods => keyMods = mods,
|
|
115
109
|
quickNavigate: this.isQuickNavigate() ? { keybindings: keybindingService.lookupKeybindings(this.desc.id) } : undefined,
|
|
@@ -122,21 +116,9 @@ class BaseOpenRecentAction extends Action2 {
|
|
|
122
116
|
else if (context.button === this.dirtyRecentlyOpenedFolder || context.button === this.dirtyRecentlyOpenedWorkspace) {
|
|
123
117
|
const isDirtyWorkspace = context.button === this.dirtyRecentlyOpenedWorkspace;
|
|
124
118
|
const { confirmed } = await dialogService.confirm({
|
|
125
|
-
title: isDirtyWorkspace ? (
|
|
126
|
-
message: isDirtyWorkspace ? (
|
|
127
|
-
|
|
128
|
-
"Do you want to open the workspace to review the unsaved files?"
|
|
129
|
-
)) : ( localize(
|
|
130
|
-
'dirtyFolderConfirm',
|
|
131
|
-
"Do you want to open the folder to review the unsaved files?"
|
|
132
|
-
)),
|
|
133
|
-
detail: isDirtyWorkspace ? ( localize(
|
|
134
|
-
'dirtyWorkspaceConfirmDetail',
|
|
135
|
-
"Workspaces with unsaved files cannot be removed until all unsaved files have been saved or reverted."
|
|
136
|
-
)) : ( localize(
|
|
137
|
-
'dirtyFolderConfirmDetail',
|
|
138
|
-
"Folders with unsaved files cannot be removed until all unsaved files have been saved or reverted."
|
|
139
|
-
))
|
|
119
|
+
title: isDirtyWorkspace ? localizeWithPath('vs/workbench/browser/actions/windowActions', 'dirtyWorkspace', "Workspace with Unsaved Files") : localizeWithPath('vs/workbench/browser/actions/windowActions', 'dirtyFolder', "Folder with Unsaved Files"),
|
|
120
|
+
message: isDirtyWorkspace ? localizeWithPath('vs/workbench/browser/actions/windowActions', 'dirtyWorkspaceConfirm', "Do you want to open the workspace to review the unsaved files?") : localizeWithPath('vs/workbench/browser/actions/windowActions', 'dirtyFolderConfirm', "Do you want to open the folder to review the unsaved files?"),
|
|
121
|
+
detail: isDirtyWorkspace ? localizeWithPath('vs/workbench/browser/actions/windowActions', 'dirtyWorkspaceConfirmDetail', "Workspaces with unsaved files cannot be removed until all unsaved files have been saved or reverted.") : localizeWithPath('vs/workbench/browser/actions/windowActions', 'dirtyFolderConfirmDetail', "Folders with unsaved files cannot be removed until all unsaved files have been saved or reverted.")
|
|
140
122
|
});
|
|
141
123
|
if (confirmed) {
|
|
142
124
|
hostService.openWindow([context.item.openable], {
|
|
@@ -184,11 +166,7 @@ class BaseOpenRecentAction extends Action2 {
|
|
|
184
166
|
return {
|
|
185
167
|
iconClasses,
|
|
186
168
|
label: name,
|
|
187
|
-
ariaLabel: isDirty ? isWorkspace ? (
|
|
188
|
-
'recentDirtyWorkspaceAriaLabel',
|
|
189
|
-
"{0}, workspace with unsaved changes",
|
|
190
|
-
name
|
|
191
|
-
)) : ( localize('recentDirtyFolderAriaLabel', "{0}, folder with unsaved changes", name)) : name,
|
|
169
|
+
ariaLabel: isDirty ? isWorkspace ? localizeWithPath('vs/workbench/browser/actions/windowActions', 'recentDirtyWorkspaceAriaLabel', "{0}, workspace with unsaved changes", name) : localizeWithPath('vs/workbench/browser/actions/windowActions', 'recentDirtyFolderAriaLabel', "{0}, folder with unsaved changes", name) : name,
|
|
192
170
|
description: parentPath,
|
|
193
171
|
buttons: isDirty ? [isWorkspace ? this.dirtyRecentlyOpenedWorkspace : this.dirtyRecentlyOpenedFolder] : [this.removeFromRecentlyOpened],
|
|
194
172
|
openable,
|
|
@@ -203,8 +181,8 @@ class OpenRecentAction extends BaseOpenRecentAction {
|
|
|
203
181
|
super({
|
|
204
182
|
id: OpenRecentAction.ID,
|
|
205
183
|
title: {
|
|
206
|
-
value: (
|
|
207
|
-
mnemonicTitle: (
|
|
184
|
+
value: localizeWithPath('vs/workbench/browser/actions/windowActions', 'openRecent', "Open Recent..."),
|
|
185
|
+
mnemonicTitle: localizeWithPath('vs/workbench/browser/actions/windowActions', { key: 'miMore', comment: ['&& denotes a mnemonic'] }, "&&More..."),
|
|
208
186
|
original: 'Open Recent...'
|
|
209
187
|
},
|
|
210
188
|
category: Categories.File,
|
|
@@ -230,7 +208,7 @@ class ReloadWindowAction extends Action2 {
|
|
|
230
208
|
constructor() {
|
|
231
209
|
super({
|
|
232
210
|
id: ReloadWindowAction.ID,
|
|
233
|
-
title: { value: (
|
|
211
|
+
title: { value: localizeWithPath('vs/workbench/browser/actions/windowActions', 'reloadWindow', "Reload Window"), original: 'Reload Window' },
|
|
234
212
|
category: Categories.Developer,
|
|
235
213
|
f1: true,
|
|
236
214
|
keybinding: {
|
|
@@ -269,4 +247,20 @@ CommandsRegistry.registerCommand('workbench.action.toggleConfirmBeforeClose', ac
|
|
|
269
247
|
const setting = configurationService.inspect('window.confirmBeforeClose').userValue;
|
|
270
248
|
return configurationService.updateValue('window.confirmBeforeClose', setting === 'never' ? 'keyboardOnly' : 'never');
|
|
271
249
|
});
|
|
250
|
+
( MenuRegistry.appendMenuItem(MenuId.MenubarFileMenu, {
|
|
251
|
+
group: 'z_ConfirmClose',
|
|
252
|
+
command: {
|
|
253
|
+
id: 'workbench.action.toggleConfirmBeforeClose',
|
|
254
|
+
title: localizeWithPath('vs/workbench/browser/actions/windowActions', 'miConfirmClose', "Confirm Before Close"),
|
|
255
|
+
toggled: ( ContextKeyExpr.notEquals('config.window.confirmBeforeClose', 'never'))
|
|
256
|
+
},
|
|
257
|
+
order: 1,
|
|
258
|
+
when: IsWebContext
|
|
259
|
+
}));
|
|
260
|
+
( MenuRegistry.appendMenuItem(MenuId.MenubarFileMenu, {
|
|
261
|
+
title: localizeWithPath('vs/workbench/browser/actions/windowActions', { key: 'miOpenRecent', comment: ['&& denotes a mnemonic'] }, "Open &&Recent"),
|
|
262
|
+
submenu: MenuId.MenubarRecentMenu,
|
|
263
|
+
group: '2_open',
|
|
264
|
+
order: 4
|
|
265
|
+
}));
|
|
272
266
|
export { OpenRecentAction, ReloadWindowAction, inRecentFilesPickerContextKey };
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
|
|
2
2
|
import { IWorkspaceContextService, hasWorkspaceFileExtension } from 'monaco-editor/esm/vs/platform/workspace/common/workspace.js';
|
|
3
3
|
import { IWorkspaceEditingService } from '../../services/workspaces/common/workspaceEditing.js';
|
|
4
4
|
import { IEditorService } from '../../services/editor/common/editorService.js';
|
|
5
5
|
import { ICommandService } from 'monaco-editor/esm/vs/platform/commands/common/commands.js';
|
|
6
6
|
import { SET_ROOT_FOLDER_COMMAND_ID, ADD_ROOT_FOLDER_LABEL, ADD_ROOT_FOLDER_COMMAND_ID, PICK_WORKSPACE_FOLDER_COMMAND_ID } from './workspaceCommands.js';
|
|
7
7
|
import '../../../../../../override/vs/platform/dialogs/common/dialogs.js';
|
|
8
|
-
import { Action2 } from 'monaco-editor/esm/vs/platform/actions/common/actions.js';
|
|
8
|
+
import { Action2, MenuRegistry, MenuId } from 'monaco-editor/esm/vs/platform/actions/common/actions.js';
|
|
9
9
|
import { OpenFolderWorkspaceSupportContext, WorkbenchStateContext, EnterMultiRootWorkspaceSupportContext, EmptyWorkspaceSupportContext, WorkspaceFolderCountContext } from '../../common/contextkeys.js';
|
|
10
10
|
import { IHostService } from '../../services/host/browser/host.js';
|
|
11
11
|
import { KeyChord } from 'monaco-editor/esm/vs/base/common/keyCodes.js';
|
|
@@ -15,13 +15,13 @@ import { IWorkspacesService } from '../../../platform/workspaces/common/workspac
|
|
|
15
15
|
import { IsMacNativeContext } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkeys.js';
|
|
16
16
|
import { Categories } from 'monaco-editor/esm/vs/platform/action/common/actionCommonCategories.js';
|
|
17
17
|
import { IFileDialogService } from '../../../platform/dialogs/common/dialogs.js';
|
|
18
|
-
const workspacesCategory = { value: (
|
|
18
|
+
const workspacesCategory = { value: localizeWithPath('vs/workbench/browser/actions/workspaceActions', 'workspaces', "Workspaces"), original: 'Workspaces' };
|
|
19
19
|
class OpenFileAction extends Action2 {
|
|
20
20
|
static { this.ID = 'workbench.action.files.openFile'; }
|
|
21
21
|
constructor() {
|
|
22
22
|
super({
|
|
23
23
|
id: OpenFileAction.ID,
|
|
24
|
-
title: { value: (
|
|
24
|
+
title: { value: localizeWithPath('vs/workbench/browser/actions/workspaceActions', 'openFile', "Open File..."), original: 'Open File...' },
|
|
25
25
|
category: Categories.File,
|
|
26
26
|
f1: true,
|
|
27
27
|
precondition: ( IsMacNativeContext.toNegated()),
|
|
@@ -41,7 +41,7 @@ class OpenFolderAction extends Action2 {
|
|
|
41
41
|
constructor() {
|
|
42
42
|
super({
|
|
43
43
|
id: OpenFolderAction.ID,
|
|
44
|
-
title: { value: (
|
|
44
|
+
title: { value: localizeWithPath('vs/workbench/browser/actions/workspaceActions', 'openFolder', "Open Folder..."), original: 'Open Folder...' },
|
|
45
45
|
category: Categories.File,
|
|
46
46
|
f1: true,
|
|
47
47
|
precondition: OpenFolderWorkspaceSupportContext,
|
|
@@ -67,7 +67,7 @@ class OpenFolderViaWorkspaceAction extends Action2 {
|
|
|
67
67
|
constructor() {
|
|
68
68
|
super({
|
|
69
69
|
id: OpenFolderViaWorkspaceAction.ID,
|
|
70
|
-
title: { value: (
|
|
70
|
+
title: { value: localizeWithPath('vs/workbench/browser/actions/workspaceActions', 'openFolder', "Open Folder..."), original: 'Open Folder...' },
|
|
71
71
|
category: Categories.File,
|
|
72
72
|
f1: true,
|
|
73
73
|
precondition: ( ContextKeyExpr.and(( OpenFolderWorkspaceSupportContext.toNegated()), ( WorkbenchStateContext.isEqualTo('workspace')))),
|
|
@@ -84,7 +84,7 @@ class OpenFolderViaWorkspaceAction extends Action2 {
|
|
|
84
84
|
}
|
|
85
85
|
class OpenFileFolderAction extends Action2 {
|
|
86
86
|
static { this.ID = 'workbench.action.files.openFileFolder'; }
|
|
87
|
-
static { this.LABEL = { value: (
|
|
87
|
+
static { this.LABEL = { value: localizeWithPath('vs/workbench/browser/actions/workspaceActions', 'openFileFolder', "Open..."), original: 'Open...' }; }
|
|
88
88
|
constructor() {
|
|
89
89
|
super({
|
|
90
90
|
id: OpenFileFolderAction.ID,
|
|
@@ -108,7 +108,7 @@ class OpenWorkspaceAction extends Action2 {
|
|
|
108
108
|
constructor() {
|
|
109
109
|
super({
|
|
110
110
|
id: OpenWorkspaceAction.ID,
|
|
111
|
-
title: { value: (
|
|
111
|
+
title: { value: localizeWithPath('vs/workbench/browser/actions/workspaceActions', 'openWorkspaceAction', "Open Workspace from File..."), original: 'Open Workspace from File...' },
|
|
112
112
|
category: Categories.File,
|
|
113
113
|
f1: true,
|
|
114
114
|
precondition: EnterMultiRootWorkspaceSupportContext
|
|
@@ -124,7 +124,7 @@ class CloseWorkspaceAction extends Action2 {
|
|
|
124
124
|
constructor() {
|
|
125
125
|
super({
|
|
126
126
|
id: CloseWorkspaceAction.ID,
|
|
127
|
-
title: { value: (
|
|
127
|
+
title: { value: localizeWithPath('vs/workbench/browser/actions/workspaceActions', 'closeWorkspace', "Close Workspace"), original: 'Close Workspace' },
|
|
128
128
|
category: workspacesCategory,
|
|
129
129
|
f1: true,
|
|
130
130
|
precondition: ( ContextKeyExpr.and(( WorkbenchStateContext.notEqualsTo('empty')), EmptyWorkspaceSupportContext)),
|
|
@@ -145,7 +145,7 @@ class OpenWorkspaceConfigFileAction extends Action2 {
|
|
|
145
145
|
constructor() {
|
|
146
146
|
super({
|
|
147
147
|
id: OpenWorkspaceConfigFileAction.ID,
|
|
148
|
-
title: { value: (
|
|
148
|
+
title: { value: localizeWithPath('vs/workbench/browser/actions/workspaceActions', 'openWorkspaceConfigFile', "Open Workspace Configuration File"), original: 'Open Workspace Configuration File' },
|
|
149
149
|
category: workspacesCategory,
|
|
150
150
|
f1: true,
|
|
151
151
|
precondition: ( WorkbenchStateContext.isEqualTo('workspace'))
|
|
@@ -181,7 +181,7 @@ class RemoveRootFolderAction extends Action2 {
|
|
|
181
181
|
constructor() {
|
|
182
182
|
super({
|
|
183
183
|
id: RemoveRootFolderAction.ID,
|
|
184
|
-
title: { value: (
|
|
184
|
+
title: { value: localizeWithPath('vs/workbench/browser/actions/workspaceActions', 'globalRemoveFolderFromWorkspace', "Remove Folder from Workspace..."), original: 'Remove Folder from Workspace...' },
|
|
185
185
|
category: workspacesCategory,
|
|
186
186
|
f1: true,
|
|
187
187
|
precondition: ( ContextKeyExpr.and(( WorkspaceFolderCountContext.notEqualsTo('0')), ( ContextKeyExpr.or(EnterMultiRootWorkspaceSupportContext, ( WorkbenchStateContext.isEqualTo('workspace'))))))
|
|
@@ -201,7 +201,7 @@ class SaveWorkspaceAsAction extends Action2 {
|
|
|
201
201
|
constructor() {
|
|
202
202
|
super({
|
|
203
203
|
id: SaveWorkspaceAsAction.ID,
|
|
204
|
-
title: { value: (
|
|
204
|
+
title: { value: localizeWithPath('vs/workbench/browser/actions/workspaceActions', 'saveWorkspaceAsAction', "Save Workspace As..."), original: 'Save Workspace As...' },
|
|
205
205
|
category: workspacesCategory,
|
|
206
206
|
f1: true,
|
|
207
207
|
precondition: EnterMultiRootWorkspaceSupportContext
|
|
@@ -229,7 +229,7 @@ class DuplicateWorkspaceInNewWindowAction extends Action2 {
|
|
|
229
229
|
constructor() {
|
|
230
230
|
super({
|
|
231
231
|
id: DuplicateWorkspaceInNewWindowAction.ID,
|
|
232
|
-
title: { value: (
|
|
232
|
+
title: { value: localizeWithPath('vs/workbench/browser/actions/workspaceActions', 'duplicateWorkspaceInNewWindow', "Duplicate As Workspace in New Window"), original: 'Duplicate As Workspace in New Window' },
|
|
233
233
|
category: workspacesCategory,
|
|
234
234
|
f1: true,
|
|
235
235
|
precondition: EnterMultiRootWorkspaceSupportContext
|
|
@@ -248,4 +248,94 @@ class DuplicateWorkspaceInNewWindowAction extends Action2 {
|
|
|
248
248
|
return hostService.openWindow([{ workspaceUri: newWorkspace.configPath }], { forceNewWindow: true, remoteAuthority });
|
|
249
249
|
}
|
|
250
250
|
}
|
|
251
|
+
( MenuRegistry.appendMenuItem(MenuId.MenubarFileMenu, {
|
|
252
|
+
group: '2_open',
|
|
253
|
+
command: {
|
|
254
|
+
id: OpenFileAction.ID,
|
|
255
|
+
title: localizeWithPath('vs/workbench/browser/actions/workspaceActions', { key: 'miOpenFile', comment: ['&& denotes a mnemonic'] }, "&&Open File...")
|
|
256
|
+
},
|
|
257
|
+
order: 1,
|
|
258
|
+
when: ( IsMacNativeContext.toNegated())
|
|
259
|
+
}));
|
|
260
|
+
( MenuRegistry.appendMenuItem(MenuId.MenubarFileMenu, {
|
|
261
|
+
group: '2_open',
|
|
262
|
+
command: {
|
|
263
|
+
id: OpenFolderAction.ID,
|
|
264
|
+
title: localizeWithPath('vs/workbench/browser/actions/workspaceActions', { key: 'miOpenFolder', comment: ['&& denotes a mnemonic'] }, "Open &&Folder...")
|
|
265
|
+
},
|
|
266
|
+
order: 2,
|
|
267
|
+
when: OpenFolderWorkspaceSupportContext
|
|
268
|
+
}));
|
|
269
|
+
( MenuRegistry.appendMenuItem(MenuId.MenubarFileMenu, {
|
|
270
|
+
group: '2_open',
|
|
271
|
+
command: {
|
|
272
|
+
id: OpenFolderViaWorkspaceAction.ID,
|
|
273
|
+
title: localizeWithPath('vs/workbench/browser/actions/workspaceActions', { key: 'miOpenFolder', comment: ['&& denotes a mnemonic'] }, "Open &&Folder...")
|
|
274
|
+
},
|
|
275
|
+
order: 2,
|
|
276
|
+
when: ( ContextKeyExpr.and(( OpenFolderWorkspaceSupportContext.toNegated()), ( WorkbenchStateContext.isEqualTo('workspace'))))
|
|
277
|
+
}));
|
|
278
|
+
( MenuRegistry.appendMenuItem(MenuId.MenubarFileMenu, {
|
|
279
|
+
group: '2_open',
|
|
280
|
+
command: {
|
|
281
|
+
id: OpenFileFolderAction.ID,
|
|
282
|
+
title: localizeWithPath('vs/workbench/browser/actions/workspaceActions', { key: 'miOpen', comment: ['&& denotes a mnemonic'] }, "&&Open...")
|
|
283
|
+
},
|
|
284
|
+
order: 1,
|
|
285
|
+
when: ( ContextKeyExpr.and(IsMacNativeContext, OpenFolderWorkspaceSupportContext))
|
|
286
|
+
}));
|
|
287
|
+
( MenuRegistry.appendMenuItem(MenuId.MenubarFileMenu, {
|
|
288
|
+
group: '2_open',
|
|
289
|
+
command: {
|
|
290
|
+
id: OpenWorkspaceAction.ID,
|
|
291
|
+
title: localizeWithPath('vs/workbench/browser/actions/workspaceActions', { key: 'miOpenWorkspace', comment: ['&& denotes a mnemonic'] }, "Open Wor&&kspace from File...")
|
|
292
|
+
},
|
|
293
|
+
order: 3,
|
|
294
|
+
when: EnterMultiRootWorkspaceSupportContext
|
|
295
|
+
}));
|
|
296
|
+
( MenuRegistry.appendMenuItem(MenuId.MenubarFileMenu, {
|
|
297
|
+
group: '3_workspace',
|
|
298
|
+
command: {
|
|
299
|
+
id: ADD_ROOT_FOLDER_COMMAND_ID,
|
|
300
|
+
title: localizeWithPath('vs/workbench/browser/actions/workspaceActions', { key: 'miAddFolderToWorkspace', comment: ['&& denotes a mnemonic'] }, "A&&dd Folder to Workspace...")
|
|
301
|
+
},
|
|
302
|
+
when: ( ContextKeyExpr.or(EnterMultiRootWorkspaceSupportContext, ( WorkbenchStateContext.isEqualTo('workspace')))),
|
|
303
|
+
order: 1
|
|
304
|
+
}));
|
|
305
|
+
( MenuRegistry.appendMenuItem(MenuId.MenubarFileMenu, {
|
|
306
|
+
group: '3_workspace',
|
|
307
|
+
command: {
|
|
308
|
+
id: SaveWorkspaceAsAction.ID,
|
|
309
|
+
title: localizeWithPath('vs/workbench/browser/actions/workspaceActions', 'miSaveWorkspaceAs', "Save Workspace As...")
|
|
310
|
+
},
|
|
311
|
+
order: 2,
|
|
312
|
+
when: EnterMultiRootWorkspaceSupportContext
|
|
313
|
+
}));
|
|
314
|
+
( MenuRegistry.appendMenuItem(MenuId.MenubarFileMenu, {
|
|
315
|
+
group: '3_workspace',
|
|
316
|
+
command: {
|
|
317
|
+
id: DuplicateWorkspaceInNewWindowAction.ID,
|
|
318
|
+
title: localizeWithPath('vs/workbench/browser/actions/workspaceActions', 'duplicateWorkspace', "Duplicate Workspace")
|
|
319
|
+
},
|
|
320
|
+
order: 3,
|
|
321
|
+
when: EnterMultiRootWorkspaceSupportContext
|
|
322
|
+
}));
|
|
323
|
+
( MenuRegistry.appendMenuItem(MenuId.MenubarFileMenu, {
|
|
324
|
+
group: '6_close',
|
|
325
|
+
command: {
|
|
326
|
+
id: CloseWorkspaceAction.ID,
|
|
327
|
+
title: localizeWithPath('vs/workbench/browser/actions/workspaceActions', { key: 'miCloseFolder', comment: ['&& denotes a mnemonic'] }, "Close &&Folder")
|
|
328
|
+
},
|
|
329
|
+
order: 3,
|
|
330
|
+
when: ( ContextKeyExpr.and(( WorkbenchStateContext.isEqualTo('folder')), EmptyWorkspaceSupportContext))
|
|
331
|
+
}));
|
|
332
|
+
( MenuRegistry.appendMenuItem(MenuId.MenubarFileMenu, {
|
|
333
|
+
group: '6_close',
|
|
334
|
+
command: {
|
|
335
|
+
id: CloseWorkspaceAction.ID,
|
|
336
|
+
title: localizeWithPath('vs/workbench/browser/actions/workspaceActions', { key: 'miCloseWorkspace', comment: ['&& denotes a mnemonic'] }, "Close &&Workspace")
|
|
337
|
+
},
|
|
338
|
+
order: 3,
|
|
339
|
+
when: ( ContextKeyExpr.and(( WorkbenchStateContext.isEqualTo('workspace')), EmptyWorkspaceSupportContext))
|
|
340
|
+
}));
|
|
251
341
|
export { AddRootFolderAction, OpenFileAction, OpenFileFolderAction, OpenFolderAction, OpenFolderViaWorkspaceAction, RemoveRootFolderAction };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
|
|
2
2
|
import '../../../../../../override/vs/platform/dialogs/common/dialogs.js';
|
|
3
3
|
const ADD_ROOT_FOLDER_COMMAND_ID = 'addRootFolder';
|
|
4
|
-
const ADD_ROOT_FOLDER_LABEL = { value: (
|
|
4
|
+
const ADD_ROOT_FOLDER_LABEL = { value: localizeWithPath('vs/workbench/browser/actions/workspaceCommands', 'addFolderToWorkspace', "Add Folder to Workspace..."), original: 'Add Folder to Workspace...' };
|
|
5
5
|
const SET_ROOT_FOLDER_COMMAND_ID = 'setRootFolder';
|
|
6
6
|
const PICK_WORKSPACE_FOLDER_COMMAND_ID = '_workbench.pickWorkspaceFolder';
|
|
7
7
|
export { ADD_ROOT_FOLDER_COMMAND_ID, ADD_ROOT_FOLDER_LABEL, PICK_WORKSPACE_FOLDER_COMMAND_ID, SET_ROOT_FOLDER_COMMAND_ID };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
|
|
2
2
|
import { EditorExtensions, EditorCloseContext, EditorResourceAccessor, SideBySideEditor } from '../common/editor.js';
|
|
3
3
|
import { Registry } from 'monaco-editor/esm/vs/platform/registry/common/platform.js';
|
|
4
4
|
import { toDisposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
|
|
@@ -141,10 +141,10 @@ function whenEditorClosed(accessor, resources) {
|
|
|
141
141
|
function computeEditorAriaLabel(input, index, group, groupCount) {
|
|
142
142
|
let ariaLabel = input.getAriaLabel();
|
|
143
143
|
if (group && !group.isPinned(input)) {
|
|
144
|
-
ariaLabel = (
|
|
144
|
+
ariaLabel = localizeWithPath('vs/workbench/browser/editor', 'preview', "{0}, preview", ariaLabel);
|
|
145
145
|
}
|
|
146
146
|
if (group?.isSticky(index ?? input)) {
|
|
147
|
-
ariaLabel = (
|
|
147
|
+
ariaLabel = localizeWithPath('vs/workbench/browser/editor', 'pinned', "{0}, pinned", ariaLabel);
|
|
148
148
|
}
|
|
149
149
|
if (group && typeof groupCount === 'number' && groupCount > 1) {
|
|
150
150
|
ariaLabel = `${ariaLabel}, ${group.ariaLabel}`;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Codicon } from 'monaco-editor/esm/vs/base/common/codicons.js';
|
|
2
|
-
import {
|
|
2
|
+
import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
|
|
3
3
|
import { Action2, MenuId, registerAction2, MenuRegistry } from 'monaco-editor/esm/vs/platform/actions/common/actions.js';
|
|
4
4
|
import { ContextKeyExpr } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkey.js';
|
|
5
5
|
import { registerIcon } from 'monaco-editor/esm/vs/platform/theme/common/iconRegistry.js';
|
|
@@ -8,36 +8,21 @@ import { AuxiliaryBarVisibleContext } from '../../../common/contextkeys.js';
|
|
|
8
8
|
import { ViewContainerLocationToString } from '../../../common/views.js';
|
|
9
9
|
import { IWorkbenchLayoutService } from '../../../services/layout/browser/layoutService.js';
|
|
10
10
|
import { IPaneCompositePartService } from '../../../services/panecomposite/browser/panecomposite.js';
|
|
11
|
-
const auxiliaryBarRightIcon = registerIcon('auxiliarybar-right-layout-icon', Codicon.layoutSidebarRight, (
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
))
|
|
15
|
-
const auxiliaryBarRightOffIcon = registerIcon('auxiliarybar-right-off-layout-icon', Codicon.layoutSidebarRightOff, ( localize(
|
|
16
|
-
'toggleAuxiliaryIconRightOn',
|
|
17
|
-
'Icon to toggle the auxiliary bar on in its right position.'
|
|
18
|
-
)));
|
|
19
|
-
const auxiliaryBarLeftIcon = registerIcon('auxiliarybar-left-layout-icon', Codicon.layoutSidebarLeft, ( localize(
|
|
20
|
-
'toggleAuxiliaryIconLeft',
|
|
21
|
-
'Icon to toggle the auxiliary bar in its left position.'
|
|
22
|
-
)));
|
|
23
|
-
const auxiliaryBarLeftOffIcon = registerIcon('auxiliarybar-left-off-layout-icon', Codicon.layoutSidebarLeftOff, ( localize(
|
|
24
|
-
'toggleAuxiliaryIconLeftOn',
|
|
25
|
-
'Icon to toggle the auxiliary bar on in its left position.'
|
|
26
|
-
)));
|
|
11
|
+
const auxiliaryBarRightIcon = registerIcon('auxiliarybar-right-layout-icon', Codicon.layoutSidebarRight, localizeWithPath('vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions', 'toggleAuxiliaryIconRight', 'Icon to toggle the auxiliary bar off in its right position.'));
|
|
12
|
+
const auxiliaryBarRightOffIcon = registerIcon('auxiliarybar-right-off-layout-icon', Codicon.layoutSidebarRightOff, localizeWithPath('vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions', 'toggleAuxiliaryIconRightOn', 'Icon to toggle the auxiliary bar on in its right position.'));
|
|
13
|
+
const auxiliaryBarLeftIcon = registerIcon('auxiliarybar-left-layout-icon', Codicon.layoutSidebarLeft, localizeWithPath('vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions', 'toggleAuxiliaryIconLeft', 'Icon to toggle the auxiliary bar in its left position.'));
|
|
14
|
+
const auxiliaryBarLeftOffIcon = registerIcon('auxiliarybar-left-off-layout-icon', Codicon.layoutSidebarLeftOff, localizeWithPath('vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions', 'toggleAuxiliaryIconLeftOn', 'Icon to toggle the auxiliary bar on in its left position.'));
|
|
27
15
|
class ToggleAuxiliaryBarAction extends Action2 {
|
|
28
16
|
static { this.ID = 'workbench.action.toggleAuxiliaryBar'; }
|
|
29
|
-
static { this.LABEL = (
|
|
17
|
+
static { this.LABEL = localizeWithPath('vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions', 'toggleAuxiliaryBar', "Toggle Secondary Side Bar Visibility"); }
|
|
30
18
|
constructor() {
|
|
31
19
|
super({
|
|
32
20
|
id: ToggleAuxiliaryBarAction.ID,
|
|
33
21
|
title: { value: ToggleAuxiliaryBarAction.LABEL, original: 'Toggle Secondary Side Bar Visibility' },
|
|
34
22
|
toggled: {
|
|
35
23
|
condition: AuxiliaryBarVisibleContext,
|
|
36
|
-
title: (
|
|
37
|
-
mnemonicTitle: (
|
|
38
|
-
{ key: 'secondary sidebar mnemonic', comment: ['&& denotes a mnemonic'] },
|
|
39
|
-
"Secondary Si&&de Bar"
|
|
40
|
-
)),
|
|
24
|
+
title: localizeWithPath('vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions', 'secondary sidebar', "Secondary Side Bar"),
|
|
25
|
+
mnemonicTitle: localizeWithPath('vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions', { key: 'secondary sidebar mnemonic', comment: ['&& denotes a mnemonic'] }, "Secondary Si&&de Bar"),
|
|
41
26
|
},
|
|
42
27
|
category: Categories.View,
|
|
43
28
|
f1: true,
|
|
@@ -67,7 +52,7 @@ class ToggleAuxiliaryBarAction extends Action2 {
|
|
|
67
52
|
registerAction2(ToggleAuxiliaryBarAction);
|
|
68
53
|
registerAction2(class FocusAuxiliaryBarAction extends Action2 {
|
|
69
54
|
static { this.ID = 'workbench.action.focusAuxiliaryBar'; }
|
|
70
|
-
static { this.LABEL = (
|
|
55
|
+
static { this.LABEL = localizeWithPath('vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions', 'focusAuxiliaryBar', "Focus into Secondary Side Bar"); }
|
|
71
56
|
constructor() {
|
|
72
57
|
super({
|
|
73
58
|
id: FocusAuxiliaryBarAction.ID,
|
|
@@ -93,7 +78,7 @@ MenuRegistry.appendMenuItems([
|
|
|
93
78
|
group: '0_workbench_toggles',
|
|
94
79
|
command: {
|
|
95
80
|
id: ToggleAuxiliaryBarAction.ID,
|
|
96
|
-
title: (
|
|
81
|
+
title: localizeWithPath('vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions', 'toggleSecondarySideBar', "Toggle Secondary Side Bar"),
|
|
97
82
|
toggled: { condition: AuxiliaryBarVisibleContext, icon: auxiliaryBarLeftIcon },
|
|
98
83
|
icon: auxiliaryBarLeftOffIcon,
|
|
99
84
|
},
|
|
@@ -106,7 +91,7 @@ MenuRegistry.appendMenuItems([
|
|
|
106
91
|
group: '0_workbench_toggles',
|
|
107
92
|
command: {
|
|
108
93
|
id: ToggleAuxiliaryBarAction.ID,
|
|
109
|
-
title: (
|
|
94
|
+
title: localizeWithPath('vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions', 'toggleSecondarySideBar', "Toggle Secondary Side Bar"),
|
|
110
95
|
toggled: { condition: AuxiliaryBarVisibleContext, icon: auxiliaryBarRightIcon },
|
|
111
96
|
icon: auxiliaryBarRightOffIcon,
|
|
112
97
|
},
|
|
@@ -119,7 +104,7 @@ MenuRegistry.appendMenuItems([
|
|
|
119
104
|
group: '3_workbench_layout_move',
|
|
120
105
|
command: {
|
|
121
106
|
id: ToggleAuxiliaryBarAction.ID,
|
|
122
|
-
title: { value: (
|
|
107
|
+
title: { value: localizeWithPath('vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions', 'hideAuxiliaryBar', "Hide Secondary Side Bar"), original: 'Hide Secondary Side Bar' },
|
|
123
108
|
},
|
|
124
109
|
when: ( ContextKeyExpr.and(AuxiliaryBarVisibleContext, ( ContextKeyExpr.equals(
|
|
125
110
|
'viewLocation',
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __decorate, __param } from '../../../../../../external/tslib/tslib.es6.js';
|
|
2
|
-
import {
|
|
2
|
+
import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
|
|
3
3
|
import { Action, Separator } from 'monaco-editor/esm/vs/base/common/actions.js';
|
|
4
4
|
import { addDisposableListener, EventType, append, $, hide, clearNode, show, EventHelper, getDomNodePagePosition } from 'monaco-editor/esm/vs/base/browser/dom.js';
|
|
5
5
|
import { ICommandService } from 'monaco-editor/esm/vs/platform/commands/common/commands.js';
|
|
@@ -233,10 +233,10 @@ let ActivityActionViewItem = class ActivityActionViewItem extends BaseActionView
|
|
|
233
233
|
}
|
|
234
234
|
computeTitle() {
|
|
235
235
|
this.keybindingLabel = this.computeKeybindingLabel();
|
|
236
|
-
let title = this.keybindingLabel ? (
|
|
236
|
+
let title = this.keybindingLabel ? localizeWithPath('vs/workbench/browser/parts/compositeBarActions', 'titleKeybinding', "{0} ({1})", this.activity.name, this.keybindingLabel) : this.activity.name;
|
|
237
237
|
const badge = this.action.getBadge();
|
|
238
238
|
if (badge?.getDescription()) {
|
|
239
|
-
title = (
|
|
239
|
+
title = localizeWithPath('vs/workbench/browser/parts/compositeBarActions', 'badgeTitle', "{0} - {1}", title, badge.getDescription());
|
|
240
240
|
}
|
|
241
241
|
return title;
|
|
242
242
|
}
|
|
@@ -302,7 +302,7 @@ class CompositeOverflowActivityAction extends ActivityAction {
|
|
|
302
302
|
constructor(showMenu) {
|
|
303
303
|
super({
|
|
304
304
|
id: 'additionalComposites.action',
|
|
305
|
-
name: (
|
|
305
|
+
name: localizeWithPath('vs/workbench/browser/parts/compositeBarActions', 'additionalViews', "Additional Views"),
|
|
306
306
|
classNames: ThemeIcon.asClassNameArray(Codicon.more)
|
|
307
307
|
});
|
|
308
308
|
this.showMenu = showMenu;
|
|
@@ -346,7 +346,7 @@ let CompositeOverflowActivityActionViewItem = class CompositeOverflowActivityAct
|
|
|
346
346
|
suffix = badge.text;
|
|
347
347
|
}
|
|
348
348
|
if (suffix) {
|
|
349
|
-
action.label = (
|
|
349
|
+
action.label = localizeWithPath('vs/workbench/browser/parts/compositeBarActions', 'numberBadge', "{0} ({1})", composite.name, suffix);
|
|
350
350
|
}
|
|
351
351
|
else {
|
|
352
352
|
action.label = composite.name || '';
|
|
@@ -370,7 +370,7 @@ CompositeOverflowActivityActionViewItem = ( __decorate([
|
|
|
370
370
|
], CompositeOverflowActivityActionViewItem));
|
|
371
371
|
let ManageExtensionAction = class ManageExtensionAction extends Action {
|
|
372
372
|
constructor(commandService) {
|
|
373
|
-
super('activitybar.manage.extension', (
|
|
373
|
+
super('activitybar.manage.extension', localizeWithPath('vs/workbench/browser/parts/compositeBarActions', 'manageExtension', "Manage Extension"));
|
|
374
374
|
this.commandService = commandService;
|
|
375
375
|
}
|
|
376
376
|
run(id) {
|
|
@@ -481,18 +481,18 @@ let CompositeActionViewItem = class CompositeActionViewItem extends ActivityActi
|
|
|
481
481
|
}
|
|
482
482
|
const isPinned = this.compositeBar.isPinned(this.activity.id);
|
|
483
483
|
if (isPinned) {
|
|
484
|
-
this.toggleCompositePinnedAction.label = (
|
|
484
|
+
this.toggleCompositePinnedAction.label = localizeWithPath('vs/workbench/browser/parts/compositeBarActions', 'hide', "Hide '{0}'", this.activity.name);
|
|
485
485
|
this.toggleCompositePinnedAction.checked = false;
|
|
486
486
|
}
|
|
487
487
|
else {
|
|
488
|
-
this.toggleCompositePinnedAction.label = (
|
|
488
|
+
this.toggleCompositePinnedAction.label = localizeWithPath('vs/workbench/browser/parts/compositeBarActions', 'keep', "Keep '{0}'", this.activity.name);
|
|
489
489
|
}
|
|
490
490
|
const isBadgeEnabled = this.compositeBar.areBadgesEnabled(this.activity.id);
|
|
491
491
|
if (isBadgeEnabled) {
|
|
492
|
-
this.toggleCompositeBadgeAction.label = (
|
|
492
|
+
this.toggleCompositeBadgeAction.label = localizeWithPath('vs/workbench/browser/parts/compositeBarActions', 'hideBadge', "Hide Badge");
|
|
493
493
|
}
|
|
494
494
|
else {
|
|
495
|
-
this.toggleCompositeBadgeAction.label = (
|
|
495
|
+
this.toggleCompositeBadgeAction.label = localizeWithPath('vs/workbench/browser/parts/compositeBarActions', 'showBadge', "Show Badge");
|
|
496
496
|
}
|
|
497
497
|
const otherActions = this.contextMenuActionsProvider();
|
|
498
498
|
if (otherActions.length) {
|
|
@@ -551,7 +551,7 @@ CompositeActionViewItem = CompositeActionViewItem_1 = ( __decorate([
|
|
|
551
551
|
], CompositeActionViewItem));
|
|
552
552
|
class ToggleCompositePinnedAction extends Action {
|
|
553
553
|
constructor(activity, compositeBar) {
|
|
554
|
-
super('show.toggleCompositePinned', activity ? activity.name : (
|
|
554
|
+
super('show.toggleCompositePinned', activity ? activity.name : localizeWithPath('vs/workbench/browser/parts/compositeBarActions', 'toggle', "Toggle View Pinned"));
|
|
555
555
|
this.activity = activity;
|
|
556
556
|
this.compositeBar = compositeBar;
|
|
557
557
|
this.checked = !!this.activity && this.compositeBar.isPinned(this.activity.id);
|
|
@@ -568,7 +568,7 @@ class ToggleCompositePinnedAction extends Action {
|
|
|
568
568
|
}
|
|
569
569
|
class ToggleCompositeBadgeAction extends Action {
|
|
570
570
|
constructor(activity, compositeBar) {
|
|
571
|
-
super('show.toggleCompositeBadge', activity ? activity.name : (
|
|
571
|
+
super('show.toggleCompositeBadge', activity ? activity.name : localizeWithPath('vs/workbench/browser/parts/compositeBarActions', 'toggleBadge', "Toggle View Badge"));
|
|
572
572
|
this.activity = activity;
|
|
573
573
|
this.compositeBar = compositeBar;
|
|
574
574
|
this.checked = false;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
|
|
2
|
-
import {
|
|
2
|
+
import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
|
|
3
3
|
import { BINARY_DIFF_EDITOR_ID } from '../../../common/editor.js';
|
|
4
4
|
import { ITelemetryService } from 'monaco-editor/esm/vs/platform/telemetry/common/telemetry.js';
|
|
5
5
|
import { IThemeService } from 'monaco-editor/esm/vs/platform/theme/common/themeService.js';
|
|
@@ -20,12 +20,7 @@ let BinaryResourceDiffEditor = class BinaryResourceDiffEditor extends SideBySide
|
|
|
20
20
|
const primary = this.getPrimaryEditorPane();
|
|
21
21
|
const secondary = this.getSecondaryEditorPane();
|
|
22
22
|
if (primary instanceof BaseBinaryResourceEditor && secondary instanceof BaseBinaryResourceEditor) {
|
|
23
|
-
return (
|
|
24
|
-
'metadataDiff',
|
|
25
|
-
"{0} ↔ {1}",
|
|
26
|
-
secondary.getMetadata(),
|
|
27
|
-
primary.getMetadata()
|
|
28
|
-
));
|
|
23
|
+
return localizeWithPath('vs/workbench/browser/parts/editor/binaryDiffEditor', 'metadataDiff', "{0} ↔ {1}", secondary.getMetadata(), primary.getMetadata());
|
|
29
24
|
}
|
|
30
25
|
return undefined;
|
|
31
26
|
}
|