@codingame/monaco-vscode-api 1.83.1 → 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.
Files changed (233) hide show
  1. package/extensions.d.ts +3 -3
  2. package/extensions.js +31 -33
  3. package/l10n.d.ts +4 -0
  4. package/l10n.js +10 -0
  5. package/missing-services.js +4 -2
  6. package/monaco-editor-treemending.patch +12268 -1070
  7. package/monaco-treemending.js +8 -2
  8. package/package.json +8 -1
  9. package/service-override/extensions.js +2 -2
  10. package/service-override/layout.js +2 -2
  11. package/tools/l10n.js +177 -0
  12. package/tools.js +22 -1
  13. package/vscode/src/vs/base/browser/ui/menu/menubar.js +1 -1
  14. package/vscode/src/vs/base/browser/ui/splitview/paneview.js +2 -2
  15. package/vscode/src/vs/base/common/date.js +55 -55
  16. package/vscode/src/vs/base/common/jsonErrorMessages.js +10 -10
  17. package/vscode/src/vs/base/common/tfIdf.js +137 -0
  18. package/vscode/src/vs/editor/contrib/quickAccess/browser/commandsQuickAccess.js +23 -0
  19. package/vscode/src/vs/editor/contrib/quickAccess/browser/editorNavigationQuickAccess.js +115 -0
  20. package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +112 -0
  21. package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess.js +334 -0
  22. package/vscode/src/vs/platform/dialogs/common/dialogs.js +10 -14
  23. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +3 -0
  24. package/vscode/src/vs/platform/extensionManagement/common/extensionNls.js +2 -2
  25. package/vscode/src/vs/platform/files/common/fileService.js +28 -37
  26. package/vscode/src/vs/platform/files/common/files.js +6 -6
  27. package/vscode/src/vs/platform/files/common/io.js +2 -2
  28. package/vscode/src/vs/platform/keyboardLayout/common/keyboardConfig.js +3 -9
  29. package/vscode/src/vs/platform/quickinput/browser/commandsQuickAccess.js +300 -0
  30. package/vscode/src/vs/platform/quickinput/browser/helpQuickAccess.js +59 -0
  31. package/vscode/src/vs/platform/quickinput/browser/pickerQuickAccess.js +212 -0
  32. package/vscode/src/vs/platform/request/common/request.js +2 -2
  33. package/vscode/src/vs/platform/theme/common/tokenClassificationRegistry.js +42 -63
  34. package/vscode/src/vs/platform/workspaces/common/workspaces.js +15 -15
  35. package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.js +13 -32
  36. package/vscode/src/vs/workbench/api/browser/mainThreadComments.js +2 -2
  37. package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.js +50 -52
  38. package/vscode/src/vs/workbench/api/browser/mainThreadDocumentsAndEditors.js +58 -69
  39. package/vscode/src/vs/workbench/api/browser/mainThreadEditSessionIdentityParticipant.js +4 -5
  40. package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.js +38 -50
  41. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystem.js +23 -23
  42. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.js +21 -53
  43. package/vscode/src/vs/workbench/api/browser/mainThreadMessageService.js +4 -4
  44. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.js +4 -5
  45. package/vscode/src/vs/workbench/api/browser/mainThreadProgress.js +6 -2
  46. package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.js +4 -2
  47. package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +1 -1
  48. package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.js +2 -12
  49. package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.js +15 -9
  50. package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.js +16 -20
  51. package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.js +6 -28
  52. package/vscode/src/vs/workbench/api/browser/statusBarExtensionPoint.js +60 -0
  53. package/vscode/src/vs/workbench/api/common/extHostChat.js +3 -3
  54. package/vscode/src/vs/workbench/api/common/extHostCommands.js +59 -65
  55. package/vscode/src/vs/workbench/api/common/extHostConsoleForwarder.js +8 -8
  56. package/vscode/src/vs/workbench/api/common/extHostDiagnostics.js +2 -6
  57. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +2 -2
  58. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +150 -222
  59. package/vscode/src/vs/workbench/api/common/extHostLogService.js +2 -2
  60. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +3 -3
  61. package/vscode/src/vs/workbench/api/common/extHostProgress.js +2 -6
  62. package/vscode/src/vs/workbench/api/common/extHostSCM.js +54 -58
  63. package/vscode/src/vs/workbench/api/common/extHostStatusBar.js +3 -7
  64. package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +2 -6
  65. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +2 -6
  66. package/vscode/src/vs/workbench/api/common/extHostTreeViews.js +55 -57
  67. package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +28 -28
  68. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +265 -277
  69. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +2 -7
  70. package/vscode/src/vs/workbench/api/common/extensionHostMain.js +17 -19
  71. package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +9 -34
  72. package/vscode/src/vs/workbench/api/worker/extHostExtensionService.js +5 -5
  73. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +898 -68
  74. package/vscode/src/vs/workbench/browser/actions/quickAccessActions.js +7 -7
  75. package/vscode/src/vs/workbench/browser/actions/windowActions.js +32 -38
  76. package/vscode/src/vs/workbench/browser/actions/workspaceActions.js +103 -13
  77. package/vscode/src/vs/workbench/browser/actions/workspaceCommands.js +2 -2
  78. package/vscode/src/vs/workbench/browser/editor.js +3 -3
  79. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +12 -27
  80. package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +12 -12
  81. package/vscode/src/vs/workbench/browser/parts/editor/binaryDiffEditor.js +2 -7
  82. package/vscode/src/vs/workbench/browser/parts/editor/binaryEditor.js +4 -7
  83. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbs.js +42 -90
  84. package/vscode/src/vs/workbench/browser/parts/editor/editor.contribution.js +140 -272
  85. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +115 -148
  86. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +21 -33
  87. package/vscode/src/vs/workbench/browser/parts/editor/editorConfiguration.js +7 -19
  88. package/vscode/src/vs/workbench/browser/parts/editor/editorPlaceholder.js +10 -26
  89. package/vscode/src/vs/workbench/browser/parts/editor/editorQuickAccess.js +7 -17
  90. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +60 -81
  91. package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +27 -33
  92. package/vscode/src/vs/workbench/browser/parts/editor/textCodeEditor.js +2 -2
  93. package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +19 -32
  94. package/vscode/src/vs/workbench/browser/parts/editor/textEditor.js +2 -2
  95. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +8 -8
  96. package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +69 -34
  97. package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +58 -34
  98. package/vscode/src/vs/workbench/browser/parts/views/viewFilter.js +2 -2
  99. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +3 -9
  100. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +6 -6
  101. package/vscode/src/vs/workbench/browser/parts/views/viewsService.js +7 -11
  102. package/vscode/src/vs/workbench/browser/quickaccess.js +7 -3
  103. package/vscode/src/vs/workbench/browser/workbench.contribution.js +186 -683
  104. package/vscode/src/vs/workbench/common/configuration.js +12 -15
  105. package/vscode/src/vs/workbench/common/contextkeys.js +272 -90
  106. package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +2 -2
  107. package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +2 -7
  108. package/vscode/src/vs/workbench/common/editor/textEditorModel.js +2 -6
  109. package/vscode/src/vs/workbench/common/editor.js +5 -5
  110. package/vscode/src/vs/workbench/common/theme.js +137 -527
  111. package/vscode/src/vs/workbench/common/views.js +4 -8
  112. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +15 -55
  113. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityContributions.js +3 -8
  114. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleView.js +22 -60
  115. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +9 -15
  116. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkEditService.js +18 -48
  117. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkFileEdits.js +58 -74
  118. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +2 -0
  119. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +5 -10
  120. package/vscode/src/vs/workbench/contrib/chat/common/chatSlashCommands.js +5 -13
  121. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +8 -27
  122. package/vscode/src/vs/workbench/contrib/codeActions/common/codeActionsExtensionPoint.js +5 -17
  123. package/vscode/src/vs/workbench/contrib/codeActions/common/documentationExtensionPoint.js +6 -15
  124. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +7 -20
  125. package/vscode/src/vs/workbench/contrib/codeEditor/browser/inspectEditorTokens/inspectEditorTokens.js +2 -2
  126. package/vscode/src/vs/workbench/contrib/codeEditor/browser/languageConfigurationExtensionPoint.js +63 -216
  127. package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +4 -7
  128. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoLineQuickAccess.js +5 -8
  129. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +8 -11
  130. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +5 -15
  131. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +3 -3
  132. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +5 -5
  133. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +3 -6
  134. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +3 -6
  135. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +10 -9
  136. package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +6 -15
  137. package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +5 -20
  138. package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +3 -10
  139. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +4 -4
  140. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +3 -20
  141. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +9 -3
  142. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +4 -13
  143. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +19 -19
  144. package/vscode/src/vs/workbench/contrib/comments/browser/comments.contribution.js +26 -77
  145. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +5 -17
  146. package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +31 -40
  147. package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +10 -29
  148. package/vscode/src/vs/workbench/contrib/comments/browser/commentsViewActions.js +10 -10
  149. package/vscode/src/vs/workbench/contrib/comments/browser/reactionsAction.js +8 -8
  150. package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +25 -21
  151. package/vscode/src/vs/workbench/contrib/comments/common/commentModel.js +2 -2
  152. package/vscode/src/vs/workbench/contrib/customEditor/common/customEditor.js +1 -4
  153. package/vscode/src/vs/workbench/contrib/debug/browser/debugColors.js +20 -20
  154. package/vscode/src/vs/workbench/contrib/debug/browser/debugIcons.js +56 -98
  155. package/vscode/src/vs/workbench/contrib/debug/common/abstractDebugAdapter.js +2 -2
  156. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +96 -180
  157. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsIcons.js +25 -79
  158. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/configuration.js +4 -15
  159. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/externalUriOpenerService.js +4 -8
  160. package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +56 -19
  161. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +76 -230
  162. package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +6 -5
  163. package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +33 -103
  164. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution.js +228 -99
  165. package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +1 -1
  166. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerDecorationsProvider.js +5 -9
  167. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +5 -5
  168. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +15 -35
  169. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +5 -8
  170. package/vscode/src/vs/workbench/contrib/files/common/files.js +27 -48
  171. package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +3 -6
  172. package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +1 -1
  173. package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +5 -8
  174. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +112 -52
  175. package/vscode/src/vs/workbench/contrib/keybindings/browser/keybindings.contribution.js +1 -1
  176. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +2 -2
  177. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +30 -96
  178. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mapping.js +73 -126
  179. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +3 -3
  180. package/vscode/src/vs/workbench/contrib/mergeEditor/common/mergeEditor.js +42 -0
  181. package/vscode/src/vs/workbench/contrib/output/browser/output.contribution.js +23 -29
  182. package/vscode/src/vs/workbench/contrib/output/browser/outputView.js +3 -3
  183. package/vscode/src/vs/workbench/contrib/quickaccess/browser/commandsQuickAccess.js +13 -16
  184. package/vscode/src/vs/workbench/contrib/quickaccess/browser/quickAccess.contribution.js +15 -34
  185. package/vscode/src/vs/workbench/contrib/quickaccess/browser/viewQuickAccess.js +12 -17
  186. package/vscode/src/vs/workbench/contrib/scm/browser/dirtyDiffSwitcher.js +2 -2
  187. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +26 -75
  188. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +4 -19
  189. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +4 -4
  190. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +60 -99
  191. package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +5 -14
  192. package/vscode/src/vs/workbench/contrib/tasks/common/taskService.js +26 -13
  193. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +88 -96
  194. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +5 -17
  195. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +7 -28
  196. package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +21 -78
  197. package/vscode/src/vs/workbench/contrib/terminal/common/terminalContextKey.js +21 -53
  198. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +2 -2
  199. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +2 -5
  200. package/vscode/src/vs/workbench/services/actions/common/menusExtensionPoint.js +113 -348
  201. package/vscode/src/vs/workbench/services/assignment/common/assignmentService.js +2 -5
  202. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +31 -1
  203. package/vscode/src/vs/workbench/services/configuration/common/jsonEditingService.js +1 -4
  204. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +16 -16
  205. package/vscode/src/vs/workbench/services/decorations/browser/decorationsService.js +2 -2
  206. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +2 -5
  207. package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +4 -4
  208. package/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.js +27 -29
  209. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +104 -141
  210. package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +35 -39
  211. package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.js +25 -25
  212. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +80 -296
  213. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +6 -21
  214. package/vscode/src/vs/workbench/services/host/browser/browserHostService.js +3 -6
  215. package/vscode/src/vs/workbench/services/keybinding/browser/keybindingService.js +24 -81
  216. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayoutService.js +2 -2
  217. package/vscode/src/vs/workbench/services/keybinding/common/keybindingEditing.js +11 -17
  218. package/vscode/src/vs/workbench/services/keybinding/common/macLinuxKeyboardMapper.js +30 -32
  219. package/vscode/src/vs/workbench/services/language/common/languageService.js +23 -98
  220. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +83 -95
  221. package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +1 -5
  222. package/vscode/src/vs/workbench/services/textfile/browser/textFileService.js +11 -23
  223. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +32 -32
  224. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModelManager.js +2 -7
  225. package/vscode/src/vs/workbench/services/textfile/common/textFileSaveParticipant.js +2 -2
  226. package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +16 -53
  227. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +50 -1
  228. package/vscode/src/vs/workbench/services/themes/common/tokenClassificationExtensionPoint.js +25 -99
  229. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.js +16 -16
  230. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.js +6 -3
  231. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +15 -3
  232. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopySaveParticipant.js +2 -2
  233. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyBackupService.js +32 -42
@@ -1,4 +1,4 @@
1
- import { localize } from 'monaco-editor/esm/vs/nls.js';
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: ( localize('quickOpen', "Go to File...")),
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: ( localize('quickOpenWithModes', "Quick Open")),
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: ( localize('quickNavigateNext', "Navigate Next in Quick Open")), original: 'Navigate Next in Quick Open' }, true, true);
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: ( localize('quickNavigatePrevious', "Navigate Previous in Quick Open")), original: 'Navigate Previous in Quick Open' }, false, true);
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: ( localize('quickSelectNext', "Select Next in Quick Open")), original: 'Select Next in Quick Open' }, true, false, {
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: ( localize('quickSelectPrevious', "Select Previous in Quick Open")), original: 'Select Previous in Quick Open' }, false, false, {
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 { localize } from 'monaco-editor/esm/vs/nls.js';
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: ( localize('remove', "Remove from Recently Opened"))
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: ( localize('dirtyRecentlyOpenedFolder', "Folder With Unsaved Files")),
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: ( localize('dirtyRecentlyOpenedWorkspace', "Workspace With Unsaved Files")),
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 ? ( localize('workspacesAndFolders', "folders & workspaces")) : ( localize('folders', "folders")) };
101
- const fileSeparator = { type: 'separator', label: ( localize('files', "files")) };
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 ? ( localize(
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 ? ( localize('dirtyWorkspace', "Workspace with Unsaved Files")) : ( localize('dirtyFolder', "Folder with Unsaved Files")),
126
- message: isDirtyWorkspace ? ( localize(
127
- 'dirtyWorkspaceConfirm',
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 ? ( localize(
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: ( localize('openRecent', "Open Recent...")),
207
- mnemonicTitle: ( localize({ key: 'miMore', comment: ['&& denotes a mnemonic'] }, "&&More...")),
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: ( localize('reloadWindow', "Reload Window")), original: 'Reload Window' },
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 { localize } from 'monaco-editor/esm/vs/nls.js';
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: ( localize('workspaces', "Workspaces")), original: 'Workspaces' };
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: ( localize('openFile', "Open File...")), original: 'Open File...' },
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: ( localize('openFolder', "Open Folder...")), original: 'Open Folder...' },
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: ( localize('openFolder', "Open Folder...")), original: 'Open Folder...' },
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: ( localize('openFileFolder', "Open...")), original: 'Open...' }; }
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: ( localize('openWorkspaceAction', "Open Workspace from File...")), original: 'Open Workspace from File...' },
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: ( localize('closeWorkspace', "Close Workspace")), original: 'Close Workspace' },
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: ( localize('openWorkspaceConfigFile', "Open Workspace Configuration File")), original: 'Open Workspace Configuration File' },
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: ( localize('globalRemoveFolderFromWorkspace', "Remove Folder from Workspace...")), original: 'Remove Folder from Workspace...' },
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: ( localize('saveWorkspaceAsAction', "Save Workspace As...")), original: 'Save Workspace As...' },
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: ( localize('duplicateWorkspaceInNewWindow', "Duplicate As Workspace in New Window")), original: 'Duplicate As Workspace in New Window' },
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 { localize } from 'monaco-editor/esm/vs/nls.js';
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: ( localize('addFolderToWorkspace', "Add Folder to Workspace...")), original: 'Add Folder to Workspace...' };
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 { localize } from 'monaco-editor/esm/vs/nls.js';
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 = ( localize('preview', "{0}, preview", ariaLabel));
144
+ ariaLabel = localizeWithPath('vs/workbench/browser/editor', 'preview', "{0}, preview", ariaLabel);
145
145
  }
146
146
  if (group?.isSticky(index ?? input)) {
147
- ariaLabel = ( localize('pinned', "{0}, pinned", 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 { localize } from 'monaco-editor/esm/vs/nls.js';
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, ( localize(
12
- 'toggleAuxiliaryIconRight',
13
- 'Icon to toggle the auxiliary bar off in its right position.'
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 = ( localize('toggleAuxiliaryBar', "Toggle Secondary Side Bar Visibility")); }
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: ( localize('secondary sidebar', "Secondary Side Bar")),
37
- mnemonicTitle: ( localize(
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 = ( localize('focusAuxiliaryBar', "Focus into Secondary Side Bar")); }
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: ( localize('toggleSecondarySideBar', "Toggle Secondary Side Bar")),
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: ( localize('toggleSecondarySideBar', "Toggle Secondary Side Bar")),
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: ( localize('hideAuxiliaryBar', "Hide Secondary Side Bar")), original: 'Hide Secondary Side Bar' },
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 { localize } from 'monaco-editor/esm/vs/nls.js';
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 ? ( localize('titleKeybinding', "{0} ({1})", this.activity.name, this.keybindingLabel)) : this.activity.name;
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 = ( localize('badgeTitle', "{0} - {1}", title, badge.getDescription()));
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: ( localize('additionalViews', "Additional Views")),
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 = ( localize('numberBadge', "{0} ({1})", composite.name, suffix));
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', ( localize('manageExtension', "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 = ( localize('hide', "Hide '{0}'", this.activity.name));
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 = ( localize('keep', "Keep '{0}'", this.activity.name));
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 = ( localize('hideBadge', "Hide Badge"));
492
+ this.toggleCompositeBadgeAction.label = localizeWithPath('vs/workbench/browser/parts/compositeBarActions', 'hideBadge', "Hide Badge");
493
493
  }
494
494
  else {
495
- this.toggleCompositeBadgeAction.label = ( localize('showBadge', "Show Badge"));
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 : ( localize('toggle', "Toggle View Pinned")));
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 : ( localize('toggleBadge', "Toggle View Badge")));
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 { localize } from 'monaco-editor/esm/vs/nls.js';
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 ( localize(
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
  }