@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
@@ -51,18 +51,18 @@ import { KeyChord } from 'monaco-editor/esm/vs/base/common/keyCodes.js';
51
51
  import { Categories } from 'monaco-editor/esm/vs/platform/action/common/actionCommonCategories.js';
52
52
  import { IDialogService, getFileNamesMessage } from '../../../../platform/dialogs/common/dialogs.js';
53
53
  const NEW_FILE_COMMAND_ID = 'explorer.newFile';
54
- const NEW_FILE_LABEL = ( nls.localize('newFile', "New File..."));
54
+ const NEW_FILE_LABEL = nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'newFile', "New File...");
55
55
  const NEW_FOLDER_COMMAND_ID = 'explorer.newFolder';
56
- const NEW_FOLDER_LABEL = ( nls.localize('newFolder', "New Folder..."));
57
- const TRIGGER_RENAME_LABEL = ( nls.localize('rename', "Rename..."));
58
- const MOVE_FILE_TO_TRASH_LABEL = ( nls.localize('delete', "Delete"));
59
- const COPY_FILE_LABEL = ( nls.localize('copyFile', "Copy"));
60
- const PASTE_FILE_LABEL = ( nls.localize('pasteFile', "Paste"));
56
+ const NEW_FOLDER_LABEL = nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'newFolder', "New Folder...");
57
+ const TRIGGER_RENAME_LABEL = nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'rename', "Rename...");
58
+ const MOVE_FILE_TO_TRASH_LABEL = nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'delete', "Delete");
59
+ const COPY_FILE_LABEL = nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'copyFile', "Copy");
60
+ const PASTE_FILE_LABEL = nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'pasteFile', "Paste");
61
61
  const FileCopiedContext = ( new RawContextKey('fileCopied', false));
62
62
  const DOWNLOAD_COMMAND_ID = 'explorer.download';
63
- const DOWNLOAD_LABEL = ( nls.localize('download', "Download..."));
63
+ const DOWNLOAD_LABEL = nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'download', "Download...");
64
64
  const UPLOAD_COMMAND_ID = 'explorer.upload';
65
- const UPLOAD_LABEL = ( nls.localize('upload', "Upload..."));
65
+ const UPLOAD_LABEL = nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'upload', "Upload...");
66
66
  const CONFIRM_DELETE_SETTING_KEY = 'explorer.confirmDelete';
67
67
  const MAX_UNDO_FILE_SIZE = 5000000;
68
68
  function onError(notificationService, error) {
@@ -79,16 +79,10 @@ async function refreshIfSeparator(value, explorerService) {
79
79
  async function deleteFiles(explorerService, workingCopyFileService, dialogService, configurationService, elements, useTrash, skipConfirm = false, ignoreIfNotExists = false) {
80
80
  let primaryButton;
81
81
  if (useTrash) {
82
- primaryButton = isWindows ? ( nls.localize('deleteButtonLabelRecycleBin', "&&Move to Recycle Bin")) : ( nls.localize(
83
- { key: 'deleteButtonLabelTrash', comment: ['&& denotes a mnemonic'] },
84
- "&&Move to Trash"
85
- ));
82
+ primaryButton = isWindows ? nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'deleteButtonLabelRecycleBin', "&&Move to Recycle Bin") : nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', { key: 'deleteButtonLabelTrash', comment: ['&& denotes a mnemonic'] }, "&&Move to Trash");
86
83
  }
87
84
  else {
88
- primaryButton = ( nls.localize(
89
- { key: 'deleteButtonLabel', comment: ['&& denotes a mnemonic'] },
90
- "&&Delete"
91
- ));
85
+ primaryButton = nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', { key: 'deleteButtonLabel', comment: ['&& denotes a mnemonic'] }, "&&Delete");
92
86
  }
93
87
  const distinctElements = resources.distinctParents(elements, e => e.resource);
94
88
  const dirtyWorkingCopies = ( new Set());
@@ -101,39 +95,23 @@ async function deleteFiles(explorerService, workingCopyFileService, dialogServic
101
95
  if (dirtyWorkingCopies.size) {
102
96
  let message;
103
97
  if (distinctElements.length > 1) {
104
- message = ( nls.localize(
105
- 'dirtyMessageFilesDelete',
106
- "You are deleting files with unsaved changes. Do you want to continue?"
107
- ));
98
+ message = nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'dirtyMessageFilesDelete', "You are deleting files with unsaved changes. Do you want to continue?");
108
99
  }
109
100
  else if (distinctElements[0].isDirectory) {
110
101
  if (dirtyWorkingCopies.size === 1) {
111
- message = ( nls.localize(
112
- 'dirtyMessageFolderOneDelete',
113
- "You are deleting a folder {0} with unsaved changes in 1 file. Do you want to continue?",
114
- distinctElements[0].name
115
- ));
102
+ message = nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'dirtyMessageFolderOneDelete', "You are deleting a folder {0} with unsaved changes in 1 file. Do you want to continue?", distinctElements[0].name);
116
103
  }
117
104
  else {
118
- message = ( nls.localize(
119
- 'dirtyMessageFolderDelete',
120
- "You are deleting a folder {0} with unsaved changes in {1} files. Do you want to continue?",
121
- distinctElements[0].name,
122
- dirtyWorkingCopies.size
123
- ));
105
+ message = nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'dirtyMessageFolderDelete', "You are deleting a folder {0} with unsaved changes in {1} files. Do you want to continue?", distinctElements[0].name, dirtyWorkingCopies.size);
124
106
  }
125
107
  }
126
108
  else {
127
- message = ( nls.localize(
128
- 'dirtyMessageFileDelete',
129
- "You are deleting {0} with unsaved changes. Do you want to continue?",
130
- distinctElements[0].name
131
- ));
109
+ message = nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'dirtyMessageFileDelete', "You are deleting {0} with unsaved changes. Do you want to continue?", distinctElements[0].name);
132
110
  }
133
111
  const response = await dialogService.confirm({
134
112
  type: 'warning',
135
113
  message,
136
- detail: ( nls.localize('dirtyWarning', "Your changes will be lost if you don't save them.")),
114
+ detail: nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'dirtyWarning', "Your changes will be lost if you don't save them."),
137
115
  primaryButton
138
116
  });
139
117
  if (!response.confirmed) {
@@ -147,8 +125,8 @@ async function deleteFiles(explorerService, workingCopyFileService, dialogServic
147
125
  return;
148
126
  }
149
127
  let confirmation;
150
- const deleteDetail = ( distinctElements.some(e => e.isDirectory)) ? ( nls.localize('irreversible', "This action is irreversible!")) :
151
- distinctElements.length > 1 ? ( nls.localize('restorePlural', "You can restore these files using the Undo command")) : ( nls.localize('restore', "You can restore this file using the Undo command"));
128
+ const deleteDetail = ( distinctElements.some(e => e.isDirectory)) ? nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'irreversible', "This action is irreversible!") :
129
+ distinctElements.length > 1 ? nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'restorePlural', "You can restore these files using the Undo command") : nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'restore', "You can restore this file using the Undo command");
152
130
  if (skipConfirm || (useTrash && configurationService.getValue(CONFIRM_DELETE_SETTING_KEY) === false)) {
153
131
  confirmation = { confirmed: true };
154
132
  }
@@ -156,17 +134,17 @@ async function deleteFiles(explorerService, workingCopyFileService, dialogServic
156
134
  let { message, detail } = getMoveToTrashMessage(distinctElements);
157
135
  detail += detail ? '\n' : '';
158
136
  if (isWindows) {
159
- detail += distinctElements.length > 1 ? ( nls.localize('undoBinFiles', "You can restore these files from the Recycle Bin.")) : ( nls.localize('undoBin', "You can restore this file from the Recycle Bin."));
137
+ detail += distinctElements.length > 1 ? nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'undoBinFiles', "You can restore these files from the Recycle Bin.") : nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'undoBin', "You can restore this file from the Recycle Bin.");
160
138
  }
161
139
  else {
162
- detail += distinctElements.length > 1 ? ( nls.localize('undoTrashFiles', "You can restore these files from the Trash.")) : ( nls.localize('undoTrash', "You can restore this file from the Trash."));
140
+ detail += distinctElements.length > 1 ? nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'undoTrashFiles', "You can restore these files from the Trash.") : nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'undoTrash', "You can restore this file from the Trash.");
163
141
  }
164
142
  confirmation = await dialogService.confirm({
165
143
  message,
166
144
  detail,
167
145
  primaryButton,
168
146
  checkbox: {
169
- label: ( nls.localize('doNotAskAgain', "Do not ask me again"))
147
+ label: nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'doNotAskAgain', "Do not ask me again")
170
148
  }
171
149
  });
172
150
  }
@@ -194,24 +172,8 @@ async function deleteFiles(explorerService, workingCopyFileService, dialogServic
194
172
  { recursive: true, folder: e.isDirectory, ignoreIfNotExists, skipTrashBin: !useTrash, maxSize: MAX_UNDO_FILE_SIZE }
195
173
  ))));
196
174
  const options = {
197
- undoLabel: distinctElements.length > 1 ? ( nls.localize(
198
- { key: 'deleteBulkEdit', comment: ['Placeholder will be replaced by the number of files deleted'] },
199
- "Delete {0} files",
200
- distinctElements.length
201
- )) : ( nls.localize(
202
- { key: 'deleteFileBulkEdit', comment: ['Placeholder will be replaced by the name of the file deleted'] },
203
- "Delete {0}",
204
- distinctElements[0].name
205
- )),
206
- progressLabel: distinctElements.length > 1 ? ( nls.localize(
207
- { key: 'deletingBulkEdit', comment: ['Placeholder will be replaced by the number of files deleted'] },
208
- "Deleting {0} files",
209
- distinctElements.length
210
- )) : ( nls.localize(
211
- { key: 'deletingFileBulkEdit', comment: ['Placeholder will be replaced by the name of the file deleted'] },
212
- "Deleting {0}",
213
- distinctElements[0].name
214
- )),
175
+ undoLabel: distinctElements.length > 1 ? nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', { key: 'deleteBulkEdit', comment: ['Placeholder will be replaced by the number of files deleted'] }, "Delete {0} files", distinctElements.length) : nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', { key: 'deleteFileBulkEdit', comment: ['Placeholder will be replaced by the name of the file deleted'] }, "Delete {0}", distinctElements[0].name),
176
+ progressLabel: distinctElements.length > 1 ? nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', { key: 'deletingBulkEdit', comment: ['Placeholder will be replaced by the number of files deleted'] }, "Deleting {0} files", distinctElements.length) : nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', { key: 'deletingFileBulkEdit', comment: ['Placeholder will be replaced by the name of the file deleted'] }, "Deleting {0}", distinctElements[0].name),
215
177
  };
216
178
  await explorerService.applyBulkEdit(resourceFileEdits, options);
217
179
  }
@@ -220,22 +182,13 @@ async function deleteFiles(explorerService, workingCopyFileService, dialogServic
220
182
  let detailMessage;
221
183
  let primaryButton;
222
184
  if (useTrash) {
223
- errorMessage = isWindows ? ( nls.localize(
224
- 'binFailed',
225
- "Failed to delete using the Recycle Bin. Do you want to permanently delete instead?"
226
- )) : ( nls.localize(
227
- 'trashFailed',
228
- "Failed to delete using the Trash. Do you want to permanently delete instead?"
229
- ));
185
+ errorMessage = isWindows ? nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'binFailed', "Failed to delete using the Recycle Bin. Do you want to permanently delete instead?") : nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'trashFailed', "Failed to delete using the Trash. Do you want to permanently delete instead?");
230
186
  detailMessage = deleteDetail;
231
- primaryButton = ( nls.localize(
232
- { key: 'deletePermanentlyButtonLabel', comment: ['&& denotes a mnemonic'] },
233
- "&&Delete Permanently"
234
- ));
187
+ primaryButton = nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', { key: 'deletePermanentlyButtonLabel', comment: ['&& denotes a mnemonic'] }, "&&Delete Permanently");
235
188
  }
236
189
  else {
237
190
  errorMessage = toErrorMessage(error, false);
238
- primaryButton = ( nls.localize({ key: 'retryButtonLabel', comment: ['&& denotes a mnemonic'] }, "&&Retry"));
191
+ primaryButton = nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', { key: 'retryButtonLabel', comment: ['&& denotes a mnemonic'] }, "&&Retry");
239
192
  }
240
193
  const res = await dialogService.confirm({
241
194
  type: 'warning',
@@ -256,90 +209,50 @@ async function deleteFiles(explorerService, workingCopyFileService, dialogServic
256
209
  function getMoveToTrashMessage(distinctElements) {
257
210
  if (containsBothDirectoryAndFile(distinctElements)) {
258
211
  return {
259
- message: ( nls.localize(
260
- 'confirmMoveTrashMessageFilesAndDirectories',
261
- "Are you sure you want to delete the following {0} files/directories and their contents?",
262
- distinctElements.length
263
- )),
212
+ message: nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'confirmMoveTrashMessageFilesAndDirectories', "Are you sure you want to delete the following {0} files/directories and their contents?", distinctElements.length),
264
213
  detail: getFileNamesMessage(( distinctElements.map(e => e.resource)))
265
214
  };
266
215
  }
267
216
  if (distinctElements.length > 1) {
268
217
  if (distinctElements[0].isDirectory) {
269
218
  return {
270
- message: ( nls.localize(
271
- 'confirmMoveTrashMessageMultipleDirectories',
272
- "Are you sure you want to delete the following {0} directories and their contents?",
273
- distinctElements.length
274
- )),
219
+ message: nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'confirmMoveTrashMessageMultipleDirectories', "Are you sure you want to delete the following {0} directories and their contents?", distinctElements.length),
275
220
  detail: getFileNamesMessage(( distinctElements.map(e => e.resource)))
276
221
  };
277
222
  }
278
223
  return {
279
- message: ( nls.localize(
280
- 'confirmMoveTrashMessageMultiple',
281
- "Are you sure you want to delete the following {0} files?",
282
- distinctElements.length
283
- )),
224
+ message: nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'confirmMoveTrashMessageMultiple', "Are you sure you want to delete the following {0} files?", distinctElements.length),
284
225
  detail: getFileNamesMessage(( distinctElements.map(e => e.resource)))
285
226
  };
286
227
  }
287
228
  if (distinctElements[0].isDirectory && !distinctElements[0].isSymbolicLink) {
288
- return { message: ( nls.localize(
289
- 'confirmMoveTrashMessageFolder',
290
- "Are you sure you want to delete '{0}' and its contents?",
291
- distinctElements[0].name
292
- )), detail: '' };
293
- }
294
- return { message: ( nls.localize(
295
- 'confirmMoveTrashMessageFile',
296
- "Are you sure you want to delete '{0}'?",
297
- distinctElements[0].name
298
- )), detail: '' };
229
+ return { message: nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'confirmMoveTrashMessageFolder', "Are you sure you want to delete '{0}' and its contents?", distinctElements[0].name), detail: '' };
230
+ }
231
+ return { message: nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'confirmMoveTrashMessageFile', "Are you sure you want to delete '{0}'?", distinctElements[0].name), detail: '' };
299
232
  }
300
233
  function getDeleteMessage(distinctElements) {
301
234
  if (containsBothDirectoryAndFile(distinctElements)) {
302
235
  return {
303
- message: ( nls.localize(
304
- 'confirmDeleteMessageFilesAndDirectories',
305
- "Are you sure you want to permanently delete the following {0} files/directories and their contents?",
306
- distinctElements.length
307
- )),
236
+ message: nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'confirmDeleteMessageFilesAndDirectories', "Are you sure you want to permanently delete the following {0} files/directories and their contents?", distinctElements.length),
308
237
  detail: getFileNamesMessage(( distinctElements.map(e => e.resource)))
309
238
  };
310
239
  }
311
240
  if (distinctElements.length > 1) {
312
241
  if (distinctElements[0].isDirectory) {
313
242
  return {
314
- message: ( nls.localize(
315
- 'confirmDeleteMessageMultipleDirectories',
316
- "Are you sure you want to permanently delete the following {0} directories and their contents?",
317
- distinctElements.length
318
- )),
243
+ message: nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'confirmDeleteMessageMultipleDirectories', "Are you sure you want to permanently delete the following {0} directories and their contents?", distinctElements.length),
319
244
  detail: getFileNamesMessage(( distinctElements.map(e => e.resource)))
320
245
  };
321
246
  }
322
247
  return {
323
- message: ( nls.localize(
324
- 'confirmDeleteMessageMultiple',
325
- "Are you sure you want to permanently delete the following {0} files?",
326
- distinctElements.length
327
- )),
248
+ message: nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'confirmDeleteMessageMultiple', "Are you sure you want to permanently delete the following {0} files?", distinctElements.length),
328
249
  detail: getFileNamesMessage(( distinctElements.map(e => e.resource)))
329
250
  };
330
251
  }
331
252
  if (distinctElements[0].isDirectory) {
332
- return { message: ( nls.localize(
333
- 'confirmDeleteMessageFolder',
334
- "Are you sure you want to permanently delete '{0}' and its contents?",
335
- distinctElements[0].name
336
- )), detail: '' };
337
- }
338
- return { message: ( nls.localize(
339
- 'confirmDeleteMessageFile',
340
- "Are you sure you want to permanently delete '{0}'?",
341
- distinctElements[0].name
342
- )), detail: '' };
253
+ return { message: nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'confirmDeleteMessageFolder', "Are you sure you want to permanently delete '{0}' and its contents?", distinctElements[0].name), detail: '' };
254
+ }
255
+ return { message: nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'confirmDeleteMessageFile', "Are you sure you want to permanently delete '{0}'?", distinctElements[0].name), detail: '' };
343
256
  }
344
257
  function containsBothDirectoryAndFile(distinctElements) {
345
258
  const directory = distinctElements.find(element => element.isDirectory);
@@ -466,18 +379,14 @@ async function askForOverwrite(fileService, dialogService, targetResource) {
466
379
  }
467
380
  const { confirmed } = await dialogService.confirm({
468
381
  type: Severity.Warning,
469
- message: ( nls.localize(
470
- 'confirmOverwrite',
471
- "A file or folder with the name '{0}' already exists in the destination folder. Do you want to replace it?",
472
- basename(targetResource.path)
473
- )),
474
- primaryButton: ( nls.localize('replaceButtonLabel', "&&Replace"))
382
+ message: nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'confirmOverwrite', "A file or folder with the name '{0}' already exists in the destination folder. Do you want to replace it?", basename(targetResource.path)),
383
+ primaryButton: nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'replaceButtonLabel', "&&Replace")
475
384
  });
476
385
  return confirmed;
477
386
  }
478
387
  class GlobalCompareResourcesAction extends Action2 {
479
388
  static { this.ID = 'workbench.files.action.compareFileWith'; }
480
- static { this.LABEL = ( nls.localize('globalCompareFile', "Compare Active File With...")); }
389
+ static { this.LABEL = nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'globalCompareFile', "Compare Active File With..."); }
481
390
  constructor() {
482
391
  super({
483
392
  id: GlobalCompareResourcesAction.ID,
@@ -510,7 +419,7 @@ class GlobalCompareResourcesAction extends Action2 {
510
419
  }
511
420
  class ToggleAutoSaveAction extends Action2 {
512
421
  static { this.ID = 'workbench.action.toggleAutoSave'; }
513
- static { this.LABEL = ( nls.localize('toggleAutoSave', "Toggle Auto Save")); }
422
+ static { this.LABEL = nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'toggleAutoSave', "Toggle Auto Save"); }
514
423
  constructor() {
515
424
  super({
516
425
  id: ToggleAutoSaveAction.ID,
@@ -560,7 +469,7 @@ BaseSaveAllAction = ( __decorate([
560
469
  ], BaseSaveAllAction));
561
470
  class SaveAllInGroupAction extends BaseSaveAllAction {
562
471
  static { this.ID = 'workbench.files.action.saveAllInGroup'; }
563
- static { this.LABEL = ( nls.localize('saveAllInGroup', "Save All in Group")); }
472
+ static { this.LABEL = nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'saveAllInGroup', "Save All in Group"); }
564
473
  get class() {
565
474
  return 'explorer-action ' + ThemeIcon.asClassName(Codicon.saveAll);
566
475
  }
@@ -570,7 +479,7 @@ class SaveAllInGroupAction extends BaseSaveAllAction {
570
479
  }
571
480
  let CloseGroupAction = class CloseGroupAction extends Action {
572
481
  static { this.ID = 'workbench.files.action.closeGroup'; }
573
- static { this.LABEL = ( nls.localize('closeGroup', "Close Group")); }
482
+ static { this.LABEL = nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'closeGroup', "Close Group"); }
574
483
  constructor(id, label, commandService) {
575
484
  super(id, label, ThemeIcon.asClassName(Codicon.closeAll));
576
485
  this.commandService = commandService;
@@ -584,7 +493,7 @@ CloseGroupAction = ( __decorate([
584
493
  ], CloseGroupAction));
585
494
  class FocusFilesExplorer extends Action2 {
586
495
  static { this.ID = 'workbench.files.action.focusFilesExplorer'; }
587
- static { this.LABEL = ( nls.localize('focusFilesExplorer', "Focus on Files Explorer")); }
496
+ static { this.LABEL = nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'focusFilesExplorer', "Focus on Files Explorer"); }
588
497
  constructor() {
589
498
  super({
590
499
  id: FocusFilesExplorer.ID,
@@ -600,7 +509,7 @@ class FocusFilesExplorer extends Action2 {
600
509
  }
601
510
  class ShowActiveFileInExplorer extends Action2 {
602
511
  static { this.ID = 'workbench.files.action.showActiveFileInExplorer'; }
603
- static { this.LABEL = ( nls.localize('showInExplorer', "Reveal Active File in Explorer View")); }
512
+ static { this.LABEL = nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'showInExplorer', "Reveal Active File in Explorer View"); }
604
513
  constructor() {
605
514
  super({
606
515
  id: ShowActiveFileInExplorer.ID,
@@ -620,7 +529,7 @@ class ShowActiveFileInExplorer extends Action2 {
620
529
  }
621
530
  class ShowOpenedFileInNewWindow extends Action2 {
622
531
  static { this.ID = 'workbench.action.files.showOpenedFileInNewWindow'; }
623
- static { this.LABEL = ( nls.localize('openFileInNewWindow', "Open Active File in New Window")); }
532
+ static { this.LABEL = nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'openFileInNewWindow', "Open Active File in New Window"); }
624
533
  constructor() {
625
534
  super({
626
535
  id: ShowOpenedFileInNewWindow.ID,
@@ -642,10 +551,7 @@ class ShowOpenedFileInNewWindow extends Action2 {
642
551
  hostService.openWindow([{ fileUri: fileResource }], { forceNewWindow: true });
643
552
  }
644
553
  else {
645
- dialogService.error(( nls.localize(
646
- 'openFileToShowInNewWindow.unsupportedschema',
647
- "The active editor must contain an openable resource."
648
- )));
554
+ dialogService.error(nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'openFileToShowInNewWindow.unsupportedschema', "The active editor must contain an openable resource."));
649
555
  }
650
556
  }
651
557
  }
@@ -654,16 +560,13 @@ function validateFileName(pathService, item, name, os) {
654
560
  name = getWellFormedFileName(name);
655
561
  if (!name || name.length === 0 || /^\s+$/.test(name)) {
656
562
  return {
657
- content: ( nls.localize('emptyFileNameError', "A file or folder name must be provided.")),
563
+ content: nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'emptyFileNameError', "A file or folder name must be provided."),
658
564
  severity: Severity.Error
659
565
  };
660
566
  }
661
567
  if (name[0] === '/' || name[0] === '\\') {
662
568
  return {
663
- content: ( nls.localize(
664
- 'fileNameStartsWithSlashError',
665
- "A file or folder name cannot start with a slash."
666
- )),
569
+ content: nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'fileNameStartsWithSlashError', "A file or folder name cannot start with a slash."),
667
570
  severity: Severity.Error
668
571
  };
669
572
  }
@@ -673,11 +576,7 @@ function validateFileName(pathService, item, name, os) {
673
576
  const child = parent?.getChild(name);
674
577
  if (child && child !== item) {
675
578
  return {
676
- content: ( nls.localize(
677
- 'fileNameExistsError',
678
- "A file or folder **{0}** already exists at this location. Please choose a different name.",
679
- name
680
- )),
579
+ content: nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'fileNameExistsError', "A file or folder **{0}** already exists at this location. Please choose a different name.", name),
681
580
  severity: Severity.Error
682
581
  };
683
582
  }
@@ -685,20 +584,13 @@ function validateFileName(pathService, item, name, os) {
685
584
  if (( names.some(folderName => !pathService.hasValidBasename(item.resource, os, folderName)))) {
686
585
  const escapedName = name.replace(/\*/g, '\\*');
687
586
  return {
688
- content: ( nls.localize(
689
- 'invalidFileNameError',
690
- "The name **{0}** is not valid as a file or folder name. Please choose a different name.",
691
- trimLongName(escapedName)
692
- )),
587
+ content: nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'invalidFileNameError', "The name **{0}** is not valid as a file or folder name. Please choose a different name.", trimLongName(escapedName)),
693
588
  severity: Severity.Error
694
589
  };
695
590
  }
696
591
  if (( names.some(name => /^\s|\s$/.test(name)))) {
697
592
  return {
698
- content: ( nls.localize(
699
- 'fileNameWhitespaceWarning',
700
- "Leading or trailing whitespace detected in file or folder name."
701
- )),
593
+ content: nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'fileNameWhitespaceWarning', "Leading or trailing whitespace detected in file or folder name."),
702
594
  severity: Severity.Warning
703
595
  };
704
596
  }
@@ -721,7 +613,7 @@ function getWellFormedFileName(filename) {
721
613
  }
722
614
  class CompareNewUntitledTextFilesAction extends Action2 {
723
615
  static { this.ID = 'workbench.files.action.compareNewUntitledTextFiles'; }
724
- static { this.LABEL = ( nls.localize('compareNewUntitledTextFiles', "Compare New Untitled Text Files")); }
616
+ static { this.LABEL = nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'compareNewUntitledTextFiles', "Compare New Untitled Text Files"); }
725
617
  constructor() {
726
618
  super({
727
619
  id: CompareNewUntitledTextFilesAction.ID,
@@ -741,7 +633,7 @@ class CompareNewUntitledTextFilesAction extends Action2 {
741
633
  }
742
634
  class CompareWithClipboardAction extends Action2 {
743
635
  static { this.ID = 'workbench.files.action.compareWithClipboard'; }
744
- static { this.LABEL = ( nls.localize('compareWithClipboard', "Compare Active File with Clipboard")); }
636
+ static { this.LABEL = nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'compareWithClipboard', "Compare Active File with Clipboard"); }
745
637
  static { this.SCHEME_COUNTER = 0; }
746
638
  constructor() {
747
639
  super({
@@ -765,7 +657,7 @@ class CompareWithClipboardAction extends Action2 {
765
657
  this.registrationDisposal = textModelService.registerTextModelContentProvider(scheme, provider);
766
658
  }
767
659
  const name = resources.basename(resource);
768
- const editorLabel = ( nls.localize('clipboardComparisonLabel', "Clipboard ↔ {0}", name));
660
+ const editorLabel = nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'clipboardComparisonLabel', "Clipboard ↔ {0}", name);
769
661
  await editorService.openEditor({
770
662
  original: { resource: resource.with({ scheme }) },
771
663
  modified: { resource: resource },
@@ -801,7 +693,7 @@ ClipboardContentProvider = ( __decorate([
801
693
  ], ClipboardContentProvider));
802
694
  function onErrorWithRetry(notificationService, error, retry) {
803
695
  notificationService.prompt(Severity.Error, toErrorMessage(error, false), [{
804
- label: ( nls.localize('retry', "Retry")),
696
+ label: nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'retry', "Retry"),
805
697
  run: () => retry()
806
698
  }]);
807
699
  }
@@ -848,8 +740,8 @@ async function openExplorerAndCreate(accessor, isFolder) {
848
740
  isFolder = true;
849
741
  }
850
742
  await explorerService.applyBulkEdit([( new ResourceFileEdit(undefined, resourceToCreate, { folder: isFolder }))], {
851
- undoLabel: ( nls.localize('createBulkEdit', "Create {0}", value)),
852
- progressLabel: ( nls.localize('creatingBulkEdit', "Creating {0}", value)),
743
+ undoLabel: nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'createBulkEdit', "Create {0}", value),
744
+ progressLabel: nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'creatingBulkEdit', "Creating {0}", value),
853
745
  confirmBeforeUndo: true
854
746
  });
855
747
  await refreshIfSeparator(value, explorerService);
@@ -910,8 +802,8 @@ const renameHandler = async (accessor) => {
910
802
  try {
911
803
  await explorerService.applyBulkEdit([( new ResourceFileEdit(stat.resource, targetResource))], {
912
804
  confirmBeforeUndo: configurationService.getValue().explorer.confirmUndo === "verbose" ,
913
- undoLabel: ( nls.localize('renameBulkEdit', "Rename {0} to {1}", stat.name, value)),
914
- progressLabel: ( nls.localize('renamingBulkEdit', "Renaming {0} to {1}", stat.name, value)),
805
+ undoLabel: nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'renameBulkEdit', "Rename {0} to {1}", stat.name, value),
806
+ progressLabel: nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'renamingBulkEdit', "Renaming {0} to {1}", stat.name, value),
915
807
  });
916
808
  await refreshIfSeparator(value, explorerService);
917
809
  }
@@ -1012,7 +904,7 @@ const pasteFileHandler = async (accessor) => {
1012
904
  try {
1013
905
  const sourceTargetPairs = coalesce(await Promise.all(( toPaste.map(async (fileToPaste) => {
1014
906
  if (( element.resource.toString()) !== ( fileToPaste.toString()) && resources.isEqualOrParent(element.resource, fileToPaste)) {
1015
- throw new Error(nls.localize('fileIsAncestor', "File to paste is an ancestor of the destination folder"));
907
+ throw new Error(nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'fileIsAncestor', "File to paste is an ancestor of the destination folder"));
1016
908
  }
1017
909
  const fileToPasteStat = await fileService.stat(fileToPaste);
1018
910
  let target;
@@ -1033,26 +925,10 @@ const pasteFileHandler = async (accessor) => {
1033
925
  const resourceFileEdits = ( sourceTargetPairs.map(pair => ( new ResourceFileEdit(pair.source, pair.target, { overwrite: incrementalNaming === 'disabled' }))));
1034
926
  const options = {
1035
927
  confirmBeforeUndo: configurationService.getValue().explorer.confirmUndo === "verbose" ,
1036
- progressLabel: sourceTargetPairs.length > 1 ? ( nls.localize(
1037
- { key: 'movingBulkEdit', comment: ['Placeholder will be replaced by the number of files being moved'] },
1038
- "Moving {0} files",
1039
- sourceTargetPairs.length
1040
- ))
1041
- : ( nls.localize(
1042
- { key: 'movingFileBulkEdit', comment: ['Placeholder will be replaced by the name of the file moved.'] },
1043
- "Moving {0}",
1044
- resources.basenameOrAuthority(sourceTargetPairs[0].target)
1045
- )),
1046
- undoLabel: sourceTargetPairs.length > 1 ? ( nls.localize(
1047
- { key: 'moveBulkEdit', comment: ['Placeholder will be replaced by the number of files being moved'] },
1048
- "Move {0} files",
1049
- sourceTargetPairs.length
1050
- ))
1051
- : ( nls.localize(
1052
- { key: 'moveFileBulkEdit', comment: ['Placeholder will be replaced by the name of the file moved.'] },
1053
- "Move {0}",
1054
- resources.basenameOrAuthority(sourceTargetPairs[0].target)
1055
- ))
928
+ progressLabel: sourceTargetPairs.length > 1 ? nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', { key: 'movingBulkEdit', comment: ['Placeholder will be replaced by the number of files being moved'] }, "Moving {0} files", sourceTargetPairs.length)
929
+ : nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', { key: 'movingFileBulkEdit', comment: ['Placeholder will be replaced by the name of the file moved.'] }, "Moving {0}", resources.basenameOrAuthority(sourceTargetPairs[0].target)),
930
+ undoLabel: sourceTargetPairs.length > 1 ? nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', { key: 'moveBulkEdit', comment: ['Placeholder will be replaced by the number of files being moved'] }, "Move {0} files", sourceTargetPairs.length)
931
+ : nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', { key: 'moveFileBulkEdit', comment: ['Placeholder will be replaced by the name of the file moved.'] }, "Move {0}", resources.basenameOrAuthority(sourceTargetPairs[0].target))
1056
932
  };
1057
933
  await explorerService.applyBulkEdit(resourceFileEdits, options);
1058
934
  }
@@ -1065,26 +941,10 @@ const pasteFileHandler = async (accessor) => {
1065
941
  const undoLevel = configurationService.getValue().explorer.confirmUndo;
1066
942
  const options = {
1067
943
  confirmBeforeUndo: undoLevel === "default" || undoLevel === "verbose" ,
1068
- progressLabel: sourceTargetPairs.length > 1 ? ( nls.localize(
1069
- { key: 'copyingBulkEdit', comment: ['Placeholder will be replaced by the number of files being copied'] },
1070
- "Copying {0} files",
1071
- sourceTargetPairs.length
1072
- ))
1073
- : ( nls.localize(
1074
- { key: 'copyingFileBulkEdit', comment: ['Placeholder will be replaced by the name of the file copied.'] },
1075
- "Copying {0}",
1076
- resources.basenameOrAuthority(sourceTargetPairs[0].target)
1077
- )),
1078
- undoLabel: sourceTargetPairs.length > 1 ? ( nls.localize(
1079
- { key: 'copyBulkEdit', comment: ['Placeholder will be replaced by the number of files being copied'] },
1080
- "Paste {0} files",
1081
- sourceTargetPairs.length
1082
- ))
1083
- : ( nls.localize(
1084
- { key: 'copyFileBulkEdit', comment: ['Placeholder will be replaced by the name of the file copied.'] },
1085
- "Paste {0}",
1086
- resources.basenameOrAuthority(sourceTargetPairs[0].target)
1087
- ))
944
+ progressLabel: sourceTargetPairs.length > 1 ? nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', { key: 'copyingBulkEdit', comment: ['Placeholder will be replaced by the number of files being copied'] }, "Copying {0} files", sourceTargetPairs.length)
945
+ : nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', { key: 'copyingFileBulkEdit', comment: ['Placeholder will be replaced by the name of the file copied.'] }, "Copying {0}", resources.basenameOrAuthority(sourceTargetPairs[0].target)),
946
+ undoLabel: sourceTargetPairs.length > 1 ? nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', { key: 'copyBulkEdit', comment: ['Placeholder will be replaced by the number of files being copied'] }, "Paste {0} files", sourceTargetPairs.length)
947
+ : nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', { key: 'copyFileBulkEdit', comment: ['Placeholder will be replaced by the name of the file copied.'] }, "Paste {0}", resources.basenameOrAuthority(sourceTargetPairs[0].target))
1088
948
  };
1089
949
  await explorerService.applyBulkEdit(resourceFileEdits, options);
1090
950
  }
@@ -1099,11 +959,9 @@ const pasteFileHandler = async (accessor) => {
1099
959
  }
1100
960
  }
1101
961
  catch (e) {
1102
- onError(notificationService, ( new Error(( nls.localize(
1103
- 'fileDeleted',
1104
- "The file(s) to paste have been deleted or moved since you copied them. {0}",
1105
- getErrorMessage(e)
1106
- )))));
962
+ onError(notificationService, ( new Error(
963
+ nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'fileDeleted', "The file(s) to paste have been deleted or moved since you copied them. {0}", getErrorMessage(e))
964
+ )));
1107
965
  }
1108
966
  finally {
1109
967
  if (pasteShouldMove) {
@@ -1144,40 +1002,28 @@ class BaseSetActiveEditorReadonlyInSession extends Action2 {
1144
1002
  }
1145
1003
  class SetActiveEditorReadonlyInSession extends BaseSetActiveEditorReadonlyInSession {
1146
1004
  static { this.ID = 'workbench.action.files.setActiveEditorReadonlyInSession'; }
1147
- static { this.LABEL = ( nls.localize(
1148
- 'setActiveEditorReadonlyInSession',
1149
- "Set Active Editor Read-only in Session"
1150
- )); }
1005
+ static { this.LABEL = nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'setActiveEditorReadonlyInSession', "Set Active Editor Read-only in Session"); }
1151
1006
  constructor() {
1152
1007
  super(SetActiveEditorReadonlyInSession.ID, { value: SetActiveEditorReadonlyInSession.LABEL, original: 'Set Active Editor Readonly in Session' }, true);
1153
1008
  }
1154
1009
  }
1155
1010
  class SetActiveEditorWriteableInSession extends BaseSetActiveEditorReadonlyInSession {
1156
1011
  static { this.ID = 'workbench.action.files.setActiveEditorWriteableInSession'; }
1157
- static { this.LABEL = ( nls.localize(
1158
- 'setActiveEditorWriteableInSession',
1159
- "Set Active Editor Writeable in Session"
1160
- )); }
1012
+ static { this.LABEL = nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'setActiveEditorWriteableInSession', "Set Active Editor Writeable in Session"); }
1161
1013
  constructor() {
1162
1014
  super(SetActiveEditorWriteableInSession.ID, { value: SetActiveEditorWriteableInSession.LABEL, original: 'Set Active Editor Writeable in Session' }, false);
1163
1015
  }
1164
1016
  }
1165
1017
  class ToggleActiveEditorReadonlyInSession extends BaseSetActiveEditorReadonlyInSession {
1166
1018
  static { this.ID = 'workbench.action.files.toggleActiveEditorReadonlyInSession'; }
1167
- static { this.LABEL = ( nls.localize(
1168
- 'toggleActiveEditorReadonlyInSession',
1169
- "Toggle Active Editor Read-only in Session"
1170
- )); }
1019
+ static { this.LABEL = nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'toggleActiveEditorReadonlyInSession', "Toggle Active Editor Read-only in Session"); }
1171
1020
  constructor() {
1172
1021
  super(ToggleActiveEditorReadonlyInSession.ID, { value: ToggleActiveEditorReadonlyInSession.LABEL, original: 'Toggle Active Editor Readonly in Session' }, 'toggle');
1173
1022
  }
1174
1023
  }
1175
1024
  class ResetActiveEditorReadonlyInSession extends BaseSetActiveEditorReadonlyInSession {
1176
1025
  static { this.ID = 'workbench.action.files.resetActiveEditorReadonlyInSession'; }
1177
- static { this.LABEL = ( nls.localize(
1178
- 'resetActiveEditorReadonlyInSession',
1179
- "Reset Active Editor Read-only in Session"
1180
- )); }
1026
+ static { this.LABEL = nls.localizeWithPath('vs/workbench/contrib/files/browser/fileActions', 'resetActiveEditorReadonlyInSession', "Reset Active Editor Read-only in Session"); }
1181
1027
  constructor() {
1182
1028
  super(ResetActiveEditorReadonlyInSession.ID, { value: ResetActiveEditorReadonlyInSession.LABEL, original: 'Reset Active Editor Readonly in Session' }, 'reset');
1183
1029
  }