@codingame/monaco-vscode-api 1.83.15 → 1.85.0-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 (361) hide show
  1. package/README.md +430 -0
  2. package/api.js +13 -7
  3. package/assets/clear.mp3 +0 -0
  4. package/assets/format.mp3 +0 -0
  5. package/assets/save.mp3 +0 -0
  6. package/contributions.js +3 -0
  7. package/extensions.d.ts +13 -3
  8. package/external/{xterm-addon-image/typings/xterm-addon-image.d.ts → @xterm/addon-image/typings/addon-image.d.ts} +1 -1
  9. package/external/{xterm → @xterm/xterm}/typings/xterm.d.ts +13 -1
  10. package/lifecycle.js +2 -2
  11. package/localExtensionHost.js +6 -3
  12. package/missing-services.js +170 -22
  13. package/monaco-editor-treemending.patch +6884 -18018
  14. package/monaco-treemending.js +2 -2
  15. package/package.json +7 -7
  16. package/service-override/tools/editor.d.ts +8 -8
  17. package/service-override/tools/editor.js +44 -19
  18. package/services.d.ts +2 -2
  19. package/services.js +3 -3
  20. package/vscode/src/vs/base/browser/broadcast.js +6 -5
  21. package/vscode/src/vs/base/browser/dnd.d.ts +6 -0
  22. package/vscode/src/vs/base/browser/mouseEvent.d.ts +1 -1
  23. package/vscode/src/vs/base/browser/touch.d.ts +10 -0
  24. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.d.ts +1 -0
  25. package/vscode/src/vs/base/browser/ui/iconLabel/iconHoverDelegate.d.ts +22 -15
  26. package/vscode/src/vs/base/browser/ui/menu/menubar.js +4 -3
  27. package/vscode/src/vs/base/browser/ui/splitview/paneview.css.js +1 -1
  28. package/vscode/src/vs/base/browser/ui/splitview/paneview.d.ts +3 -0
  29. package/vscode/src/vs/base/browser/ui/splitview/paneview.js +34 -11
  30. package/vscode/src/vs/base/common/actions.d.ts +1 -15
  31. package/vscode/src/vs/base/common/async.d.ts +1 -31
  32. package/vscode/src/vs/base/common/event.d.ts +2 -1
  33. package/vscode/src/vs/base/common/observableInternal/base.d.ts +23 -10
  34. package/vscode/src/vs/base/common/prefixTree.js +140 -0
  35. package/vscode/src/vs/base/common/product.d.ts +16 -2
  36. package/vscode/src/vs/base/common/resourceTree.js +135 -0
  37. package/vscode/src/vs/base/common/skipList.js +1 -0
  38. package/vscode/src/vs/base/common/tfIdf.js +137 -0
  39. package/vscode/src/vs/base/common/types.d.ts +13 -1
  40. package/vscode/src/vs/base/common/verifier.js +62 -0
  41. package/vscode/src/vs/editor/browser/editorBrowser.d.ts +4 -2
  42. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +23 -4
  43. package/vscode/src/vs/editor/common/core/lineRange.d.ts +1 -0
  44. package/vscode/src/vs/editor/common/core/offsetRange.d.ts +3 -0
  45. package/vscode/src/vs/editor/common/core/position.d.ts +1 -0
  46. package/vscode/src/vs/editor/common/editorCommon.d.ts +2 -1
  47. package/vscode/src/vs/editor/common/languages.d.ts +23 -1
  48. package/vscode/src/vs/editor/common/services/languageFeatures.d.ts +2 -1
  49. package/vscode/src/vs/editor/common/services/resolverService.d.ts +11 -2
  50. package/vscode/src/vs/platform/accessibility/common/accessibility.d.ts +16 -1
  51. package/vscode/src/vs/platform/action/common/action.d.ts +8 -0
  52. package/vscode/src/vs/platform/actions/browser/dropdownWithPrimaryActionViewItem.js +4 -0
  53. package/vscode/src/vs/platform/actions/browser/floatingMenu.js +26 -2
  54. package/vscode/src/vs/platform/actions/common/actions.d.ts +8 -0
  55. package/vscode/src/vs/platform/audioCues/browser/audioCueService.d.ts +6 -0
  56. package/vscode/src/vs/platform/commands/common/commands.d.ts +13 -5
  57. package/vscode/src/vs/platform/dialogs/common/dialogs.d.ts +9 -3
  58. package/vscode/src/vs/platform/dialogs/common/dialogs.js +5 -2
  59. package/vscode/src/vs/platform/editor/common/editor.d.ts +3 -15
  60. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +1 -0
  61. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +3 -15
  62. package/vscode/src/vs/platform/extensionManagement/common/implicitActivationEvents.js +5 -0
  63. package/vscode/src/vs/platform/extensions/common/extensions.d.ts +0 -1
  64. package/vscode/src/vs/platform/files/common/files.d.ts +72 -8
  65. package/vscode/src/vs/platform/files/common/watcher.js +77 -0
  66. package/vscode/src/vs/platform/keybinding/common/keybindingsRegistry.d.ts +2 -2
  67. package/vscode/src/vs/platform/layout/browser/layoutService.d.ts +52 -21
  68. package/vscode/src/vs/platform/request/browser/requestService.js +3 -0
  69. package/vscode/src/vs/platform/request/common/requestIpc.js +17 -0
  70. package/vscode/src/vs/platform/storage/common/storage.js +2 -2
  71. package/vscode/src/vs/platform/telemetry/common/telemetry.d.ts +1 -0
  72. package/vscode/src/vs/platform/terminal/common/capabilities/bufferMarkCapability.js +41 -0
  73. package/vscode/src/vs/platform/terminal/common/capabilities/capabilities.d.ts +12 -7
  74. package/vscode/src/vs/platform/terminal/common/capabilities/{commandDetectionCapability.d.ts → commandDetection/terminalCommand.d.ts} +3 -2
  75. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetection/terminalCommand.js +257 -0
  76. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetectionCapability.js +651 -0
  77. package/vscode/src/vs/platform/terminal/common/capabilities/cwdDetectionCapability.js +29 -0
  78. package/vscode/src/vs/platform/terminal/common/capabilities/partialCommandDetectionCapability.js +48 -0
  79. package/vscode/src/vs/platform/terminal/common/capabilities/terminalCapabilityStore.js +94 -0
  80. package/vscode/src/vs/platform/terminal/common/terminalEnvironment.js +37 -0
  81. package/vscode/src/vs/platform/terminal/common/terminalStrings.js +16 -0
  82. package/vscode/src/vs/platform/terminal/common/xterm/shellIntegrationAddon.js +319 -0
  83. package/vscode/src/vs/platform/window/common/window.d.ts +9 -2
  84. package/vscode/src/vs/platform/window/common/window.js +6 -1
  85. package/vscode/src/vs/platform/workspaces/common/workspaces.d.ts +2 -43
  86. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +113 -81
  87. package/vscode/src/vs/workbench/api/common/extHost.protocol.js +5 -4
  88. package/vscode/src/vs/workbench/api/common/extHostApiCommands.js +25 -3
  89. package/vscode/src/vs/workbench/api/common/extHostChat.js +13 -163
  90. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +412 -0
  91. package/vscode/src/vs/workbench/api/common/extHostChatProvider.js +79 -11
  92. package/vscode/src/vs/workbench/api/common/extHostCommands.js +13 -12
  93. package/vscode/src/vs/workbench/api/common/extHostComments.js +1 -1
  94. package/vscode/src/vs/workbench/api/common/extHostEditorTabs.js +8 -6
  95. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +1 -1
  96. package/vscode/src/vs/workbench/api/common/extHostFileSystemEventService.js +36 -19
  97. package/vscode/src/vs/workbench/api/common/extHostInlineChat.js +52 -31
  98. package/vscode/src/vs/workbench/api/common/extHostIssueReporter.js +38 -0
  99. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +28 -3
  100. package/vscode/src/vs/workbench/api/common/extHostLanguages.js +10 -0
  101. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +117 -2
  102. package/vscode/src/vs/workbench/api/common/extHostNotebookKernels.js +32 -4
  103. package/vscode/src/vs/workbench/api/common/extHostSCM.js +85 -23
  104. package/vscode/src/vs/workbench/api/common/extHostSearch.js +3 -0
  105. package/vscode/src/vs/workbench/api/common/extHostSpeech.js +42 -0
  106. package/vscode/src/vs/workbench/api/common/extHostTask.js +2 -1
  107. package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +1 -0
  108. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +3 -3
  109. package/vscode/src/vs/workbench/api/common/extHostTesting.js +97 -47
  110. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +115 -16
  111. package/vscode/src/vs/workbench/api/common/extHostTypes.js +66 -36
  112. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +6 -1
  113. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +182 -75
  114. package/vscode/src/vs/workbench/browser/actions/windowActions.js +176 -4
  115. package/vscode/src/vs/workbench/browser/actions/workspaceActions.js +143 -2
  116. package/vscode/src/vs/workbench/browser/actions/workspaceCommands.js +237 -0
  117. package/vscode/src/vs/workbench/browser/composite.d.ts +0 -4
  118. package/vscode/src/vs/workbench/browser/composite.js +5 -4
  119. package/vscode/src/vs/workbench/browser/dnd.js +72 -23
  120. package/vscode/src/vs/workbench/browser/labels.js +7 -3
  121. package/vscode/src/vs/workbench/browser/media/part.css.js +1 -1
  122. package/vscode/src/vs/workbench/browser/panecomposite.d.ts +2 -2
  123. package/vscode/src/vs/workbench/browser/panecomposite.js +2 -0
  124. package/vscode/src/vs/workbench/browser/part.js +33 -2
  125. package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +99 -117
  126. package/vscode/src/vs/workbench/browser/parts/editor/editor.contribution.js +173 -33
  127. package/vscode/src/vs/workbench/browser/parts/editor/editor.js +102 -6
  128. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +256 -17
  129. package/vscode/src/vs/workbench/browser/parts/editor/editorAutoSave.js +4 -0
  130. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +68 -35
  131. package/vscode/src/vs/workbench/browser/parts/editor/editorPlaceholder.js +5 -5
  132. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +35 -16
  133. package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.js +348 -0
  134. package/vscode/src/vs/workbench/browser/parts/editor/editorsObserver.js +43 -31
  135. package/vscode/src/vs/workbench/browser/parts/editor/media/editortabscontrol.css.js +4 -0
  136. package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +1 -0
  137. package/vscode/src/vs/workbench/browser/parts/editor/textCodeEditor.js +1 -0
  138. package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +14 -2
  139. package/vscode/src/vs/workbench/browser/parts/editor/textEditor.js +4 -4
  140. package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +277 -0
  141. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +5 -2
  142. package/vscode/src/vs/workbench/browser/parts/panel/media/panelpart.css.js +1 -1
  143. package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +3 -38
  144. package/vscode/src/vs/workbench/browser/parts/statusbar/statusbarPart.d.ts +54 -52
  145. package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +2 -1
  146. package/vscode/src/vs/workbench/browser/parts/titlebar/titlebarPart.d.ts +25 -0
  147. package/vscode/src/vs/workbench/browser/parts/titlebar/windowTitle.js +258 -0
  148. package/vscode/src/vs/workbench/browser/parts/views/media/paneviewlet.css.js +1 -1
  149. package/vscode/src/vs/workbench/browser/parts/views/viewPane.d.ts +2 -5
  150. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +157 -117
  151. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +50 -23
  152. package/vscode/src/vs/workbench/browser/parts/views/viewsService.js +26 -11
  153. package/vscode/src/vs/workbench/browser/parts/views/viewsViewlet.js +10 -6
  154. package/vscode/src/vs/workbench/browser/style.js +2 -1
  155. package/vscode/src/vs/workbench/browser/web.api.d.ts +39 -2
  156. package/vscode/src/vs/workbench/browser/window.js +55 -0
  157. package/vscode/src/vs/workbench/browser/workbench.contribution.js +220 -40
  158. package/vscode/src/vs/workbench/common/activity.js +3 -0
  159. package/vscode/src/vs/workbench/common/contextkeys.js +35 -5
  160. package/vscode/src/vs/workbench/common/contributions.js +4 -3
  161. package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +14 -4
  162. package/vscode/src/vs/workbench/common/editor/diffEditorModel.js +1 -1
  163. package/vscode/src/vs/workbench/common/editor/editorGroupModel.js +22 -19
  164. package/vscode/src/vs/workbench/common/editor/editorInput.d.ts +4 -3
  165. package/vscode/src/vs/workbench/common/editor/editorModel.d.ts +1 -2
  166. package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +22 -4
  167. package/vscode/src/vs/workbench/common/editor/textResourceEditorInput.js +3 -3
  168. package/vscode/src/vs/workbench/common/editor.d.ts +60 -30
  169. package/vscode/src/vs/workbench/common/editor.js +11 -3
  170. package/vscode/src/vs/workbench/common/theme.js +2 -2
  171. package/vscode/src/vs/workbench/common/views.d.ts +4 -4
  172. package/vscode/src/vs/workbench/common/views.js +3 -1
  173. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +97 -8
  174. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityContributions.js +17 -99
  175. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleView.js +103 -37
  176. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +2 -3
  177. package/vscode/src/vs/workbench/contrib/accessibility/browser/editorAccessibilityHelp.js +127 -0
  178. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +71 -0
  179. package/vscode/src/vs/workbench/contrib/chat/browser/chat.js +2 -1
  180. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +33 -110
  181. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +64 -0
  182. package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.js +94 -0
  183. package/vscode/src/vs/workbench/contrib/chat/common/chatService.js +6 -1
  184. package/vscode/src/vs/workbench/contrib/chat/common/chatSlashCommands.js +1 -88
  185. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +4 -4
  186. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +3 -2
  187. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +3 -1
  188. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +15 -16
  189. package/vscode/src/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.js +91 -1
  190. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +9 -3
  191. package/vscode/src/vs/workbench/contrib/comments/browser/comments.contribution.js +3 -1
  192. package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +2 -3
  193. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInput.js +1 -0
  194. package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +9 -1
  195. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +10 -1
  196. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +114 -22
  197. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionActions.css.js +1 -1
  198. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +4 -1
  199. package/vscode/src/vs/workbench/contrib/files/browser/explorerFileContrib.js +19 -0
  200. package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +10 -8
  201. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +62 -10
  202. package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +2 -1
  203. package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +9 -8
  204. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution.js +10 -1
  205. package/vscode/src/vs/workbench/contrib/files/browser/files.d.ts +1 -0
  206. package/vscode/src/vs/workbench/contrib/files/browser/files.js +7 -3
  207. package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +4 -4
  208. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +64 -36
  209. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +42 -17
  210. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +145 -25
  211. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +423 -0
  212. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsNone.js +82 -0
  213. package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +1 -1
  214. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +36 -0
  215. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +3 -1
  216. package/vscode/src/vs/workbench/contrib/preferences/common/preferences.js +24 -3
  217. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +11 -6
  218. package/vscode/src/vs/workbench/contrib/scm/common/scm.js +1 -2
  219. package/vscode/src/vs/workbench/contrib/search/browser/notebookSearch/searchNotebookHelpers.js +31 -0
  220. package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +61 -41
  221. package/vscode/src/vs/workbench/contrib/search/{browser/searchNotebookHelpers.js → common/cellSearchModel.js} +4 -63
  222. package/vscode/src/vs/workbench/contrib/search/common/searchNotebookHelpers.js +40 -0
  223. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +2 -2
  224. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +3 -0
  225. package/vscode/src/vs/workbench/contrib/terminal/browser/detachedTerminal.js +92 -0
  226. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +100 -79
  227. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalConfigHelper.d.ts +3 -3
  228. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +1 -1
  229. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalExtensions.js +25 -0
  230. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalIcon.js +7 -4
  231. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalIcons.js +64 -0
  232. package/vscode/src/vs/workbench/contrib/terminal/browser/widgets/widgetManager.js +36 -0
  233. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationAddon.js +540 -0
  234. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationStyles.js +104 -0
  235. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/markNavigationAddon.js +518 -0
  236. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/suggestAddon.js +390 -0
  237. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +17 -11
  238. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.js +814 -0
  239. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm-private.d.ts +5 -2
  240. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +2 -8
  241. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +2 -0
  242. package/vscode/src/vs/workbench/contrib/testing/common/getComputedState.js +101 -0
  243. package/vscode/src/vs/workbench/contrib/testing/common/observableValue.js +30 -0
  244. package/vscode/src/vs/workbench/contrib/testing/common/storedValue.js +36 -0
  245. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +115 -0
  246. package/vscode/src/vs/workbench/contrib/testing/common/testCoverageService.js +74 -0
  247. package/vscode/src/vs/workbench/contrib/testing/common/testExplorerFilterState.js +116 -0
  248. package/vscode/src/vs/workbench/contrib/testing/common/testProfileService.js +172 -1
  249. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +384 -0
  250. package/vscode/src/vs/workbench/contrib/testing/common/testResultService.js +156 -1
  251. package/vscode/src/vs/workbench/contrib/testing/common/testResultStorage.js +156 -0
  252. package/vscode/src/vs/workbench/contrib/testing/common/testService.js +75 -1
  253. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +72 -1
  254. package/vscode/src/vs/workbench/contrib/testing/common/testingContextKeys.js +188 -0
  255. package/vscode/src/vs/workbench/contrib/testing/common/testingContinuousRunService.js +102 -0
  256. package/vscode/src/vs/workbench/contrib/testing/common/testingDecorations.js +29 -0
  257. package/vscode/src/vs/workbench/{services/editor/browser/editorDropService.js → contrib/testing/common/testingPeekOpener.js} +2 -2
  258. package/vscode/src/vs/workbench/contrib/testing/common/testingStates.js +47 -0
  259. package/vscode/src/vs/workbench/contrib/webview/browser/webviewWindowDragMonitor.js +4 -3
  260. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +8 -9
  261. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditorInput.js +1 -1
  262. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewIconManager.js +5 -2
  263. package/vscode/src/vs/workbench/services/activity/browser/activityService.d.ts +16 -10
  264. package/vscode/src/vs/workbench/services/activity/common/activity.d.ts +14 -1
  265. package/vscode/src/vs/workbench/services/activity/common/activity.js +1 -7
  266. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +9 -28
  267. package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +273 -0
  268. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolver.js +1 -0
  269. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +2 -0
  270. package/vscode/src/vs/workbench/services/decorations/browser/decorationsService.js +2 -3
  271. package/vscode/src/vs/workbench/services/editor/browser/editorService.d.ts +7 -5
  272. package/vscode/src/vs/workbench/services/editor/browser/editorService.js +59 -37
  273. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +193 -94
  274. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.js +2 -2
  275. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.d.ts +8 -2
  276. package/vscode/src/vs/workbench/services/editor/common/editorService.d.ts +8 -1
  277. package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.js +62 -16
  278. package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +5 -3
  279. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +3 -2
  280. package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.js +4 -9
  281. package/vscode/src/vs/workbench/services/extensions/common/{extensionHostManager.d.ts → extensionHostManagers.d.ts} +2 -0
  282. package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.d.ts +1 -1
  283. package/vscode/src/vs/workbench/services/extensions/common/extensions.d.ts +9 -0
  284. package/vscode/src/vs/workbench/services/extensions/common/extensions.js +22 -0
  285. package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +14 -3
  286. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +9 -0
  287. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +3 -3
  288. package/vscode/src/vs/workbench/services/history/common/history.d.ts +2 -2
  289. package/vscode/src/vs/workbench/services/host/browser/browserHostService.js +49 -18
  290. package/vscode/src/vs/workbench/services/host/browser/host.d.ts +29 -7
  291. package/vscode/src/vs/workbench/services/hover/browser/hover.d.ts +51 -28
  292. package/vscode/src/vs/workbench/services/hover/browser/hoverService.d.ts +5 -2
  293. package/vscode/src/vs/workbench/services/keybinding/browser/unboundCommands.js +2 -2
  294. package/vscode/src/vs/workbench/services/languageStatus/common/languageStatusService.d.ts +4 -1
  295. package/vscode/src/vs/workbench/services/layout/browser/layoutService.d.ts +40 -36
  296. package/vscode/src/vs/workbench/services/panecomposite/browser/panecomposite.d.ts +0 -6
  297. package/vscode/src/vs/workbench/services/preferences/common/preferences.d.ts +3 -0
  298. package/vscode/src/vs/workbench/services/progress/browser/progressIndicator.js +2 -2
  299. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.d.ts +16 -1
  300. package/vscode/src/vs/workbench/services/request/browser/requestService.js +48 -0
  301. package/vscode/src/vs/workbench/services/search/common/searchHelpers.js +4 -4
  302. package/vscode/src/vs/workbench/services/statusbar/browser/statusbar.d.ts +10 -51
  303. package/vscode/src/vs/workbench/services/suggest/browser/media/suggest.css.js +4 -0
  304. package/vscode/src/vs/workbench/services/suggest/browser/simpleCompletionItem.js +10 -0
  305. package/vscode/src/vs/workbench/services/suggest/browser/simpleCompletionModel.js +98 -0
  306. package/vscode/src/vs/workbench/services/suggest/browser/simpleSuggestWidget.js +428 -0
  307. package/vscode/src/vs/workbench/services/suggest/browser/simpleSuggestWidgetRenderer.js +83 -0
  308. package/vscode/src/vs/workbench/services/textfile/browser/textFileService.js +32 -1
  309. package/vscode/src/vs/workbench/services/textfile/common/textEditorService.js +1 -5
  310. package/vscode/src/vs/workbench/services/themes/browser/browserHostColorSchemeService.js +4 -3
  311. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +9 -3
  312. package/vscode/src/vs/workbench/services/title/browser/titleService.d.ts +18 -0
  313. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorInput.js +18 -3
  314. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorModel.js +16 -7
  315. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.d.ts +6 -0
  316. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.js +13 -0
  317. package/vscode/src/vs/workbench/services/url/browser/urlService.js +2 -1
  318. package/vscode/src/vs/workbench/services/userActivity/common/userActivityService.js +2 -2
  319. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +9 -0
  320. package/vscode-dts/vscode.proposed.chatAgents2.d.ts +375 -0
  321. package/vscode-dts/vscode.proposed.chatAgents2Additions.d.ts +80 -0
  322. package/vscode-dts/vscode.proposed.chatProvider.d.ts +5 -1
  323. package/vscode-dts/vscode.proposed.chatRequestAccess.d.ts +68 -10
  324. package/vscode-dts/vscode.proposed.chatTab.d.ts +21 -0
  325. package/vscode-dts/vscode.proposed.chatVariables.d.ts +5 -1
  326. package/vscode-dts/vscode.proposed.codeActionAI.d.ts +16 -0
  327. package/vscode-dts/vscode.proposed.contribSourceControlInputBoxMenu.d.ts +7 -0
  328. package/vscode-dts/vscode.proposed.createFileSystemWatcher.d.ts +51 -0
  329. package/vscode-dts/vscode.proposed.defaultChatAgent.d.ts +30 -0
  330. package/vscode-dts/vscode.proposed.handleIssueUri.d.ts +26 -0
  331. package/vscode-dts/vscode.proposed.interactive.d.ts +26 -100
  332. package/vscode-dts/vscode.proposed.interactiveUserActions.d.ts +14 -7
  333. package/vscode-dts/vscode.proposed.languageStatusText.d.ts +12 -0
  334. package/vscode-dts/vscode.proposed.multiDocumentHighlightProvider.d.ts +63 -0
  335. package/vscode-dts/vscode.proposed.notebookVariableProvider.d.ts +43 -0
  336. package/vscode-dts/vscode.proposed.resolvers.d.ts +100 -1
  337. package/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts +9 -1
  338. package/vscode-dts/vscode.proposed.scmInputBoxActionButton.d.ts +19 -0
  339. package/vscode-dts/vscode.proposed.scmInputBoxValueProvider.d.ts +25 -0
  340. package/vscode-dts/vscode.proposed.speech.d.ts +35 -0
  341. package/vscode-dts/vscode.proposed.terminalQuickFixProvider.d.ts +11 -7
  342. package/vscode-dts/vscode.proposed.testCoverage.d.ts +6 -1
  343. package/vscode-dts/vscode.proposed.testingActiveProfile.d.ts +21 -0
  344. package/external/xterm-headless/typings/xterm-headless.d.ts +0 -49
  345. package/vscode/src/vs/platform/backup/common/backup.d.ts +0 -14
  346. package/vscode/src/vs/platform/update/common/update.d.ts +0 -112
  347. package/vscode/src/vs/workbench/api/common/extHostChatAgents.js +0 -62
  348. package/vscode/src/vs/workbench/api/common/extHostChatSlashCommand.js +0 -62
  349. package/vscode/src/vs/workbench/browser/parts/paneCompositePart.d.ts +0 -56
  350. package/vscode/src/vs/workbench/services/files/common/files.js +0 -4
  351. package/vscode/src/vs/workbench/services/host/browser/browserHostService.d.ts +0 -41
  352. package/vscode/src/vs/workbench/services/title/common/titleService.d.ts +0 -31
  353. package/vscode-dts/vscode.proposed.chatAgents.d.ts +0 -39
  354. package/vscode-dts/vscode.proposed.chatSlashCommands.d.ts +0 -47
  355. package/vscode-dts/vscode.proposed.testMessageContextValue.d.ts +0 -45
  356. /package/external/{xterm-addon-canvas/typings/xterm-addon-canvas.d.ts → @xterm/addon-canvas/typings/addon-canvas.d.ts} +0 -0
  357. /package/external/{xterm-addon-search/typings/xterm-addon-search.d.ts → @xterm/addon-search/typings/addon-search.d.ts} +0 -0
  358. /package/external/{xterm-addon-serialize/typings/xterm-addon-serialize.d.ts → @xterm/addon-serialize/typings/addon-serialize.d.ts} +0 -0
  359. /package/external/{xterm-addon-unicode11/typings/xterm-addon-unicode11.d.ts → @xterm/addon-unicode11/typings/addon-unicode11.d.ts} +0 -0
  360. /package/external/{xterm-addon-webgl/typings/xterm-addon-webgl.d.ts → @xterm/addon-webgl/typings/addon-webgl.d.ts} +0 -0
  361. /package/vscode/src/vs/workbench/services/title/{common → browser}/titleService.js +0 -0
@@ -2,7 +2,7 @@ import { Registry } from 'monaco-editor/esm/vs/platform/registry/common/platform
2
2
  import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
3
3
  import { EditorPaneDescriptor } from '../../editor.js';
4
4
  import { EditorExtensions } from '../../../common/editor.js';
5
- import { ActiveEditorGroupLockedContext, MultipleEditorGroupsContext, EditorPinnedAndUnpinnedTabsContext, EditorGroupEditorsCountContext, ActiveEditorLastInGroupContext, EditorTabsVisibleContext, ActiveEditorAvailableEditorIdsContext, ActiveEditorPinnedContext, ActiveEditorStickyContext, ActiveEditorCanSplitInGroupContext, SideBySideEditorActiveContext, TextCompareEditorActiveContext, ActiveEditorDirtyContext } from '../../../common/contextkeys.js';
5
+ import { IsAuxiliaryEditorPartContext, ActiveEditorGroupLockedContext, MultipleEditorGroupsContext, InEditorZenModeContext, EditorGroupEditorsCountContext, ActiveEditorLastInGroupContext, EditorTabsVisibleContext, ActiveEditorAvailableEditorIdsContext, ActiveEditorPinnedContext, ActiveEditorStickyContext, ActiveEditorCanSplitInGroupContext, SideBySideEditorActiveContext, EditorPartMaximizedEditorGroupContext, EditorPartMultipleEditorGroupsContext, TextCompareEditorActiveContext, ActiveEditorDirtyContext } from '../../../common/contextkeys.js';
6
6
  import { SideBySideEditorInput, SideBySideEditorInputSerializer } from '../../../common/editor/sideBySideEditorInput.js';
7
7
  import { TextResourceEditor } from './textResourceEditor.js';
8
8
  import { SideBySideEditor } from './sideBySideEditor.js';
@@ -11,12 +11,12 @@ import { UntitledTextEditorInput } from '../../../services/untitled/common/untit
11
11
  import { TextResourceEditorInput } from '../../../common/editor/textResourceEditorInput.js';
12
12
  import { TextDiffEditor } from './textDiffEditor.js';
13
13
  import { BinaryResourceDiffEditor } from './binaryDiffEditor.js';
14
- import { EditorStatus, ChangeLanguageAction, ChangeEOLAction, ChangeEncodingAction } from './editorStatus.js';
14
+ import { EditorStatusContribution, ChangeLanguageAction, ChangeEOLAction, ChangeEncodingAction } from './editorStatus.js';
15
15
  import { Categories } from 'monaco-editor/esm/vs/platform/action/common/actionCommonCategories.js';
16
16
  import { registerAction2, MenuRegistry, MenuId } from 'monaco-editor/esm/vs/platform/actions/common/actions.js';
17
17
  import { SyncDescriptor } from 'monaco-editor/esm/vs/platform/instantiation/common/descriptors.js';
18
- import { ShowEditorsInActiveGroupByMostRecentlyUsedAction, ShowAllEditorsByAppearanceAction, ShowAllEditorsByMostRecentlyUsedAction, NavigateForwardAction, NavigateBackwardsAction, OpenNextEditor, OpenPreviousEditor, OpenNextEditorInGroup, OpenPreviousEditorInGroup, OpenFirstEditorInGroup, OpenLastEditorInGroup, OpenNextRecentlyUsedEditorAction, OpenPreviousRecentlyUsedEditorAction, OpenNextRecentlyUsedEditorInGroupAction, OpenPreviousRecentlyUsedEditorInGroupAction, ReopenClosedEditorAction, ClearRecentFilesAction, CloseAllEditorsAction, CloseAllEditorGroupsAction, CloseLeftEditorsInGroupAction, CloseEditorsInOtherGroupsAction, CloseEditorInAllGroupsAction, RevertAndCloseEditorAction, SplitEditorAction, SplitEditorOrthogonalAction, SplitEditorLeftAction, SplitEditorRightAction, SplitEditorUpAction, SplitEditorDownAction, JoinTwoGroupsAction, JoinAllGroupsAction, NavigateBetweenGroupsAction, ResetGroupSizesAction, ToggleGroupSizesAction, MaximizeGroupAction, MinimizeOtherGroupsAction, MoveEditorLeftInGroupAction, MoveEditorRightInGroupAction, MoveGroupLeftAction, MoveGroupRightAction, MoveGroupUpAction, MoveGroupDownAction, DuplicateGroupLeftAction, DuplicateGroupRightAction, DuplicateGroupUpAction, DuplicateGroupDownAction, MoveEditorToPreviousGroupAction, MoveEditorToNextGroupAction, MoveEditorToFirstGroupAction, MoveEditorToLastGroupAction, MoveEditorToLeftGroupAction, MoveEditorToRightGroupAction, MoveEditorToAboveGroupAction, MoveEditorToBelowGroupAction, SplitEditorToPreviousGroupAction, SplitEditorToNextGroupAction, SplitEditorToFirstGroupAction, SplitEditorToLastGroupAction, SplitEditorToLeftGroupAction, SplitEditorToRightGroupAction, SplitEditorToAboveGroupAction, SplitEditorToBelowGroupAction, FocusActiveGroupAction, FocusFirstGroupAction, FocusLastGroupAction, FocusPreviousGroup, FocusNextGroup, FocusLeftGroup, FocusRightGroup, FocusAboveGroup, FocusBelowGroup, NewEditorGroupLeftAction, NewEditorGroupRightAction, NewEditorGroupAboveAction, NewEditorGroupBelowAction, NavigatePreviousAction, NavigateForwardInEditsAction, NavigateBackwardsInEditsAction, NavigatePreviousInEditsAction, NavigateToLastEditLocationAction, NavigateForwardInNavigationsAction, NavigateBackwardsInNavigationsAction, NavigatePreviousInNavigationsAction, NavigateToLastNavigationLocationAction, ClearEditorHistoryAction, EditorLayoutSingleAction, EditorLayoutTwoColumnsAction, EditorLayoutThreeColumnsAction, EditorLayoutTwoRowsAction, EditorLayoutThreeRowsAction, EditorLayoutTwoByTwoGridAction, EditorLayoutTwoRowsRightAction, EditorLayoutTwoColumnsBottomAction, ToggleEditorTypeAction, ReOpenInTextEditorAction, QuickAccessPreviousRecentlyUsedEditorAction, QuickAccessLeastRecentlyUsedEditorAction, QuickAccessPreviousRecentlyUsedEditorInGroupAction, QuickAccessLeastRecentlyUsedEditorInGroupAction, QuickAccessPreviousEditorFromHistoryAction } from './editorActions.js';
19
- import { setup, UNLOCK_GROUP_COMMAND_ID, CLOSE_EDITOR_GROUP_COMMAND_ID, SPLIT_EDITOR_UP, SPLIT_EDITOR_DOWN, SPLIT_EDITOR_LEFT, SPLIT_EDITOR_RIGHT, TOGGLE_LOCK_GROUP_COMMAND_ID, CLOSE_EDITOR_COMMAND_ID, CLOSE_OTHER_EDITORS_IN_GROUP_COMMAND_ID, CLOSE_EDITORS_TO_THE_RIGHT_COMMAND_ID, CLOSE_SAVED_EDITORS_COMMAND_ID, CLOSE_EDITORS_IN_GROUP_COMMAND_ID, REOPEN_WITH_COMMAND_ID, KEEP_EDITOR_COMMAND_ID, PIN_EDITOR_COMMAND_ID, UNPIN_EDITOR_COMMAND_ID, SPLIT_EDITOR_IN_GROUP, JOIN_EDITOR_IN_GROUP, TOGGLE_DIFF_SIDE_BY_SIDE, SHOW_EDITORS_IN_GROUP, TOGGLE_KEEP_EDITORS_COMMAND_ID, SPLIT_EDITOR, TOGGLE_DIFF_IGNORE_TRIM_WHITESPACE, CLOSE_PINNED_EDITOR_COMMAND_ID, CLOSE_EDITORS_AND_GROUP_COMMAND_ID, FOCUS_FIRST_SIDE_EDITOR, FOCUS_SECOND_SIDE_EDITOR, TOGGLE_SPLIT_EDITOR_IN_GROUP_LAYOUT, GOTO_PREVIOUS_CHANGE, GOTO_NEXT_CHANGE } from './editorCommands.js';
18
+ import { ShowEditorsInActiveGroupByMostRecentlyUsedAction, ShowAllEditorsByAppearanceAction, ShowAllEditorsByMostRecentlyUsedAction, NavigateForwardAction, NavigateBackwardsAction, OpenNextEditor, OpenPreviousEditor, OpenNextEditorInGroup, OpenPreviousEditorInGroup, OpenFirstEditorInGroup, OpenLastEditorInGroup, OpenNextRecentlyUsedEditorAction, OpenPreviousRecentlyUsedEditorAction, OpenNextRecentlyUsedEditorInGroupAction, OpenPreviousRecentlyUsedEditorInGroupAction, ReopenClosedEditorAction, ClearRecentFilesAction, CloseAllEditorsAction, CloseAllEditorGroupsAction, CloseLeftEditorsInGroupAction, CloseEditorsInOtherGroupsAction, CloseEditorInAllGroupsAction, RevertAndCloseEditorAction, SplitEditorAction, SplitEditorOrthogonalAction, SplitEditorLeftAction, SplitEditorRightAction, SplitEditorUpAction, SplitEditorDownAction, JoinTwoGroupsAction, JoinAllGroupsAction, NavigateBetweenGroupsAction, ResetGroupSizesAction, ToggleGroupSizesAction, MaximizeGroupHideSidebarAction, ToggleMaximizeEditorGroupAction, MinimizeOtherGroupsAction, MinimizeOtherGroupsHideSidebarAction, MoveEditorLeftInGroupAction, MoveEditorRightInGroupAction, MoveGroupLeftAction, MoveGroupRightAction, MoveGroupUpAction, MoveGroupDownAction, DuplicateGroupLeftAction, DuplicateGroupRightAction, DuplicateGroupUpAction, DuplicateGroupDownAction, MoveEditorToPreviousGroupAction, MoveEditorToNextGroupAction, MoveEditorToFirstGroupAction, MoveEditorToLastGroupAction, MoveEditorToLeftGroupAction, MoveEditorToRightGroupAction, MoveEditorToAboveGroupAction, MoveEditorToBelowGroupAction, SplitEditorToPreviousGroupAction, SplitEditorToNextGroupAction, SplitEditorToFirstGroupAction, SplitEditorToLastGroupAction, SplitEditorToLeftGroupAction, SplitEditorToRightGroupAction, SplitEditorToAboveGroupAction, SplitEditorToBelowGroupAction, FocusActiveGroupAction, FocusFirstGroupAction, FocusLastGroupAction, FocusPreviousGroup, FocusNextGroup, FocusLeftGroup, FocusRightGroup, FocusAboveGroup, FocusBelowGroup, NewEditorGroupLeftAction, NewEditorGroupRightAction, NewEditorGroupAboveAction, NewEditorGroupBelowAction, NavigatePreviousAction, NavigateForwardInEditsAction, NavigateBackwardsInEditsAction, NavigatePreviousInEditsAction, NavigateToLastEditLocationAction, NavigateForwardInNavigationsAction, NavigateBackwardsInNavigationsAction, NavigatePreviousInNavigationsAction, NavigateToLastNavigationLocationAction, ClearEditorHistoryAction, EditorLayoutSingleAction, EditorLayoutTwoColumnsAction, EditorLayoutThreeColumnsAction, EditorLayoutTwoRowsAction, EditorLayoutThreeRowsAction, EditorLayoutTwoByTwoGridAction, EditorLayoutTwoRowsRightAction, EditorLayoutTwoColumnsBottomAction, ToggleEditorTypeAction, ReOpenInTextEditorAction, QuickAccessPreviousRecentlyUsedEditorAction, QuickAccessLeastRecentlyUsedEditorAction, QuickAccessPreviousRecentlyUsedEditorInGroupAction, QuickAccessLeastRecentlyUsedEditorInGroupAction, QuickAccessPreviousEditorFromHistoryAction, MoveEditorToNewWindowAction, CopyEditorToNewindowAction, MoveEditorGroupToNewWindowAction, CopyEditorGroupToNewWindowAction, RestoreEditorsToMainWindowAction, NewEmptyEditorWindowAction } from './editorActions.js';
19
+ import { setup, LOCK_GROUP_COMMAND_ID, UNLOCK_GROUP_COMMAND_ID, CLOSE_EDITOR_GROUP_COMMAND_ID, SPLIT_EDITOR_UP, SPLIT_EDITOR_DOWN, SPLIT_EDITOR_LEFT, SPLIT_EDITOR_RIGHT, NEW_EMPTY_EDITOR_WINDOW_COMMAND_ID, TOGGLE_LOCK_GROUP_COMMAND_ID, MOVE_EDITOR_GROUP_INTO_NEW_WINDOW_COMMAND_ID, COPY_EDITOR_GROUP_INTO_NEW_WINDOW_COMMAND_ID, CLOSE_EDITOR_COMMAND_ID, CLOSE_OTHER_EDITORS_IN_GROUP_COMMAND_ID, CLOSE_EDITORS_TO_THE_RIGHT_COMMAND_ID, CLOSE_SAVED_EDITORS_COMMAND_ID, CLOSE_EDITORS_IN_GROUP_COMMAND_ID, REOPEN_WITH_COMMAND_ID, KEEP_EDITOR_COMMAND_ID, PIN_EDITOR_COMMAND_ID, UNPIN_EDITOR_COMMAND_ID, SPLIT_EDITOR_IN_GROUP, JOIN_EDITOR_IN_GROUP, MOVE_EDITOR_INTO_NEW_WINDOW_COMMAND_ID, COPY_EDITOR_INTO_NEW_WINDOW_COMMAND_ID, TOGGLE_DIFF_SIDE_BY_SIDE, SHOW_EDITORS_IN_GROUP, TOGGLE_KEEP_EDITORS_COMMAND_ID, TOGGLE_MAXIMIZE_EDITOR_GROUP, SPLIT_EDITOR, TOGGLE_DIFF_IGNORE_TRIM_WHITESPACE, CLOSE_PINNED_EDITOR_COMMAND_ID, CLOSE_EDITORS_AND_GROUP_COMMAND_ID, FOCUS_FIRST_SIDE_EDITOR, FOCUS_SECOND_SIDE_EDITOR, GOTO_PREVIOUS_CHANGE, GOTO_NEXT_CHANGE, TOGGLE_SPLIT_EDITOR_IN_GROUP_LAYOUT } from './editorCommands.js';
20
20
  import { getQuickNavigateHandler, inQuickPickContext } from '../../quickaccess.js';
21
21
  import { KeybindingsRegistry } from 'monaco-editor/esm/vs/platform/keybinding/common/keybindingsRegistry.js';
22
22
  import { ContextKeyExpr } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkey.js';
@@ -30,7 +30,8 @@ import { Codicon } from 'monaco-editor/esm/vs/base/common/codicons.js';
30
30
  import { registerIcon } from 'monaco-editor/esm/vs/platform/theme/common/iconRegistry.js';
31
31
  import { UntitledTextEditorInputSerializer, UntitledTextEditorWorkingCopyEditorHandler } from '../../../services/untitled/common/untitledTextEditorHandler.js';
32
32
  import { DynamicEditorConfigurations } from './editorConfiguration.js';
33
- import { ToggleTabsVisibilityAction, ToggleSeparatePinnedTabsAction } from '../../actions/layoutActions.js';
33
+ import { ShowMultipleEditorTabsAction, ShowSingleEditorTabAction, HideEditorTabsAction, EditorActionsDefaultAction, EditorActionsTitleBarAction, HideEditorActionsAction } from '../../actions/layoutActions.js';
34
+ import { EditorContextKeys } from 'monaco-editor/esm/vs/editor/common/editorContextKeys.js';
34
35
  ( Registry.as(EditorExtensions.EditorPane)).registerEditorPane(EditorPaneDescriptor.create(TextResourceEditor, TextResourceEditor.ID, ( localizeWithPath(
35
36
  'vs/workbench/browser/parts/editor/editor.contribution',
36
37
  'textEditor',
@@ -64,7 +65,7 @@ import { ToggleTabsVisibilityAction, ToggleSeparatePinnedTabsAction } from '../.
64
65
  ( Registry.as(EditorExtensions.EditorFactory)).registerEditorSerializer(SideBySideEditorInput.ID, SideBySideEditorInputSerializer);
65
66
  ( Registry.as(EditorExtensions.EditorFactory)).registerEditorSerializer(DiffEditorInput.ID, DiffEditorInputSerializer);
66
67
  ( Registry.as(Extensions.Workbench)).registerWorkbenchContribution(EditorAutoSave, 2 );
67
- ( Registry.as(Extensions.Workbench)).registerWorkbenchContribution(EditorStatus, 2 );
68
+ ( Registry.as(Extensions.Workbench)).registerWorkbenchContribution(EditorStatusContribution, 2 );
68
69
  ( Registry.as(Extensions.Workbench)).registerWorkbenchContribution(UntitledTextEditorWorkingCopyEditorHandler, 2 );
69
70
  ( Registry.as(Extensions.Workbench)).registerWorkbenchContribution(DynamicEditorConfigurations, 2 );
70
71
  registerEditorContribution(FloatingEditorClickMenu.ID, FloatingEditorClickMenu, 1 );
@@ -153,8 +154,10 @@ registerAction2(JoinAllGroupsAction);
153
154
  registerAction2(NavigateBetweenGroupsAction);
154
155
  registerAction2(ResetGroupSizesAction);
155
156
  registerAction2(ToggleGroupSizesAction);
156
- registerAction2(MaximizeGroupAction);
157
+ registerAction2(MaximizeGroupHideSidebarAction);
158
+ registerAction2(ToggleMaximizeEditorGroupAction);
157
159
  registerAction2(MinimizeOtherGroupsAction);
160
+ registerAction2(MinimizeOtherGroupsHideSidebarAction);
158
161
  registerAction2(MoveEditorLeftInGroupAction);
159
162
  registerAction2(MoveEditorRightInGroupAction);
160
163
  registerAction2(MoveGroupLeftAction);
@@ -219,6 +222,12 @@ registerAction2(QuickAccessLeastRecentlyUsedEditorAction);
219
222
  registerAction2(QuickAccessPreviousRecentlyUsedEditorInGroupAction);
220
223
  registerAction2(QuickAccessLeastRecentlyUsedEditorInGroupAction);
221
224
  registerAction2(QuickAccessPreviousEditorFromHistoryAction);
225
+ registerAction2(MoveEditorToNewWindowAction);
226
+ registerAction2(CopyEditorToNewindowAction);
227
+ registerAction2(MoveEditorGroupToNewWindowAction);
228
+ registerAction2(CopyEditorGroupToNewWindowAction);
229
+ registerAction2(RestoreEditorsToMainWindowAction);
230
+ registerAction2(NewEmptyEditorWindowAction);
222
231
  const quickAccessNavigateNextInEditorPickerId = 'workbench.action.quickOpenNavigateNextInEditorPicker';
223
232
  KeybindingsRegistry.registerCommandAndKeybindingRule({
224
233
  id: quickAccessNavigateNextInEditorPickerId,
@@ -238,11 +247,16 @@ KeybindingsRegistry.registerCommandAndKeybindingRule({
238
247
  mac: { primary: 256 | 1024 | 2 }
239
248
  });
240
249
  setup();
250
+ MenuRegistry.appendMenuItem(MenuId.EmptyEditorGroup, { command: { id: LOCK_GROUP_COMMAND_ID, title: ( localizeWithPath(
251
+ 'vs/workbench/browser/parts/editor/editor.contribution',
252
+ 'lockGroupAction',
253
+ "Lock Group"
254
+ )), icon: Codicon.unlock }, group: 'navigation', order: 10, when: ( ContextKeyExpr.and(IsAuxiliaryEditorPartContext, ( ActiveEditorGroupLockedContext.toNegated()))) });
241
255
  MenuRegistry.appendMenuItem(MenuId.EmptyEditorGroup, { command: { id: UNLOCK_GROUP_COMMAND_ID, title: ( localizeWithPath(
242
256
  'vs/workbench/browser/parts/editor/editor.contribution',
243
257
  'unlockGroupAction',
244
258
  "Unlock Group"
245
- )), icon: Codicon.lock }, group: 'navigation', order: 10, when: ActiveEditorGroupLockedContext });
259
+ )), icon: Codicon.lock, toggled: ContextKeyExpr.true() }, group: 'navigation', order: 10, when: ActiveEditorGroupLockedContext });
246
260
  MenuRegistry.appendMenuItem(MenuId.EmptyEditorGroup, { command: { id: CLOSE_EDITOR_GROUP_COMMAND_ID, title: ( localizeWithPath(
247
261
  'vs/workbench/browser/parts/editor/editor.contribution',
248
262
  'closeGroupAction',
@@ -268,12 +282,17 @@ MenuRegistry.appendMenuItem(MenuId.EmptyEditorGroupContext, { command: { id: SPL
268
282
  'splitRight',
269
283
  "Split Right"
270
284
  )) }, group: '2_split', order: 40 });
285
+ MenuRegistry.appendMenuItem(MenuId.EmptyEditorGroupContext, { command: { id: NEW_EMPTY_EDITOR_WINDOW_COMMAND_ID, title: ( localizeWithPath(
286
+ 'vs/workbench/browser/parts/editor/editor.contribution',
287
+ 'newWindow',
288
+ "New Window"
289
+ )) }, group: '3_window', order: 10 });
271
290
  MenuRegistry.appendMenuItem(MenuId.EmptyEditorGroupContext, { command: { id: TOGGLE_LOCK_GROUP_COMMAND_ID, title: ( localizeWithPath(
272
291
  'vs/workbench/browser/parts/editor/editor.contribution',
273
292
  'toggleLockGroup',
274
293
  "Lock Group"
275
- )), toggled: ActiveEditorGroupLockedContext }, group: '3_lock', order: 10, when: MultipleEditorGroupsContext });
276
- MenuRegistry.appendMenuItem(MenuId.EmptyEditorGroupContext, { command: { id: CLOSE_EDITOR_GROUP_COMMAND_ID, title: ( localizeWithPath('vs/workbench/browser/parts/editor/editor.contribution', 'close', "Close")) }, group: '4_close', order: 10, when: MultipleEditorGroupsContext });
294
+ )), toggled: ActiveEditorGroupLockedContext }, group: '4_lock', order: 10, when: ( ContextKeyExpr.and(MultipleEditorGroupsContext, ( IsAuxiliaryEditorPartContext.toNegated()))) });
295
+ MenuRegistry.appendMenuItem(MenuId.EmptyEditorGroupContext, { command: { id: CLOSE_EDITOR_GROUP_COMMAND_ID, title: ( localizeWithPath('vs/workbench/browser/parts/editor/editor.contribution', 'close', "Close")) }, group: '5_close', order: 10, when: MultipleEditorGroupsContext });
277
296
  MenuRegistry.appendMenuItem(MenuId.EditorTabsBarContext, { command: { id: SPLIT_EDITOR_UP, title: ( localizeWithPath(
278
297
  'vs/workbench/browser/parts/editor/editor.contribution',
279
298
  'splitUp',
@@ -294,16 +313,56 @@ MenuRegistry.appendMenuItem(MenuId.EditorTabsBarContext, { command: { id: SPLIT_
294
313
  'splitRight',
295
314
  "Split Right"
296
315
  )) }, group: '2_split', order: 40 });
297
- MenuRegistry.appendMenuItem(MenuId.EditorTabsBarContext, { command: { id: ToggleTabsVisibilityAction.ID, title: ( localizeWithPath(
316
+ MenuRegistry.appendMenuItem(MenuId.EditorTabsBarContext, { command: { id: MOVE_EDITOR_GROUP_INTO_NEW_WINDOW_COMMAND_ID, title: ( localizeWithPath(
317
+ 'vs/workbench/browser/parts/editor/editor.contribution',
318
+ 'moveEditorGroupToNewWindow',
319
+ "Move into New Window"
320
+ )) }, group: '3_window', order: 10 });
321
+ MenuRegistry.appendMenuItem(MenuId.EditorTabsBarContext, { command: { id: COPY_EDITOR_GROUP_INTO_NEW_WINDOW_COMMAND_ID, title: ( localizeWithPath(
322
+ 'vs/workbench/browser/parts/editor/editor.contribution',
323
+ 'copyEditorGroupToNewWindow',
324
+ "Copy into New Window"
325
+ )) }, group: '3_window', order: 20 });
326
+ MenuRegistry.appendMenuItem(MenuId.EditorTabsBarContext, { submenu: MenuId.EditorTabsBarShowTabsSubmenu, title: ( localizeWithPath(
327
+ 'vs/workbench/browser/parts/editor/editor.contribution',
328
+ 'tabBar',
329
+ "Tab Bar"
330
+ )), group: '4_config', order: 10, when: ( InEditorZenModeContext.negate()) });
331
+ MenuRegistry.appendMenuItem(MenuId.EditorTabsBarShowTabsSubmenu, { command: { id: ShowMultipleEditorTabsAction.ID, title: ( localizeWithPath(
332
+ 'vs/workbench/browser/parts/editor/editor.contribution',
333
+ 'multipleTabs',
334
+ "Multiple Tabs"
335
+ )), toggled: ( ContextKeyExpr.equals('config.workbench.editor.showTabs', 'multiple')) }, group: '1_config', order: 10 });
336
+ MenuRegistry.appendMenuItem(MenuId.EditorTabsBarShowTabsSubmenu, { command: { id: ShowSingleEditorTabAction.ID, title: ( localizeWithPath(
298
337
  'vs/workbench/browser/parts/editor/editor.contribution',
299
- 'toggleTabs',
300
- "Editor Tabs"
301
- )), toggled: ( ContextKeyExpr.has('config.workbench.editor.showTabs')) }, group: '3_config', order: 10 });
302
- MenuRegistry.appendMenuItem(MenuId.EditorTabsBarContext, { command: { id: ToggleSeparatePinnedTabsAction.ID, title: ( localizeWithPath(
338
+ 'singleTab',
339
+ "Single Tab"
340
+ )), toggled: ( ContextKeyExpr.equals('config.workbench.editor.showTabs', 'single')) }, group: '1_config', order: 20 });
341
+ MenuRegistry.appendMenuItem(MenuId.EditorTabsBarShowTabsSubmenu, { command: { id: HideEditorTabsAction.ID, title: ( localizeWithPath(
303
342
  'vs/workbench/browser/parts/editor/editor.contribution',
304
- 'toggleSeparatePinnedEditorTabs',
305
- "Separate Pinned Editor Tabs"
306
- )), toggled: ( ContextKeyExpr.has('config.workbench.editor.pinnedTabsOnSeparateRow')) }, when: EditorPinnedAndUnpinnedTabsContext, group: '3_config', order: 20 });
343
+ 'hideTabs',
344
+ "Hidden"
345
+ )), toggled: ( ContextKeyExpr.equals('config.workbench.editor.showTabs', 'none')) }, group: '1_config', order: 30 });
346
+ MenuRegistry.appendMenuItem(MenuId.EditorTabsBarContext, { submenu: MenuId.EditorActionsPositionSubmenu, title: ( localizeWithPath(
347
+ 'vs/workbench/browser/parts/editor/editor.contribution',
348
+ 'editorActionsPosition',
349
+ "Editor Actions Position"
350
+ )), group: '4_config', order: 20 });
351
+ MenuRegistry.appendMenuItem(MenuId.EditorActionsPositionSubmenu, { command: { id: EditorActionsDefaultAction.ID, title: ( localizeWithPath(
352
+ 'vs/workbench/browser/parts/editor/editor.contribution',
353
+ 'tabBar',
354
+ "Tab Bar"
355
+ )), toggled: ( ContextKeyExpr.equals('config.workbench.editor.editorActionsLocation', 'default')) }, group: '1_config', order: 10, when: ( ( ContextKeyExpr.equals('config.workbench.editor.showTabs', 'none')).negate()) });
356
+ MenuRegistry.appendMenuItem(MenuId.EditorActionsPositionSubmenu, { command: { id: EditorActionsTitleBarAction.ID, title: ( localizeWithPath(
357
+ 'vs/workbench/browser/parts/editor/editor.contribution',
358
+ 'titleBar',
359
+ "Title Bar"
360
+ )), toggled: ( ContextKeyExpr.or(( ContextKeyExpr.equals('config.workbench.editor.editorActionsLocation', 'titleBar')), ( ContextKeyExpr.and(( ContextKeyExpr.equals('config.workbench.editor.showTabs', 'none')), ( ContextKeyExpr.equals('config.workbench.editor.editorActionsLocation', 'default')))))) }, group: '1_config', order: 20, when: ( ( ContextKeyExpr.equals('config.window.titleBarStyle', 'native')).negate()) });
361
+ MenuRegistry.appendMenuItem(MenuId.EditorActionsPositionSubmenu, { command: { id: HideEditorActionsAction.ID, title: ( localizeWithPath(
362
+ 'vs/workbench/browser/parts/editor/editor.contribution',
363
+ 'hidden',
364
+ "Hidden"
365
+ )), toggled: ( ContextKeyExpr.or(( ContextKeyExpr.equals('config.workbench.editor.editorActionsLocation', 'hidden')), ( ContextKeyExpr.and(( ContextKeyExpr.equals('config.window.titleBarStyle', 'native')), ( ContextKeyExpr.equals('config.workbench.editor.editorActionsLocation', 'titleBar')))))) }, group: '1_config', order: 30 });
307
366
  MenuRegistry.appendMenuItem(MenuId.EditorTitleContext, { command: { id: CLOSE_EDITOR_COMMAND_ID, title: ( localizeWithPath('vs/workbench/browser/parts/editor/editor.contribution', 'close', "Close")) }, group: '1_close', order: 10 });
308
367
  MenuRegistry.appendMenuItem(MenuId.EditorTitleContext, { command: { id: CLOSE_OTHER_EDITORS_IN_GROUP_COMMAND_ID, title: ( localizeWithPath(
309
368
  'vs/workbench/browser/parts/editor/editor.contribution',
@@ -361,12 +420,22 @@ MenuRegistry.appendMenuItem(MenuId.EditorTitleContext, { command: { id: SPLIT_ED
361
420
  'vs/workbench/browser/parts/editor/editor.contribution',
362
421
  'splitInGroup',
363
422
  "Split in Group"
364
- )) }, group: '6_split_in_group', order: 10, when: ActiveEditorCanSplitInGroupContext });
423
+ )) }, group: '5_split', order: 50, when: ActiveEditorCanSplitInGroupContext });
365
424
  MenuRegistry.appendMenuItem(MenuId.EditorTitleContext, { command: { id: JOIN_EDITOR_IN_GROUP, title: ( localizeWithPath(
366
425
  'vs/workbench/browser/parts/editor/editor.contribution',
367
426
  'joinInGroup',
368
427
  "Join in Group"
369
- )) }, group: '6_split_in_group', order: 10, when: SideBySideEditorActiveContext });
428
+ )) }, group: '5_split', order: 50, when: SideBySideEditorActiveContext });
429
+ MenuRegistry.appendMenuItem(MenuId.EditorTitleContext, { command: { id: MOVE_EDITOR_INTO_NEW_WINDOW_COMMAND_ID, title: ( localizeWithPath(
430
+ 'vs/workbench/browser/parts/editor/editor.contribution',
431
+ 'moveToNewWindow',
432
+ "Move into New Window"
433
+ )) }, group: '6_new_window', order: 10 });
434
+ MenuRegistry.appendMenuItem(MenuId.EditorTitleContext, { command: { id: COPY_EDITOR_INTO_NEW_WINDOW_COMMAND_ID, title: ( localizeWithPath(
435
+ 'vs/workbench/browser/parts/editor/editor.contribution',
436
+ 'copyToNewWindow',
437
+ "Copy into New Window"
438
+ )) }, group: '6_new_window', order: 20 });
370
439
  MenuRegistry.appendMenuItem(MenuId.EditorTitle, { command: { id: TOGGLE_DIFF_SIDE_BY_SIDE, title: ( localizeWithPath(
371
440
  'vs/workbench/browser/parts/editor/editor.contribution',
372
441
  'inlineView',
@@ -392,17 +461,28 @@ MenuRegistry.appendMenuItem(MenuId.EditorTitle, { command: { id: TOGGLE_KEEP_EDI
392
461
  'togglePreviewMode',
393
462
  "Enable Preview Editors"
394
463
  )), toggled: ( ContextKeyExpr.has('config.workbench.editor.enablePreview')) }, group: '7_settings', order: 10 });
464
+ MenuRegistry.appendMenuItem(MenuId.EditorTitle, { command: { id: TOGGLE_MAXIMIZE_EDITOR_GROUP, title: ( localizeWithPath(
465
+ 'vs/workbench/browser/parts/editor/editor.contribution',
466
+ 'maximizeGroup',
467
+ "Maximize Group"
468
+ )) }, group: '8_group_operations', order: 5, when: ( ContextKeyExpr.and(( EditorPartMaximizedEditorGroupContext.negate()), EditorPartMultipleEditorGroupsContext)) });
469
+ MenuRegistry.appendMenuItem(MenuId.EditorTitle, { command: { id: TOGGLE_MAXIMIZE_EDITOR_GROUP, title: ( localizeWithPath(
470
+ 'vs/workbench/browser/parts/editor/editor.contribution',
471
+ 'unmaximizeGroup',
472
+ "Unmaximize Group"
473
+ )) }, group: '8_group_operations', order: 5, when: EditorPartMaximizedEditorGroupContext });
395
474
  MenuRegistry.appendMenuItem(MenuId.EditorTitle, { command: { id: TOGGLE_LOCK_GROUP_COMMAND_ID, title: ( localizeWithPath(
396
475
  'vs/workbench/browser/parts/editor/editor.contribution',
397
476
  'lockGroup',
398
477
  "Lock Group"
399
- )), toggled: ActiveEditorGroupLockedContext }, group: '8_lock', order: 10, when: MultipleEditorGroupsContext });
478
+ )), toggled: ActiveEditorGroupLockedContext }, group: '8_group_operations', order: 10, when: ( ContextKeyExpr.and(MultipleEditorGroupsContext, ( IsAuxiliaryEditorPartContext.toNegated()))) });
400
479
  function appendEditorToolItem(primary, when, order, alternative, precondition) {
401
480
  const item = {
402
481
  command: {
403
482
  id: primary.id,
404
483
  title: primary.title,
405
484
  icon: primary.icon,
485
+ toggled: primary.toggled,
406
486
  precondition
407
487
  },
408
488
  group: 'navigation',
@@ -507,6 +587,15 @@ appendEditorToolItem({
507
587
  title: ( localizeWithPath('vs/workbench/browser/parts/editor/editor.contribution', 'close', "Close")),
508
588
  icon: Codicon.close
509
589
  });
590
+ appendEditorToolItem({
591
+ id: LOCK_GROUP_COMMAND_ID,
592
+ title: ( localizeWithPath(
593
+ 'vs/workbench/browser/parts/editor/editor.contribution',
594
+ 'lockEditorGroup',
595
+ "Lock Group"
596
+ )),
597
+ icon: Codicon.unlock
598
+ }, ( ContextKeyExpr.and(IsAuxiliaryEditorPartContext, ( ActiveEditorGroupLockedContext.toNegated()))), CLOSE_ORDER - 1);
510
599
  appendEditorToolItem({
511
600
  id: UNLOCK_GROUP_COMMAND_ID,
512
601
  title: ( localizeWithPath(
@@ -514,7 +603,8 @@ appendEditorToolItem({
514
603
  'unlockEditorGroup',
515
604
  "Unlock Group"
516
605
  )),
517
- icon: Codicon.lock
606
+ icon: Codicon.lock,
607
+ toggled: ContextKeyExpr.true()
518
608
  }, ActiveEditorGroupLockedContext, CLOSE_ORDER - 1);
519
609
  const previousChangeIcon = registerIcon('diff-editor-previous-change', Codicon.arrowUp, ( localizeWithPath(
520
610
  'vs/workbench/browser/parts/editor/editor.contribution',
@@ -539,7 +629,7 @@ appendEditorToolItem({
539
629
  "Previous Change"
540
630
  )),
541
631
  icon: previousChangeIcon
542
- }, TextCompareEditorActiveContext, 10);
632
+ }, TextCompareEditorActiveContext, 10, undefined, EditorContextKeys.hasChanges);
543
633
  appendEditorToolItem({
544
634
  id: GOTO_NEXT_CHANGE,
545
635
  title: ( localizeWithPath(
@@ -548,7 +638,7 @@ appendEditorToolItem({
548
638
  "Next Change"
549
639
  )),
550
640
  icon: nextChangeIcon
551
- }, TextCompareEditorActiveContext, 11);
641
+ }, TextCompareEditorActiveContext, 11, undefined, EditorContextKeys.hasChanges);
552
642
  MenuRegistry.appendMenuItem(MenuId.EditorTitle, {
553
643
  command: {
554
644
  id: TOGGLE_DIFF_IGNORE_TRIM_WHITESPACE,
@@ -640,11 +730,21 @@ MenuRegistry.appendMenuItem(MenuId.MenubarRecentMenu, {
640
730
  title: ( localizeWithPath(
641
731
  'vs/workbench/browser/parts/editor/editor.contribution',
642
732
  { key: 'miClearRecentOpen', comment: ['&& denotes a mnemonic'] },
643
- "&&Clear Recently Opened"
733
+ "&&Clear Recently Opened..."
644
734
  ))
645
735
  },
646
736
  order: 1
647
737
  });
738
+ MenuRegistry.appendMenuItem(MenuId.MenubarFileMenu, {
739
+ title: ( localizeWithPath(
740
+ 'vs/workbench/browser/parts/editor/editor.contribution',
741
+ 'miShare',
742
+ "Share"
743
+ )),
744
+ submenu: MenuId.MenubarShare,
745
+ group: '45_share',
746
+ order: 1,
747
+ });
648
748
  MenuRegistry.appendMenuItem(MenuId.MenubarViewMenu, {
649
749
  group: '2_appearance',
650
750
  title: ( localizeWithPath(
@@ -778,7 +878,47 @@ MenuRegistry.appendMenuItem(MenuId.MenubarLayoutMenu, {
778
878
  order: 1
779
879
  });
780
880
  MenuRegistry.appendMenuItem(MenuId.MenubarLayoutMenu, {
781
- group: '3_layouts',
881
+ group: '3_new_window',
882
+ command: {
883
+ id: MOVE_EDITOR_INTO_NEW_WINDOW_COMMAND_ID,
884
+ title: {
885
+ original: 'Move Editor into New Window',
886
+ value: ( localizeWithPath(
887
+ 'vs/workbench/browser/parts/editor/editor.contribution',
888
+ 'moveEditorToNewWindow',
889
+ "Move Editor into New Window"
890
+ )),
891
+ mnemonicTitle: ( localizeWithPath(
892
+ 'vs/workbench/browser/parts/editor/editor.contribution',
893
+ { key: 'miMoveEditorToNewWindow', comment: ['&& denotes a mnemonic'] },
894
+ "&&Move Editor into New Window"
895
+ ))
896
+ }
897
+ },
898
+ order: 1
899
+ });
900
+ MenuRegistry.appendMenuItem(MenuId.MenubarLayoutMenu, {
901
+ group: '3_new_window',
902
+ command: {
903
+ id: COPY_EDITOR_INTO_NEW_WINDOW_COMMAND_ID,
904
+ title: {
905
+ original: 'Copy Editor into New Window',
906
+ value: ( localizeWithPath(
907
+ 'vs/workbench/browser/parts/editor/editor.contribution',
908
+ 'copyEditorToNewWindow',
909
+ "Copy Editor into New Window"
910
+ )),
911
+ mnemonicTitle: ( localizeWithPath(
912
+ 'vs/workbench/browser/parts/editor/editor.contribution',
913
+ { key: 'miCopyEditorToNewWindow', comment: ['&& denotes a mnemonic'] },
914
+ "&&Copy Editor into New Window"
915
+ ))
916
+ }
917
+ },
918
+ order: 2
919
+ });
920
+ MenuRegistry.appendMenuItem(MenuId.MenubarLayoutMenu, {
921
+ group: '4_layouts',
782
922
  command: {
783
923
  id: EditorLayoutSingleAction.ID,
784
924
  title: {
@@ -798,7 +938,7 @@ MenuRegistry.appendMenuItem(MenuId.MenubarLayoutMenu, {
798
938
  order: 1
799
939
  });
800
940
  MenuRegistry.appendMenuItem(MenuId.MenubarLayoutMenu, {
801
- group: '3_layouts',
941
+ group: '4_layouts',
802
942
  command: {
803
943
  id: EditorLayoutTwoColumnsAction.ID,
804
944
  title: {
@@ -818,7 +958,7 @@ MenuRegistry.appendMenuItem(MenuId.MenubarLayoutMenu, {
818
958
  order: 3
819
959
  });
820
960
  MenuRegistry.appendMenuItem(MenuId.MenubarLayoutMenu, {
821
- group: '3_layouts',
961
+ group: '4_layouts',
822
962
  command: {
823
963
  id: EditorLayoutThreeColumnsAction.ID,
824
964
  title: {
@@ -838,7 +978,7 @@ MenuRegistry.appendMenuItem(MenuId.MenubarLayoutMenu, {
838
978
  order: 4
839
979
  });
840
980
  MenuRegistry.appendMenuItem(MenuId.MenubarLayoutMenu, {
841
- group: '3_layouts',
981
+ group: '4_layouts',
842
982
  command: {
843
983
  id: EditorLayoutTwoRowsAction.ID,
844
984
  title: {
@@ -858,7 +998,7 @@ MenuRegistry.appendMenuItem(MenuId.MenubarLayoutMenu, {
858
998
  order: 5
859
999
  });
860
1000
  MenuRegistry.appendMenuItem(MenuId.MenubarLayoutMenu, {
861
- group: '3_layouts',
1001
+ group: '4_layouts',
862
1002
  command: {
863
1003
  id: EditorLayoutThreeRowsAction.ID,
864
1004
  title: {
@@ -878,7 +1018,7 @@ MenuRegistry.appendMenuItem(MenuId.MenubarLayoutMenu, {
878
1018
  order: 6
879
1019
  });
880
1020
  MenuRegistry.appendMenuItem(MenuId.MenubarLayoutMenu, {
881
- group: '3_layouts',
1021
+ group: '4_layouts',
882
1022
  command: {
883
1023
  id: EditorLayoutTwoByTwoGridAction.ID,
884
1024
  title: {
@@ -898,7 +1038,7 @@ MenuRegistry.appendMenuItem(MenuId.MenubarLayoutMenu, {
898
1038
  order: 7
899
1039
  });
900
1040
  MenuRegistry.appendMenuItem(MenuId.MenubarLayoutMenu, {
901
- group: '3_layouts',
1041
+ group: '4_layouts',
902
1042
  command: {
903
1043
  id: EditorLayoutTwoRowsRightAction.ID,
904
1044
  title: {
@@ -918,7 +1058,7 @@ MenuRegistry.appendMenuItem(MenuId.MenubarLayoutMenu, {
918
1058
  order: 8
919
1059
  });
920
1060
  MenuRegistry.appendMenuItem(MenuId.MenubarLayoutMenu, {
921
- group: '3_layouts',
1061
+ group: '4_layouts',
922
1062
  command: {
923
1063
  id: EditorLayoutTwoColumnsBottomAction.ID,
924
1064
  title: {
@@ -1,11 +1,15 @@
1
1
  import { Dimension } from 'monaco-editor/esm/vs/base/browser/dom.js';
2
2
  import { isObject } from 'monaco-editor/esm/vs/base/common/types.js';
3
+ import { verifyObject, BooleanVerifier, NumberVerifier, EnumVerifier, SetVerifier, ObjectVerifier } from '../../../../base/common/verifier.js';
4
+ import product from 'monaco-editor/esm/vs/platform/product/common/product.js';
3
5
  const DEFAULT_EDITOR_MIN_DIMENSIONS = ( new Dimension(220, 70));
4
6
  const DEFAULT_EDITOR_MAX_DIMENSIONS = ( new Dimension(Number.POSITIVE_INFINITY, Number.POSITIVE_INFINITY));
5
7
  const DEFAULT_EDITOR_PART_OPTIONS = {
6
- showTabs: true,
8
+ showTabs: 'multiple',
7
9
  highlightModifiedTabs: false,
8
- tabCloseButton: 'right',
10
+ tabActionLocation: 'right',
11
+ tabActionCloseVisibility: true,
12
+ tabActionUnpinVisibility: true,
9
13
  tabSizing: 'fit',
10
14
  tabSizingFixedMinWidth: 50,
11
15
  tabSizingFixedMaxWidth: 160,
@@ -24,8 +28,22 @@ const DEFAULT_EDITOR_PART_OPTIONS = {
24
28
  labelFormat: 'default',
25
29
  splitSizing: 'auto',
26
30
  splitOnDragAndDrop: true,
31
+ dragToOpenWindow: product.quality !== 'stable',
27
32
  centeredLayoutFixedWidth: false,
28
- doubleClickTabToToggleEditorGroupSizes: true,
33
+ doubleClickTabToToggleEditorGroupSizes: 'expand',
34
+ editorActionsLocation: 'default',
35
+ wrapTabs: false,
36
+ enablePreviewFromQuickOpen: false,
37
+ scrollToSwitchTabs: false,
38
+ enablePreviewFromCodeNavigation: false,
39
+ closeOnFileDelete: false,
40
+ mouseBackForwardToNavigate: true,
41
+ restoreViewState: true,
42
+ splitInGroupLayout: 'horizontal',
43
+ revealIfOpen: false,
44
+ get limit() { return { enabled: false, value: 10, perEditorGroup: false, excludeDirty: false }; },
45
+ get decorations() { return { badges: true, colors: true }; },
46
+ get autoLockGroups() { return ( new Set()); }
29
47
  };
30
48
  function impactsEditorPartOptions(event) {
31
49
  return event.affectsConfiguration('workbench.editor') || event.affectsConfiguration('workbench.iconTheme') || event.affectsConfiguration('window.density');
@@ -39,7 +57,7 @@ function getEditorPartOptions(configurationService, themeService) {
39
57
  if (config?.workbench?.editor) {
40
58
  Object.assign(options, config.workbench.editor);
41
59
  if (isObject(config.workbench.editor.autoLockGroups)) {
42
- options.autoLockGroups = ( new Set());
60
+ options.autoLockGroups = DEFAULT_EDITOR_PART_OPTIONS.autoLockGroups;
43
61
  for (const [editorId, enablement] of Object.entries(config.workbench.editor.autoLockGroups)) {
44
62
  if (enablement === true) {
45
63
  options.autoLockGroups.add(editorId);
@@ -47,14 +65,92 @@ function getEditorPartOptions(configurationService, themeService) {
47
65
  }
48
66
  }
49
67
  else {
50
- options.autoLockGroups = undefined;
68
+ options.autoLockGroups = DEFAULT_EDITOR_PART_OPTIONS.autoLockGroups;
51
69
  }
52
70
  }
53
71
  const windowConfig = configurationService.getValue();
54
72
  if (windowConfig?.window?.density?.editorTabHeight) {
55
73
  options.tabHeight = windowConfig.window.density.editorTabHeight;
56
74
  }
57
- return options;
75
+ return validateEditorPartOptions(options);
76
+ }
77
+ function validateEditorPartOptions(options) {
78
+ if (typeof options.showTabs === 'boolean') {
79
+ options.showTabs = options.showTabs ? 'multiple' : 'single';
80
+ }
81
+ return verifyObject({
82
+ 'wrapTabs': ( new BooleanVerifier(DEFAULT_EDITOR_PART_OPTIONS['wrapTabs'])),
83
+ 'scrollToSwitchTabs': ( new BooleanVerifier(DEFAULT_EDITOR_PART_OPTIONS['scrollToSwitchTabs'])),
84
+ 'highlightModifiedTabs': ( new BooleanVerifier(DEFAULT_EDITOR_PART_OPTIONS['highlightModifiedTabs'])),
85
+ 'tabActionCloseVisibility': ( new BooleanVerifier(DEFAULT_EDITOR_PART_OPTIONS['tabActionCloseVisibility'])),
86
+ 'tabActionUnpinVisibility': ( new BooleanVerifier(DEFAULT_EDITOR_PART_OPTIONS['tabActionUnpinVisibility'])),
87
+ 'pinnedTabsOnSeparateRow': ( new BooleanVerifier(DEFAULT_EDITOR_PART_OPTIONS['pinnedTabsOnSeparateRow'])),
88
+ 'focusRecentEditorAfterClose': ( new BooleanVerifier(DEFAULT_EDITOR_PART_OPTIONS['focusRecentEditorAfterClose'])),
89
+ 'showIcons': ( new BooleanVerifier(DEFAULT_EDITOR_PART_OPTIONS['showIcons'])),
90
+ 'enablePreview': ( new BooleanVerifier(DEFAULT_EDITOR_PART_OPTIONS['enablePreview'])),
91
+ 'enablePreviewFromQuickOpen': ( new BooleanVerifier(DEFAULT_EDITOR_PART_OPTIONS['enablePreviewFromQuickOpen'])),
92
+ 'enablePreviewFromCodeNavigation': ( new BooleanVerifier(DEFAULT_EDITOR_PART_OPTIONS['enablePreviewFromCodeNavigation'])),
93
+ 'closeOnFileDelete': ( new BooleanVerifier(DEFAULT_EDITOR_PART_OPTIONS['closeOnFileDelete'])),
94
+ 'closeEmptyGroups': ( new BooleanVerifier(DEFAULT_EDITOR_PART_OPTIONS['closeEmptyGroups'])),
95
+ 'revealIfOpen': ( new BooleanVerifier(DEFAULT_EDITOR_PART_OPTIONS['revealIfOpen'])),
96
+ 'mouseBackForwardToNavigate': ( new BooleanVerifier(DEFAULT_EDITOR_PART_OPTIONS['mouseBackForwardToNavigate'])),
97
+ 'restoreViewState': ( new BooleanVerifier(DEFAULT_EDITOR_PART_OPTIONS['restoreViewState'])),
98
+ 'splitOnDragAndDrop': ( new BooleanVerifier(DEFAULT_EDITOR_PART_OPTIONS['splitOnDragAndDrop'])),
99
+ 'dragToOpenWindow': ( new BooleanVerifier(DEFAULT_EDITOR_PART_OPTIONS['dragToOpenWindow'])),
100
+ 'centeredLayoutFixedWidth': ( new BooleanVerifier(DEFAULT_EDITOR_PART_OPTIONS['centeredLayoutFixedWidth'])),
101
+ 'hasIcons': ( new BooleanVerifier(DEFAULT_EDITOR_PART_OPTIONS['hasIcons'])),
102
+ 'tabSizingFixedMinWidth': ( new NumberVerifier(DEFAULT_EDITOR_PART_OPTIONS['tabSizingFixedMinWidth'])),
103
+ 'tabSizingFixedMaxWidth': ( new NumberVerifier(DEFAULT_EDITOR_PART_OPTIONS['tabSizingFixedMaxWidth'])),
104
+ 'showTabs': ( new EnumVerifier(DEFAULT_EDITOR_PART_OPTIONS['showTabs'], ['multiple', 'single', 'none'])),
105
+ 'tabActionLocation': ( new EnumVerifier(DEFAULT_EDITOR_PART_OPTIONS['tabActionLocation'], ['left', 'right'])),
106
+ 'tabSizing': ( new EnumVerifier(DEFAULT_EDITOR_PART_OPTIONS['tabSizing'], ['fit', 'shrink', 'fixed'])),
107
+ 'pinnedTabSizing': ( new EnumVerifier(
108
+ DEFAULT_EDITOR_PART_OPTIONS['pinnedTabSizing'],
109
+ ['normal', 'compact', 'shrink']
110
+ )),
111
+ 'tabHeight': ( new EnumVerifier(DEFAULT_EDITOR_PART_OPTIONS['tabHeight'], ['default', 'compact'])),
112
+ 'preventPinnedEditorClose': ( new EnumVerifier(
113
+ DEFAULT_EDITOR_PART_OPTIONS['preventPinnedEditorClose'],
114
+ ['keyboardAndMouse', 'keyboard', 'mouse', 'never']
115
+ )),
116
+ 'titleScrollbarSizing': ( new EnumVerifier(DEFAULT_EDITOR_PART_OPTIONS['titleScrollbarSizing'], ['default', 'large'])),
117
+ 'openPositioning': ( new EnumVerifier(
118
+ DEFAULT_EDITOR_PART_OPTIONS['openPositioning'],
119
+ ['left', 'right', 'first', 'last']
120
+ )),
121
+ 'openSideBySideDirection': ( new EnumVerifier(DEFAULT_EDITOR_PART_OPTIONS['openSideBySideDirection'], ['right', 'down'])),
122
+ 'labelFormat': ( new EnumVerifier(
123
+ DEFAULT_EDITOR_PART_OPTIONS['labelFormat'],
124
+ ['default', 'short', 'medium', 'long']
125
+ )),
126
+ 'splitInGroupLayout': ( new EnumVerifier(
127
+ DEFAULT_EDITOR_PART_OPTIONS['splitInGroupLayout'],
128
+ ['vertical', 'horizontal']
129
+ )),
130
+ 'splitSizing': ( new EnumVerifier(
131
+ DEFAULT_EDITOR_PART_OPTIONS['splitSizing'],
132
+ ['distribute', 'split', 'auto']
133
+ )),
134
+ 'doubleClickTabToToggleEditorGroupSizes': ( new EnumVerifier(
135
+ DEFAULT_EDITOR_PART_OPTIONS['doubleClickTabToToggleEditorGroupSizes'],
136
+ ['maximize', 'expand', 'off']
137
+ )),
138
+ 'editorActionsLocation': ( new EnumVerifier(
139
+ DEFAULT_EDITOR_PART_OPTIONS['editorActionsLocation'],
140
+ ['default', 'titleBar', 'hidden']
141
+ )),
142
+ 'autoLockGroups': ( new SetVerifier(DEFAULT_EDITOR_PART_OPTIONS['autoLockGroups'])),
143
+ 'limit': ( new ObjectVerifier(DEFAULT_EDITOR_PART_OPTIONS['limit'], {
144
+ 'enabled': ( new BooleanVerifier(DEFAULT_EDITOR_PART_OPTIONS['limit']['enabled'])),
145
+ 'value': ( new NumberVerifier(DEFAULT_EDITOR_PART_OPTIONS['limit']['value'])),
146
+ 'perEditorGroup': ( new BooleanVerifier(DEFAULT_EDITOR_PART_OPTIONS['limit']['perEditorGroup'])),
147
+ 'excludeDirty': ( new BooleanVerifier(DEFAULT_EDITOR_PART_OPTIONS['limit']['excludeDirty']))
148
+ })),
149
+ 'decorations': ( new ObjectVerifier(DEFAULT_EDITOR_PART_OPTIONS['decorations'], {
150
+ 'badges': ( new BooleanVerifier(DEFAULT_EDITOR_PART_OPTIONS['decorations']['badges'])),
151
+ 'colors': ( new BooleanVerifier(DEFAULT_EDITOR_PART_OPTIONS['decorations']['colors']))
152
+ })),
153
+ }, options);
58
154
  }
59
155
  function fillActiveEditorViewState(group, expectedActiveEditor, presetOptions) {
60
156
  if (!expectedActiveEditor || !group.activeEditor || expectedActiveEditor.matches(group.activeEditor)) {