@codingame/monaco-vscode-api 1.83.16 → 1.85.0-next.1

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 (328) hide show
  1. package/api.js +13 -7
  2. package/assets/clear.mp3 +0 -0
  3. package/assets/format.mp3 +0 -0
  4. package/assets/save.mp3 +0 -0
  5. package/extensions.d.ts +13 -3
  6. package/external/{xterm-addon-image/typings/xterm-addon-image.d.ts → @xterm/addon-image/typings/addon-image.d.ts} +1 -1
  7. package/external/{xterm-addon-serialize/typings/xterm-addon-serialize.d.ts → @xterm/addon-serialize/typings/addon-serialize.d.ts} +20 -3
  8. package/external/{xterm → @xterm/xterm}/typings/xterm.d.ts +13 -1
  9. package/lifecycle.js +2 -2
  10. package/localExtensionHost.js +3 -1
  11. package/missing-services.js +160 -25
  12. package/monaco-editor-treemending.patch +6884 -18018
  13. package/monaco-treemending.js +2 -2
  14. package/package.json +7 -7
  15. package/service-override/tools/editor.d.ts +8 -8
  16. package/service-override/tools/editor.js +44 -19
  17. package/services.d.ts +2 -2
  18. package/services.js +3 -3
  19. package/vscode/src/vs/base/browser/broadcast.js +6 -5
  20. package/vscode/src/vs/base/browser/dnd.d.ts +6 -0
  21. package/vscode/src/vs/base/browser/mouseEvent.d.ts +1 -1
  22. package/vscode/src/vs/base/browser/touch.d.ts +10 -0
  23. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.d.ts +1 -0
  24. package/vscode/src/vs/base/browser/ui/iconLabel/iconHoverDelegate.d.ts +22 -15
  25. package/vscode/src/vs/base/browser/ui/menu/menubar.js +4 -3
  26. package/vscode/src/vs/base/browser/ui/splitview/paneview.css.js +1 -1
  27. package/vscode/src/vs/base/browser/ui/splitview/paneview.d.ts +3 -0
  28. package/vscode/src/vs/base/browser/ui/splitview/paneview.js +34 -11
  29. package/vscode/src/vs/base/common/actions.d.ts +1 -15
  30. package/vscode/src/vs/base/common/async.d.ts +1 -31
  31. package/vscode/src/vs/base/common/event.d.ts +2 -1
  32. package/vscode/src/vs/base/common/observableInternal/base.d.ts +23 -10
  33. package/vscode/src/vs/base/common/prefixTree.js +21 -11
  34. package/vscode/src/vs/base/common/product.d.ts +16 -2
  35. package/vscode/src/vs/base/common/resourceTree.js +135 -0
  36. package/vscode/src/vs/base/common/skipList.js +1 -0
  37. package/vscode/src/vs/base/common/tfIdf.js +137 -0
  38. package/vscode/src/vs/base/common/types.d.ts +13 -1
  39. package/vscode/src/vs/base/common/verifier.js +62 -0
  40. package/vscode/src/vs/editor/browser/editorBrowser.d.ts +4 -2
  41. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +23 -4
  42. package/vscode/src/vs/editor/common/core/lineRange.d.ts +1 -0
  43. package/vscode/src/vs/editor/common/core/offsetRange.d.ts +3 -0
  44. package/vscode/src/vs/editor/common/core/position.d.ts +1 -0
  45. package/vscode/src/vs/editor/common/editorCommon.d.ts +2 -1
  46. package/vscode/src/vs/editor/common/languages.d.ts +23 -1
  47. package/vscode/src/vs/editor/common/services/languageFeatures.d.ts +2 -1
  48. package/vscode/src/vs/editor/common/services/resolverService.d.ts +11 -2
  49. package/vscode/src/vs/platform/accessibility/common/accessibility.d.ts +16 -1
  50. package/vscode/src/vs/platform/action/common/action.d.ts +8 -0
  51. package/vscode/src/vs/platform/actions/browser/dropdownWithPrimaryActionViewItem.js +4 -0
  52. package/vscode/src/vs/platform/actions/common/actions.d.ts +8 -0
  53. package/vscode/src/vs/platform/audioCues/browser/audioCueService.d.ts +6 -0
  54. package/vscode/src/vs/platform/commands/common/commands.d.ts +13 -5
  55. package/vscode/src/vs/platform/dialogs/common/dialogs.d.ts +9 -3
  56. package/vscode/src/vs/platform/dialogs/common/dialogs.js +5 -2
  57. package/vscode/src/vs/platform/editor/common/editor.d.ts +3 -15
  58. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +1 -0
  59. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +3 -15
  60. package/vscode/src/vs/platform/extensionManagement/common/implicitActivationEvents.js +5 -0
  61. package/vscode/src/vs/platform/extensions/common/extensions.d.ts +0 -1
  62. package/vscode/src/vs/platform/files/common/files.d.ts +72 -8
  63. package/vscode/src/vs/platform/files/common/watcher.js +77 -0
  64. package/vscode/src/vs/platform/keybinding/common/keybindingsRegistry.d.ts +2 -2
  65. package/vscode/src/vs/platform/layout/browser/layoutService.d.ts +52 -21
  66. package/vscode/src/vs/platform/request/browser/requestService.js +3 -0
  67. package/vscode/src/vs/platform/request/common/requestIpc.js +17 -0
  68. package/vscode/src/vs/platform/storage/common/storage.js +2 -2
  69. package/vscode/src/vs/platform/telemetry/common/telemetry.d.ts +1 -0
  70. package/vscode/src/vs/platform/terminal/common/capabilities/capabilities.d.ts +12 -7
  71. package/vscode/src/vs/platform/terminal/common/capabilities/{commandDetectionCapability.d.ts → commandDetection/terminalCommand.d.ts} +3 -2
  72. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetection/terminalCommand.js +257 -0
  73. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetectionCapability.js +439 -354
  74. package/vscode/src/vs/platform/window/common/window.d.ts +9 -2
  75. package/vscode/src/vs/platform/window/common/window.js +6 -1
  76. package/vscode/src/vs/platform/workspaces/common/workspaces.d.ts +2 -43
  77. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +113 -81
  78. package/vscode/src/vs/workbench/api/common/extHost.protocol.js +5 -4
  79. package/vscode/src/vs/workbench/api/common/extHostApiCommands.js +25 -3
  80. package/vscode/src/vs/workbench/api/common/extHostChat.js +13 -163
  81. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +412 -0
  82. package/vscode/src/vs/workbench/api/common/extHostChatProvider.js +79 -11
  83. package/vscode/src/vs/workbench/api/common/extHostCommands.js +13 -12
  84. package/vscode/src/vs/workbench/api/common/extHostComments.js +1 -1
  85. package/vscode/src/vs/workbench/api/common/extHostEditorTabs.js +8 -6
  86. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +1 -1
  87. package/vscode/src/vs/workbench/api/common/extHostFileSystemEventService.js +36 -19
  88. package/vscode/src/vs/workbench/api/common/extHostInlineChat.js +52 -31
  89. package/vscode/src/vs/workbench/api/common/extHostIssueReporter.js +38 -0
  90. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +28 -3
  91. package/vscode/src/vs/workbench/api/common/extHostLanguages.js +10 -0
  92. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +117 -2
  93. package/vscode/src/vs/workbench/api/common/extHostNotebookKernels.js +32 -4
  94. package/vscode/src/vs/workbench/api/common/extHostSCM.js +85 -23
  95. package/vscode/src/vs/workbench/api/common/extHostSearch.js +3 -0
  96. package/vscode/src/vs/workbench/api/common/extHostSpeech.js +42 -0
  97. package/vscode/src/vs/workbench/api/common/extHostTask.js +2 -1
  98. package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +1 -0
  99. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +3 -3
  100. package/vscode/src/vs/workbench/api/common/extHostTesting.js +97 -47
  101. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +115 -16
  102. package/vscode/src/vs/workbench/api/common/extHostTypes.js +66 -36
  103. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +6 -1
  104. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +182 -75
  105. package/vscode/src/vs/workbench/browser/actions/windowActions.js +176 -4
  106. package/vscode/src/vs/workbench/browser/actions/workspaceActions.js +143 -2
  107. package/vscode/src/vs/workbench/browser/actions/workspaceCommands.js +237 -0
  108. package/vscode/src/vs/workbench/browser/composite.d.ts +0 -4
  109. package/vscode/src/vs/workbench/browser/composite.js +5 -4
  110. package/vscode/src/vs/workbench/browser/dnd.js +72 -23
  111. package/vscode/src/vs/workbench/browser/labels.js +7 -3
  112. package/vscode/src/vs/workbench/browser/media/part.css.js +1 -1
  113. package/vscode/src/vs/workbench/browser/panecomposite.d.ts +2 -2
  114. package/vscode/src/vs/workbench/browser/panecomposite.js +2 -0
  115. package/vscode/src/vs/workbench/browser/part.js +33 -2
  116. package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +99 -117
  117. package/vscode/src/vs/workbench/browser/parts/editor/editor.contribution.js +173 -33
  118. package/vscode/src/vs/workbench/browser/parts/editor/editor.js +102 -6
  119. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +256 -17
  120. package/vscode/src/vs/workbench/browser/parts/editor/editorAutoSave.js +4 -0
  121. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +68 -35
  122. package/vscode/src/vs/workbench/browser/parts/editor/editorPlaceholder.js +5 -5
  123. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +35 -16
  124. package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.js +348 -0
  125. package/vscode/src/vs/workbench/browser/parts/editor/editorsObserver.js +43 -31
  126. package/vscode/src/vs/workbench/browser/parts/editor/media/editortabscontrol.css.js +4 -0
  127. package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +1 -0
  128. package/vscode/src/vs/workbench/browser/parts/editor/textCodeEditor.js +1 -0
  129. package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +14 -2
  130. package/vscode/src/vs/workbench/browser/parts/editor/textEditor.js +4 -4
  131. package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +277 -0
  132. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +5 -2
  133. package/vscode/src/vs/workbench/browser/parts/panel/media/panelpart.css.js +1 -1
  134. package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +3 -38
  135. package/vscode/src/vs/workbench/browser/parts/statusbar/statusbarPart.d.ts +54 -52
  136. package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +2 -1
  137. package/vscode/src/vs/workbench/browser/parts/titlebar/titlebarPart.d.ts +25 -0
  138. package/vscode/src/vs/workbench/browser/parts/titlebar/windowTitle.js +258 -0
  139. package/vscode/src/vs/workbench/browser/parts/views/media/paneviewlet.css.js +1 -1
  140. package/vscode/src/vs/workbench/browser/parts/views/viewPane.d.ts +2 -5
  141. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +157 -117
  142. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +50 -23
  143. package/vscode/src/vs/workbench/browser/parts/views/viewsService.js +26 -11
  144. package/vscode/src/vs/workbench/browser/parts/views/viewsViewlet.js +10 -6
  145. package/vscode/src/vs/workbench/browser/style.js +2 -1
  146. package/vscode/src/vs/workbench/browser/web.api.d.ts +39 -2
  147. package/vscode/src/vs/workbench/browser/window.js +55 -0
  148. package/vscode/src/vs/workbench/browser/workbench.contribution.js +220 -40
  149. package/vscode/src/vs/workbench/common/activity.js +3 -0
  150. package/vscode/src/vs/workbench/common/contextkeys.js +35 -5
  151. package/vscode/src/vs/workbench/common/contributions.js +4 -3
  152. package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +14 -4
  153. package/vscode/src/vs/workbench/common/editor/diffEditorModel.js +1 -1
  154. package/vscode/src/vs/workbench/common/editor/editorGroupModel.js +22 -19
  155. package/vscode/src/vs/workbench/common/editor/editorInput.d.ts +4 -3
  156. package/vscode/src/vs/workbench/common/editor/editorModel.d.ts +1 -2
  157. package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +22 -4
  158. package/vscode/src/vs/workbench/common/editor/textResourceEditorInput.js +3 -3
  159. package/vscode/src/vs/workbench/common/editor.d.ts +60 -30
  160. package/vscode/src/vs/workbench/common/editor.js +11 -3
  161. package/vscode/src/vs/workbench/common/theme.js +2 -2
  162. package/vscode/src/vs/workbench/common/views.d.ts +4 -4
  163. package/vscode/src/vs/workbench/common/views.js +3 -1
  164. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +97 -8
  165. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityContributions.js +17 -99
  166. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleView.js +103 -37
  167. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +2 -3
  168. package/vscode/src/vs/workbench/contrib/accessibility/browser/editorAccessibilityHelp.js +127 -0
  169. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +71 -0
  170. package/vscode/src/vs/workbench/contrib/chat/browser/chat.js +2 -1
  171. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +33 -110
  172. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +64 -0
  173. package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.js +94 -0
  174. package/vscode/src/vs/workbench/contrib/chat/common/chatService.js +6 -1
  175. package/vscode/src/vs/workbench/contrib/chat/common/chatSlashCommands.js +1 -88
  176. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +4 -4
  177. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +3 -2
  178. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +3 -1
  179. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +15 -16
  180. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +9 -3
  181. package/vscode/src/vs/workbench/contrib/comments/browser/comments.contribution.js +3 -1
  182. package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +2 -3
  183. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInput.js +1 -0
  184. package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +9 -1
  185. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +10 -1
  186. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +114 -22
  187. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionActions.css.js +1 -1
  188. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +4 -1
  189. package/vscode/src/vs/workbench/contrib/files/browser/explorerFileContrib.js +19 -0
  190. package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +10 -8
  191. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +62 -10
  192. package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +2 -1
  193. package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +9 -8
  194. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution.js +10 -1
  195. package/vscode/src/vs/workbench/contrib/files/browser/files.d.ts +1 -0
  196. package/vscode/src/vs/workbench/contrib/files/browser/files.js +7 -3
  197. package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +4 -4
  198. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +64 -36
  199. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +42 -17
  200. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +145 -25
  201. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +1 -1
  202. package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +1 -1
  203. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +36 -0
  204. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +3 -1
  205. package/vscode/src/vs/workbench/contrib/preferences/common/preferences.js +24 -3
  206. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +11 -6
  207. package/vscode/src/vs/workbench/contrib/scm/common/scm.js +1 -2
  208. package/vscode/src/vs/workbench/contrib/search/browser/notebookSearch/searchNotebookHelpers.js +31 -0
  209. package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +61 -41
  210. package/vscode/src/vs/workbench/contrib/search/{browser/searchNotebookHelpers.js → common/cellSearchModel.js} +4 -63
  211. package/vscode/src/vs/workbench/contrib/search/common/searchNotebookHelpers.js +40 -0
  212. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +2 -2
  213. package/vscode/src/vs/workbench/{services/editor/browser/editorDropService.js → contrib/speech/common/speechService.js} +2 -2
  214. package/vscode/src/vs/workbench/contrib/terminal/browser/detachedTerminal.js +29 -4
  215. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +100 -79
  216. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalConfigHelper.d.ts +3 -3
  217. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +1 -1
  218. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalIcon.js +7 -4
  219. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationAddon.js +5 -3
  220. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/markNavigationAddon.js +143 -41
  221. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +17 -11
  222. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.js +41 -26
  223. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm-private.d.ts +5 -2
  224. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +2 -8
  225. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +2 -0
  226. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +115 -0
  227. package/vscode/src/vs/workbench/contrib/testing/common/testCoverageService.js +74 -0
  228. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +3 -3
  229. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +64 -1
  230. package/vscode/src/vs/workbench/contrib/testing/common/testingContextKeys.js +9 -0
  231. package/vscode/src/vs/workbench/contrib/webview/browser/webviewWindowDragMonitor.js +4 -3
  232. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +8 -9
  233. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditorInput.js +1 -1
  234. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewIconManager.js +5 -2
  235. package/vscode/src/vs/workbench/services/activity/browser/activityService.d.ts +16 -10
  236. package/vscode/src/vs/workbench/services/activity/common/activity.d.ts +14 -1
  237. package/vscode/src/vs/workbench/services/activity/common/activity.js +1 -7
  238. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +9 -28
  239. package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +273 -0
  240. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolver.js +1 -0
  241. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +2 -0
  242. package/vscode/src/vs/workbench/services/decorations/browser/decorationsService.js +2 -3
  243. package/vscode/src/vs/workbench/services/editor/browser/editorService.d.ts +7 -5
  244. package/vscode/src/vs/workbench/services/editor/browser/editorService.js +59 -37
  245. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +193 -94
  246. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.js +2 -2
  247. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.d.ts +8 -2
  248. package/vscode/src/vs/workbench/services/editor/common/editorService.d.ts +8 -1
  249. package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.js +62 -16
  250. package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +5 -3
  251. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +3 -2
  252. package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.js +4 -9
  253. package/vscode/src/vs/workbench/services/extensions/common/{extensionHostManager.d.ts → extensionHostManagers.d.ts} +2 -0
  254. package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.d.ts +1 -1
  255. package/vscode/src/vs/workbench/services/extensions/common/extensions.d.ts +9 -0
  256. package/vscode/src/vs/workbench/services/extensions/common/extensions.js +22 -0
  257. package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +14 -3
  258. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +9 -0
  259. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +3 -3
  260. package/vscode/src/vs/workbench/services/history/common/history.d.ts +2 -2
  261. package/vscode/src/vs/workbench/services/host/browser/browserHostService.js +49 -18
  262. package/vscode/src/vs/workbench/services/host/browser/host.d.ts +29 -7
  263. package/vscode/src/vs/workbench/services/hover/browser/hover.d.ts +51 -28
  264. package/vscode/src/vs/workbench/services/hover/browser/hoverService.d.ts +5 -2
  265. package/vscode/src/vs/workbench/services/keybinding/browser/unboundCommands.js +2 -2
  266. package/vscode/src/vs/workbench/services/languageStatus/common/languageStatusService.d.ts +4 -1
  267. package/vscode/src/vs/workbench/services/layout/browser/layoutService.d.ts +40 -36
  268. package/vscode/src/vs/workbench/services/panecomposite/browser/panecomposite.d.ts +0 -6
  269. package/vscode/src/vs/workbench/services/preferences/common/preferences.d.ts +3 -0
  270. package/vscode/src/vs/workbench/services/progress/browser/progressIndicator.js +2 -2
  271. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.d.ts +18 -3
  272. package/vscode/src/vs/workbench/services/request/browser/requestService.js +48 -0
  273. package/vscode/src/vs/workbench/services/search/common/searchHelpers.js +4 -4
  274. package/vscode/src/vs/workbench/services/statusbar/browser/statusbar.d.ts +10 -51
  275. package/vscode/src/vs/workbench/services/suggest/browser/simpleSuggestWidget.js +2 -2
  276. package/vscode/src/vs/workbench/services/textfile/browser/textFileService.js +32 -1
  277. package/vscode/src/vs/workbench/services/textfile/common/textEditorService.js +1 -5
  278. package/vscode/src/vs/workbench/services/themes/browser/browserHostColorSchemeService.js +4 -3
  279. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +9 -3
  280. package/vscode/src/vs/workbench/services/title/browser/titleService.d.ts +18 -0
  281. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorInput.js +18 -3
  282. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorModel.js +16 -7
  283. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.d.ts +6 -0
  284. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.js +13 -0
  285. package/vscode/src/vs/workbench/services/url/browser/urlService.js +2 -1
  286. package/vscode/src/vs/workbench/services/userActivity/common/userActivityService.js +2 -2
  287. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +9 -0
  288. package/vscode-dts/vscode.proposed.chatAgents2.d.ts +375 -0
  289. package/vscode-dts/vscode.proposed.chatAgents2Additions.d.ts +80 -0
  290. package/vscode-dts/vscode.proposed.chatProvider.d.ts +5 -1
  291. package/vscode-dts/vscode.proposed.chatRequestAccess.d.ts +68 -10
  292. package/vscode-dts/vscode.proposed.chatTab.d.ts +21 -0
  293. package/vscode-dts/vscode.proposed.chatVariables.d.ts +5 -1
  294. package/vscode-dts/vscode.proposed.codeActionAI.d.ts +16 -0
  295. package/vscode-dts/vscode.proposed.contribSourceControlInputBoxMenu.d.ts +7 -0
  296. package/vscode-dts/vscode.proposed.createFileSystemWatcher.d.ts +51 -0
  297. package/vscode-dts/vscode.proposed.defaultChatAgent.d.ts +30 -0
  298. package/vscode-dts/vscode.proposed.handleIssueUri.d.ts +26 -0
  299. package/vscode-dts/vscode.proposed.interactive.d.ts +26 -100
  300. package/vscode-dts/vscode.proposed.interactiveUserActions.d.ts +14 -7
  301. package/vscode-dts/vscode.proposed.languageStatusText.d.ts +12 -0
  302. package/vscode-dts/vscode.proposed.multiDocumentHighlightProvider.d.ts +63 -0
  303. package/vscode-dts/vscode.proposed.notebookVariableProvider.d.ts +43 -0
  304. package/vscode-dts/vscode.proposed.resolvers.d.ts +100 -1
  305. package/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts +9 -1
  306. package/vscode-dts/vscode.proposed.scmInputBoxActionButton.d.ts +19 -0
  307. package/vscode-dts/vscode.proposed.scmInputBoxValueProvider.d.ts +25 -0
  308. package/vscode-dts/vscode.proposed.speech.d.ts +35 -0
  309. package/vscode-dts/vscode.proposed.terminalQuickFixProvider.d.ts +11 -7
  310. package/vscode-dts/vscode.proposed.testCoverage.d.ts +6 -1
  311. package/vscode-dts/vscode.proposed.testingActiveProfile.d.ts +21 -0
  312. package/external/xterm-headless/typings/xterm-headless.d.ts +0 -49
  313. package/vscode/src/vs/platform/backup/common/backup.d.ts +0 -14
  314. package/vscode/src/vs/platform/update/common/update.d.ts +0 -112
  315. package/vscode/src/vs/workbench/api/common/extHostChatAgents.js +0 -62
  316. package/vscode/src/vs/workbench/api/common/extHostChatSlashCommand.js +0 -62
  317. package/vscode/src/vs/workbench/browser/parts/paneCompositePart.d.ts +0 -56
  318. package/vscode/src/vs/workbench/services/files/common/files.js +0 -4
  319. package/vscode/src/vs/workbench/services/host/browser/browserHostService.d.ts +0 -41
  320. package/vscode/src/vs/workbench/services/title/common/titleService.d.ts +0 -31
  321. package/vscode-dts/vscode.proposed.chatAgents.d.ts +0 -39
  322. package/vscode-dts/vscode.proposed.chatSlashCommands.d.ts +0 -47
  323. package/vscode-dts/vscode.proposed.testMessageContextValue.d.ts +0 -45
  324. /package/external/{xterm-addon-canvas/typings/xterm-addon-canvas.d.ts → @xterm/addon-canvas/typings/addon-canvas.d.ts} +0 -0
  325. /package/external/{xterm-addon-search/typings/xterm-addon-search.d.ts → @xterm/addon-search/typings/addon-search.d.ts} +0 -0
  326. /package/external/{xterm-addon-unicode11/typings/xterm-addon-unicode11.d.ts → @xterm/addon-unicode11/typings/addon-unicode11.d.ts} +0 -0
  327. /package/external/{xterm-addon-webgl/typings/xterm-addon-webgl.d.ts → @xterm/addon-webgl/typings/addon-webgl.d.ts} +0 -0
  328. /package/vscode/src/vs/workbench/services/title/{common → browser}/titleService.js +0 -0
@@ -16,6 +16,7 @@ import { IAccessibilityService } from 'monaco-editor/esm/vs/platform/accessibili
16
16
  import { CommentContextKeys } from '../common/commentContextKeys.js';
17
17
  import { ILanguageConfigurationService } from 'monaco-editor/esm/vs/editor/common/languages/languageConfigurationRegistry.js';
18
18
  import { ILanguageFeaturesService } from 'monaco-editor/esm/vs/editor/common/services/languageFeatures.js';
19
+ import { clamp } from 'monaco-editor/esm/vs/base/common/numbers.js';
19
20
  const ctxCommentEditorFocused = ( new RawContextKey('commentEditorFocused', false));
20
21
  const MIN_EDITOR_HEIGHT = 5 * 18;
21
22
  const MAX_EDITOR_HEIGHT = 25 * 18;
@@ -93,10 +94,8 @@ function calculateEditorHeight(parentEditor, editor, currentHeight) {
93
94
  if ((contentHeight > layoutInfo.height) ||
94
95
  (contentHeight < layoutInfo.height && currentHeight > MIN_EDITOR_HEIGHT)) {
95
96
  const linesToAdd = Math.ceil((contentHeight - layoutInfo.height) / lineHeight);
96
- const lowerBoundOfMaxEditorHeight = Math.max(parentEditor.getLayoutInfo().height - 90, MIN_EDITOR_HEIGHT);
97
- const maxCommentEditorHeightForParentEditor = Math.min(MAX_EDITOR_HEIGHT, lowerBoundOfMaxEditorHeight);
98
97
  const proposedHeight = layoutInfo.height + (lineHeight * linesToAdd);
99
- return Math.min(maxCommentEditorHeightForParentEditor, Math.max(MIN_EDITOR_HEIGHT, proposedHeight));
98
+ return clamp(proposedHeight, MIN_EDITOR_HEIGHT, clamp(parentEditor.getLayoutInfo().height - 90, MIN_EDITOR_HEIGHT, MAX_EDITOR_HEIGHT));
100
99
  }
101
100
  return currentHeight;
102
101
  }
@@ -88,6 +88,7 @@ let CustomEditorInput = class CustomEditorInput extends LazilyResolvedWebviewEdi
88
88
  get capabilities() {
89
89
  let capabilities = 0 ;
90
90
  capabilities |= 128 ;
91
+ capabilities |= 1024 ;
91
92
  if (!this.customEditorService.getCustomEditorCapabilities(this.viewType)?.supportsMultipleEditorsPerDocument) {
92
93
  capabilities |= 8 ;
93
94
  }
@@ -637,7 +637,7 @@ interface IConfigurationManager {
637
637
  * Allows to register on change of selected debug configuration.
638
638
  */
639
639
  onDidSelectConfiguration: Event<void>;
640
- hasDebugConfigurationProvider(debugType: string): boolean;
640
+ hasDebugConfigurationProvider(debugType: string, triggerKind?: DebugConfigurationProviderTriggerKind): boolean;
641
641
  getDynamicProviders(): Promise<{
642
642
  label: string;
643
643
  type: string;
@@ -805,6 +805,14 @@ interface IDebugService {
805
805
  * Adds a new data breakpoint.
806
806
  */
807
807
  addDataBreakpoint(label: string, dataId: string, canPersist: boolean, accessTypes: DebugProtocol.DataBreakpointAccessType[] | undefined, accessType: DebugProtocol.DataBreakpointAccessType): Promise<void>;
808
+ /**
809
+ * Updates an already existing data breakpoint.
810
+ * Notifies debug adapter of breakpoint changes.
811
+ */
812
+ updateDataBreakpoint(id: string, update: {
813
+ hitCondition?: string;
814
+ condition?: string;
815
+ }): Promise<void>;
808
816
  /**
809
817
  * Removes all data breakpoints. If id is passed only removes the data breakpoint with the passed id.
810
818
  * Notifies debug adapter of breakpoint changes.
@@ -209,6 +209,15 @@ const CONTEXT_FOCUSED_SESSION_IS_ATTACH = ( new RawContextKey(
209
209
  "True when the focused session is 'attach'."
210
210
  )) }
211
211
  ));
212
+ const CONTEXT_FOCUSED_SESSION_IS_NO_DEBUG = ( new RawContextKey(
213
+ 'focusedSessionIsNoDebug',
214
+ false,
215
+ { type: 'boolean', description: ( nls.localizeWithPath(
216
+ 'vs/workbench/contrib/debug/common/debug',
217
+ 'focusedSessionIsNoDebug',
218
+ "True when the focused session is run without debugging."
219
+ )) }
220
+ ));
212
221
  const CONTEXT_STEP_BACK_SUPPORTED = ( new RawContextKey('stepBackSupported', false, { type: 'boolean', description: ( nls.localizeWithPath(
213
222
  'vs/workbench/contrib/debug/common/debug',
214
223
  'stepBackSupported',
@@ -457,4 +466,4 @@ var DebuggerString;
457
466
  DebuggerString["UnverifiedBreakpoints"] = "unverifiedBreakpoints";
458
467
  })(DebuggerString || (DebuggerString = {})));
459
468
  const IDebugService = ( createDecorator('debugService'));
460
- export { BREAKPOINTS_VIEW_ID, BREAKPOINT_EDITOR_CONTRIBUTION_ID, CALLSTACK_VIEW_ID, CONTEXT_BREAKPOINTS_EXIST, CONTEXT_BREAKPOINTS_FOCUSED, CONTEXT_BREAKPOINT_INPUT_FOCUSED, CONTEXT_BREAKPOINT_ITEM_TYPE, CONTEXT_BREAKPOINT_SUPPORTS_CONDITION, CONTEXT_BREAKPOINT_WIDGET_VISIBLE, CONTEXT_BREAK_WHEN_VALUE_CHANGES_SUPPORTED, CONTEXT_BREAK_WHEN_VALUE_IS_ACCESSED_SUPPORTED, CONTEXT_BREAK_WHEN_VALUE_IS_READ_SUPPORTED, CONTEXT_CALLSTACK_ITEM_STOPPED, CONTEXT_CALLSTACK_ITEM_TYPE, CONTEXT_CALLSTACK_SESSION_HAS_ONE_THREAD, CONTEXT_CALLSTACK_SESSION_IS_ATTACH, CONTEXT_CAN_VIEW_MEMORY, CONTEXT_DEBUGGERS_AVAILABLE, CONTEXT_DEBUG_CONFIGURATION_TYPE, CONTEXT_DEBUG_EXTENSION_AVAILABLE, CONTEXT_DEBUG_PROTOCOL_VARIABLE_MENU_CONTEXT, CONTEXT_DEBUG_STATE, CONTEXT_DEBUG_TYPE, CONTEXT_DEBUG_UX, CONTEXT_DEBUG_UX_KEY, CONTEXT_DISASSEMBLE_REQUEST_SUPPORTED, CONTEXT_DISASSEMBLY_VIEW_FOCUS, CONTEXT_EXCEPTION_WIDGET_VISIBLE, CONTEXT_EXPRESSION_SELECTED, CONTEXT_FOCUSED_SESSION_IS_ATTACH, CONTEXT_FOCUSED_STACK_FRAME_HAS_INSTRUCTION_POINTER_REFERENCE, CONTEXT_HAS_DEBUGGED, CONTEXT_IN_BREAKPOINT_WIDGET, CONTEXT_IN_DEBUG_MODE, CONTEXT_IN_DEBUG_REPL, CONTEXT_JUMP_TO_CURSOR_SUPPORTED, CONTEXT_LANGUAGE_SUPPORTS_DISASSEMBLE_REQUEST, CONTEXT_LOADED_SCRIPTS_ITEM_TYPE, CONTEXT_LOADED_SCRIPTS_SUPPORTED, CONTEXT_MULTI_SESSION_DEBUG, CONTEXT_MULTI_SESSION_REPL, CONTEXT_RESTART_FRAME_SUPPORTED, CONTEXT_SET_EXPRESSION_SUPPORTED, CONTEXT_SET_VARIABLE_SUPPORTED, CONTEXT_STACK_FRAME_SUPPORTS_RESTART, CONTEXT_STEP_BACK_SUPPORTED, CONTEXT_STEP_INTO_TARGETS_SUPPORTED, CONTEXT_SUSPEND_DEBUGGEE_SUPPORTED, CONTEXT_TERMINATE_DEBUGGEE_SUPPORTED, CONTEXT_VARIABLES_FOCUSED, CONTEXT_VARIABLE_EVALUATE_NAME_PRESENT, CONTEXT_VARIABLE_IS_READONLY, CONTEXT_WATCH_EXPRESSIONS_EXIST, CONTEXT_WATCH_EXPRESSIONS_FOCUSED, CONTEXT_WATCH_ITEM_TYPE, DEBUG_MEMORY_SCHEME, DEBUG_PANEL_ID, DEBUG_SCHEME, DISASSEMBLY_VIEW_ID, DebugConfigurationProviderTriggerKind, DebuggerString, EDITOR_CONTRIBUTION_ID, IDebugService, INTERNAL_CONSOLE_OPTIONS_SCHEMA, LOADED_SCRIPTS_VIEW_ID, REPL_VIEW_ID, VARIABLES_VIEW_ID, VIEWLET_ID, WATCH_VIEW_ID, debuggerDisabledMessage, getStateLabel };
469
+ export { BREAKPOINTS_VIEW_ID, BREAKPOINT_EDITOR_CONTRIBUTION_ID, CALLSTACK_VIEW_ID, CONTEXT_BREAKPOINTS_EXIST, CONTEXT_BREAKPOINTS_FOCUSED, CONTEXT_BREAKPOINT_INPUT_FOCUSED, CONTEXT_BREAKPOINT_ITEM_TYPE, CONTEXT_BREAKPOINT_SUPPORTS_CONDITION, CONTEXT_BREAKPOINT_WIDGET_VISIBLE, CONTEXT_BREAK_WHEN_VALUE_CHANGES_SUPPORTED, CONTEXT_BREAK_WHEN_VALUE_IS_ACCESSED_SUPPORTED, CONTEXT_BREAK_WHEN_VALUE_IS_READ_SUPPORTED, CONTEXT_CALLSTACK_ITEM_STOPPED, CONTEXT_CALLSTACK_ITEM_TYPE, CONTEXT_CALLSTACK_SESSION_HAS_ONE_THREAD, CONTEXT_CALLSTACK_SESSION_IS_ATTACH, CONTEXT_CAN_VIEW_MEMORY, CONTEXT_DEBUGGERS_AVAILABLE, CONTEXT_DEBUG_CONFIGURATION_TYPE, CONTEXT_DEBUG_EXTENSION_AVAILABLE, CONTEXT_DEBUG_PROTOCOL_VARIABLE_MENU_CONTEXT, CONTEXT_DEBUG_STATE, CONTEXT_DEBUG_TYPE, CONTEXT_DEBUG_UX, CONTEXT_DEBUG_UX_KEY, CONTEXT_DISASSEMBLE_REQUEST_SUPPORTED, CONTEXT_DISASSEMBLY_VIEW_FOCUS, CONTEXT_EXCEPTION_WIDGET_VISIBLE, CONTEXT_EXPRESSION_SELECTED, CONTEXT_FOCUSED_SESSION_IS_ATTACH, CONTEXT_FOCUSED_SESSION_IS_NO_DEBUG, CONTEXT_FOCUSED_STACK_FRAME_HAS_INSTRUCTION_POINTER_REFERENCE, CONTEXT_HAS_DEBUGGED, CONTEXT_IN_BREAKPOINT_WIDGET, CONTEXT_IN_DEBUG_MODE, CONTEXT_IN_DEBUG_REPL, CONTEXT_JUMP_TO_CURSOR_SUPPORTED, CONTEXT_LANGUAGE_SUPPORTS_DISASSEMBLE_REQUEST, CONTEXT_LOADED_SCRIPTS_ITEM_TYPE, CONTEXT_LOADED_SCRIPTS_SUPPORTED, CONTEXT_MULTI_SESSION_DEBUG, CONTEXT_MULTI_SESSION_REPL, CONTEXT_RESTART_FRAME_SUPPORTED, CONTEXT_SET_EXPRESSION_SUPPORTED, CONTEXT_SET_VARIABLE_SUPPORTED, CONTEXT_STACK_FRAME_SUPPORTS_RESTART, CONTEXT_STEP_BACK_SUPPORTED, CONTEXT_STEP_INTO_TARGETS_SUPPORTED, CONTEXT_SUSPEND_DEBUGGEE_SUPPORTED, CONTEXT_TERMINATE_DEBUGGEE_SUPPORTED, CONTEXT_VARIABLES_FOCUSED, CONTEXT_VARIABLE_EVALUATE_NAME_PRESENT, CONTEXT_VARIABLE_IS_READONLY, CONTEXT_WATCH_EXPRESSIONS_EXIST, CONTEXT_WATCH_EXPRESSIONS_FOCUSED, CONTEXT_WATCH_ITEM_TYPE, DEBUG_MEMORY_SCHEME, DEBUG_PANEL_ID, DEBUG_SCHEME, DISASSEMBLY_VIEW_ID, DebugConfigurationProviderTriggerKind, DebuggerString, EDITOR_CONTRIBUTION_ID, IDebugService, INTERNAL_CONSOLE_OPTIONS_SCHEMA, LOADED_SCRIPTS_VIEW_ID, REPL_VIEW_ID, VARIABLES_VIEW_ID, VIEWLET_ID, WATCH_VIEW_ID, debuggerDisabledMessage, getStateLabel };
@@ -8,7 +8,7 @@ import { Event, Emitter } from 'monaco-editor/esm/vs/base/common/event.js';
8
8
  import * as json from 'monaco-editor/esm/vs/base/common/json.js';
9
9
  import { IContextMenuService } from 'monaco-editor/esm/vs/platform/contextview/browser/contextView.js';
10
10
  import { disposeIfDisposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
11
- import { INSTALL_ACTIONS_GROUP, THEME_ACTIONS_GROUP, VIEWLET_ID, IExtensionsWorkbenchService, TOGGLE_IGNORE_EXTENSION_ACTION_ID, SELECT_INSTALL_VSIX_EXTENSION_COMMAND_ID } from '../common/extensions.js';
11
+ import { AutoUpdateConfigurationKey, INSTALL_ACTIONS_GROUP, UPDATE_ACTIONS_GROUP, THEME_ACTIONS_GROUP, VIEWLET_ID, IExtensionsWorkbenchService, TOGGLE_IGNORE_EXTENSION_ACTION_ID, SELECT_INSTALL_VSIX_EXTENSION_COMMAND_ID } from '../common/extensions.js';
12
12
  import { ExtensionsConfigurationInitialContent } from '../common/extensionsFileTemplate.js';
13
13
  import { ExtensionManagementErrorCode, TargetPlatformToString, IExtensionGalleryService } from '../../../../platform/extensionManagement/common/extensionManagement.js';
14
14
  import { IExtensionManagementServerService, IWorkbenchExtensionEnablementService } from '../../../services/extensionManagement/common/extensionManagement.js';
@@ -65,7 +65,7 @@ import { isString } from 'monaco-editor/esm/vs/base/common/types.js';
65
65
  import { showWindowLogActionId } from '../../../services/log/common/logConstants.js';
66
66
  import { ITelemetryService } from 'monaco-editor/esm/vs/platform/telemetry/common/telemetry.js';
67
67
  import { IDialogService } from '../../../../platform/dialogs/common/dialogs.js';
68
- var InstallAction_1, InstallInOtherServerAction_1, UninstallAction_1, MigrateDeprecatedExtensionAction_1, ManageExtensionAction_1, SwitchToPreReleaseVersionAction_1, SwitchToReleasedVersionAction_1, InstallAnotherVersionAction_1, EnableForWorkspaceAction_1, EnableGloballyAction_1, DisableForWorkspaceAction_1, DisableGloballyAction_1, ReloadAction_1, SetColorThemeAction_1, SetFileIconThemeAction_1, SetProductIconThemeAction_1, SetLanguageAction_1, ClearLanguageAction_1, ShowRecommendedExtensionAction_1, InstallRecommendedExtensionAction_1, IgnoreExtensionRecommendationAction_1, UndoIgnoreExtensionRecommendationAction_1, ExtensionStatusLabelAction_1, ToggleSyncExtensionAction_1, ExtensionStatusAction_1, ReinstallAction_1, InstallSpecificVersionOfExtensionAction_1;
68
+ var InstallAction_1, InstallInOtherServerAction_1, UninstallAction_1, ToggleAutoUpdateForExtensionAction_1, ToggleAutoUpdatesForPublisherAction_1, MigrateDeprecatedExtensionAction_1, ManageExtensionAction_1, SwitchToPreReleaseVersionAction_1, SwitchToReleasedVersionAction_1, InstallAnotherVersionAction_1, EnableForWorkspaceAction_1, EnableGloballyAction_1, DisableForWorkspaceAction_1, DisableGloballyAction_1, ReloadAction_1, SetColorThemeAction_1, SetFileIconThemeAction_1, SetProductIconThemeAction_1, SetLanguageAction_1, ClearLanguageAction_1, ShowRecommendedExtensionAction_1, InstallRecommendedExtensionAction_1, IgnoreExtensionRecommendationAction_1, UndoIgnoreExtensionRecommendationAction_1, ExtensionStatusLabelAction_1, ToggleSyncExtensionAction_1, ExtensionStatusAction_1, ReinstallAction_1, InstallSpecificVersionOfExtensionAction_1;
69
69
  let PromptExtensionInstallFailureAction = class PromptExtensionInstallFailureAction extends Action {
70
70
  constructor(extension, version, installOperation, error, productService, openerService, notificationService, dialogService, commandService, logService, extensionManagementServerService, instantiationService, galleryService, extensionManifestPropertiesService) {
71
71
  super('extension.promptExtensionInstallFailure');
@@ -909,42 +909,121 @@ UpdateAction = ( __decorate([
909
909
  ( __param(1, IExtensionsWorkbenchService)),
910
910
  ( __param(2, IInstantiationService))
911
911
  ], UpdateAction));
912
- let SkipUpdateAction = class SkipUpdateAction extends AbstractUpdateAction {
913
- constructor(extensionsWorkbenchService) {
914
- super(`extensions.ignoreUpdates`, ( localizeWithPath(
915
- 'vs/workbench/contrib/extensions/browser/extensionsActions',
916
- 'ignoreUpdates',
917
- "Ignore Updates"
918
- )), extensionsWorkbenchService);
912
+ let ToggleAutoUpdateForExtensionAction = class ToggleAutoUpdateForExtensionAction extends ExtensionAction {
913
+ static { ToggleAutoUpdateForExtensionAction_1 = this; }
914
+ static { this.ID = 'workbench.extensions.action.toggleAutoUpdateForExtension'; }
915
+ static { this.LABEL = ( localizeWithPath(
916
+ 'vs/workbench/contrib/extensions/browser/extensionsActions',
917
+ 'enableAutoUpdateLabel',
918
+ "Auto Update"
919
+ )); }
920
+ static { this.EnabledClass = `${ExtensionAction.EXTENSION_ACTION_CLASS} auto-update`; }
921
+ static { this.DisabledClass = `${ToggleAutoUpdateForExtensionAction_1.EnabledClass} hide`; }
922
+ constructor(enableWhenOutdated, enableWhenAutoUpdateValue, extensionsWorkbenchService, configurationService) {
923
+ super(ToggleAutoUpdateForExtensionAction_1.ID, ToggleAutoUpdateForExtensionAction_1.LABEL, ToggleAutoUpdateForExtensionAction_1.DisabledClass);
924
+ this.enableWhenOutdated = enableWhenOutdated;
925
+ this.enableWhenAutoUpdateValue = enableWhenAutoUpdateValue;
926
+ this.extensionsWorkbenchService = extensionsWorkbenchService;
927
+ this._register(configurationService.onDidChangeConfiguration(e => {
928
+ if (e.affectsConfiguration(AutoUpdateConfigurationKey)) {
929
+ this.update();
930
+ }
931
+ }));
932
+ this.update();
919
933
  }
920
934
  update() {
935
+ this.enabled = false;
936
+ this.class = ToggleAutoUpdateForExtensionAction_1.DisabledClass;
921
937
  if (!this.extension) {
922
938
  return;
923
939
  }
924
940
  if (this.extension.isBuiltin) {
925
- this.enabled = false;
926
941
  return;
927
942
  }
928
- super.update();
929
- this._checked = this.extension.pinned;
943
+ if (this.enableWhenOutdated && !this.extension.outdated) {
944
+ return;
945
+ }
946
+ if (!this.enableWhenAutoUpdateValue.includes(this.extensionsWorkbenchService.getAutoUpdateValue())) {
947
+ return;
948
+ }
949
+ this.enabled = true;
950
+ this.class = ToggleAutoUpdateForExtensionAction_1.EnabledClass;
951
+ this.checked = this.extensionsWorkbenchService.isAutoUpdateEnabledFor(this.extension);
930
952
  }
953
+ async run() {
954
+ if (!this.extension) {
955
+ return;
956
+ }
957
+ const enableAutoUpdate = !this.extensionsWorkbenchService.isAutoUpdateEnabledFor(this.extension);
958
+ await this.extensionsWorkbenchService.updateAutoUpdateEnablementFor(this.extension, enableAutoUpdate);
959
+ if (enableAutoUpdate) {
960
+ alert(( localizeWithPath(
961
+ 'vs/workbench/contrib/extensions/browser/extensionsActions',
962
+ 'enableAutoUpdate',
963
+ "Enabled auto updates for",
964
+ this.extension.displayName
965
+ )));
966
+ }
967
+ else {
968
+ alert(( localizeWithPath(
969
+ 'vs/workbench/contrib/extensions/browser/extensionsActions',
970
+ 'disableAutoUpdate',
971
+ "Disabled auto updates for",
972
+ this.extension.displayName
973
+ )));
974
+ }
975
+ }
976
+ };
977
+ ToggleAutoUpdateForExtensionAction = ToggleAutoUpdateForExtensionAction_1 = ( __decorate([
978
+ ( __param(2, IExtensionsWorkbenchService)),
979
+ ( __param(3, IConfigurationService))
980
+ ], ToggleAutoUpdateForExtensionAction));
981
+ let ToggleAutoUpdatesForPublisherAction = class ToggleAutoUpdatesForPublisherAction extends ExtensionAction {
982
+ static { ToggleAutoUpdatesForPublisherAction_1 = this; }
983
+ static { this.ID = 'workbench.extensions.action.toggleAutoUpdatesForPublisher'; }
984
+ static { this.LABEL = ( localizeWithPath(
985
+ 'vs/workbench/contrib/extensions/browser/extensionsActions',
986
+ 'toggleAutoUpdatesForPublisherLabel',
987
+ "Auto Update All (From Publisher)"
988
+ )); }
989
+ constructor(extensionsWorkbenchService) {
990
+ super(ToggleAutoUpdatesForPublisherAction_1.ID, ToggleAutoUpdatesForPublisherAction_1.LABEL);
991
+ this.extensionsWorkbenchService = extensionsWorkbenchService;
992
+ }
993
+ update() { }
931
994
  async run() {
932
995
  if (!this.extension) {
933
996
  return;
934
997
  }
935
998
  alert(( localizeWithPath(
936
999
  'vs/workbench/contrib/extensions/browser/extensionsActions',
937
- 'ignoreExtensionUpdate',
938
- "Ignoring {0} updates",
939
- this.extension.displayName
1000
+ 'ignoreExtensionUpdatePublisher',
1001
+ "Ignoring updates published by {0}.",
1002
+ this.extension.publisherDisplayName
940
1003
  )));
941
- const newIgnoresAutoUpdates = !this.extension.pinned;
942
- await this.extensionsWorkbenchService.pinExtension(this.extension, newIgnoresAutoUpdates);
1004
+ const enableAutoUpdate = !this.extensionsWorkbenchService.isAutoUpdateEnabledFor(this.extension.publisher);
1005
+ await this.extensionsWorkbenchService.updateAutoUpdateEnablementFor(this.extension.publisher, enableAutoUpdate);
1006
+ if (enableAutoUpdate) {
1007
+ alert(( localizeWithPath(
1008
+ 'vs/workbench/contrib/extensions/browser/extensionsActions',
1009
+ 'enableAutoUpdate',
1010
+ "Enabled auto updates for",
1011
+ this.extension.displayName
1012
+ )));
1013
+ }
1014
+ else {
1015
+ alert(( localizeWithPath(
1016
+ 'vs/workbench/contrib/extensions/browser/extensionsActions',
1017
+ 'disableAutoUpdate',
1018
+ "Disabled auto updates for",
1019
+ this.extension.displayName
1020
+ )));
1021
+ }
943
1022
  }
944
1023
  };
945
- SkipUpdateAction = ( __decorate([
1024
+ ToggleAutoUpdatesForPublisherAction = ToggleAutoUpdatesForPublisherAction_1 = ( __decorate([
946
1025
  ( __param(0, IExtensionsWorkbenchService))
947
- ], SkipUpdateAction));
1026
+ ], ToggleAutoUpdatesForPublisherAction));
948
1027
  let MigrateDeprecatedExtensionAction = class MigrateDeprecatedExtensionAction extends ExtensionAction {
949
1028
  static { MigrateDeprecatedExtensionAction_1 = this; }
950
1029
  static { this.EnabledClass = `${ExtensionAction.LABEL_ACTION_CLASS} migrate`; }
@@ -1142,11 +1221,14 @@ let ManageExtensionAction = class ManageExtensionAction extends ExtensionDropDow
1142
1221
  async getActionGroups() {
1143
1222
  const groups = [];
1144
1223
  const contextMenuActionsGroups = await getContextMenuActionsGroups(this.extension, this.contextKeyService, this.instantiationService);
1145
- const themeActions = [], installActions = [], otherActionGroups = [];
1224
+ const themeActions = [], installActions = [], updateActions = [], otherActionGroups = [];
1146
1225
  for (const [group, actions] of contextMenuActionsGroups) {
1147
1226
  if (group === INSTALL_ACTIONS_GROUP) {
1148
1227
  installActions.push(...toActions([[group, actions]], this.instantiationService)[0]);
1149
1228
  }
1229
+ else if (group === UPDATE_ACTIONS_GROUP) {
1230
+ updateActions.push(...toActions([[group, actions]], this.instantiationService)[0]);
1231
+ }
1150
1232
  else if (group === THEME_ACTIONS_GROUP) {
1151
1233
  themeActions.push(...toActions([[group, actions]], this.instantiationService)[0]);
1152
1234
  }
@@ -1165,6 +1247,9 @@ let ManageExtensionAction = class ManageExtensionAction extends ExtensionDropDow
1165
1247
  this.instantiationService.createInstance(DisableGloballyAction),
1166
1248
  this.instantiationService.createInstance(DisableForWorkspaceAction)
1167
1249
  ]);
1250
+ if (updateActions.length) {
1251
+ groups.push(updateActions);
1252
+ }
1168
1253
  groups.push([
1169
1254
  ...(installActions.length ? installActions : []),
1170
1255
  this.instantiationService.createInstance(InstallAnotherVersionAction),
@@ -1232,6 +1317,12 @@ let MenuItemExtensionAction = class MenuItemExtensionAction extends ExtensionAct
1232
1317
  if (this.action.id === TOGGLE_IGNORE_EXTENSION_ACTION_ID) {
1233
1318
  this.checked = !this.extensionsWorkbenchService.isExtensionIgnoredToSync(this.extension);
1234
1319
  }
1320
+ else if (this.action.id === ToggleAutoUpdateForExtensionAction.ID) {
1321
+ this.checked = this.extensionsWorkbenchService.isAutoUpdateEnabledFor(this.extension);
1322
+ }
1323
+ else if (this.action.id === ToggleAutoUpdatesForPublisherAction.ID) {
1324
+ this.checked = this.extensionsWorkbenchService.isAutoUpdateEnabledFor(this.extension.publisher);
1325
+ }
1235
1326
  else {
1236
1327
  this.checked = this.action.checked;
1237
1328
  }
@@ -1375,7 +1466,8 @@ let InstallAnotherVersionAction = class InstallAnotherVersionAction extends Exte
1375
1466
  }
1376
1467
  try {
1377
1468
  if (pick.latest) {
1378
- await this.extensionsWorkbenchService.install(this.extension, { installPreReleaseVersion: pick.isPreReleaseVersion });
1469
+ const [extension] = pick.id !== this.extension?.version ? await this.extensionsWorkbenchService.getExtensions([{ id: this.extension.identifier.id, preRelease: pick.isPreReleaseVersion }], CancellationToken.None) : [this.extension];
1470
+ await this.extensionsWorkbenchService.install(extension ?? this.extension, { installPreReleaseVersion: pick.isPreReleaseVersion });
1379
1471
  }
1380
1472
  else {
1381
1473
  await this.extensionsWorkbenchService.installVersion(this.extension, pick.id, { installPreReleaseVersion: pick.isPreReleaseVersion });
@@ -3288,4 +3380,4 @@ registerThemingParticipant((theme, collector) => {
3288
3380
  collector.addRule(`.monaco-hover.extension-hover .markdown-hover .hover-contents ${ThemeIcon.asCSSSelector(infoIcon)} { color: ${infoColor}; }`);
3289
3381
  }
3290
3382
  });
3291
- export { AbstractConfigureRecommendedExtensionsAction, AbstractInstallExtensionsInServerAction, ActionWithDropDownAction, ClearLanguageAction, ConfigureWorkspaceFolderRecommendedExtensionsAction, ConfigureWorkspaceRecommendedExtensionsAction, DisableDropDownAction, DisableForWorkspaceAction, DisableGloballyAction, DropDownMenuActionViewItem, EnableDropDownAction, EnableForWorkspaceAction, EnableGloballyAction, ExtensionAction, ExtensionActionWithDropdownActionViewItem, ExtensionDropDownAction, ExtensionEditorManageExtensionAction, ExtensionStatusAction, ExtensionStatusLabelAction, IgnoreExtensionRecommendationAction, InstallAction, InstallAnotherVersionAction, InstallDropdownAction, InstallInOtherServerAction, InstallLocalExtensionsInRemoteAction, InstallRecommendedExtensionAction, InstallRemoteExtensionsInLocalAction, InstallSpecificVersionOfExtensionAction, InstallingLabelAction, LocalInstallAction, ManageExtensionAction, MenuItemExtensionAction, MigrateDeprecatedExtensionAction, PromptExtensionInstallFailureAction, ReinstallAction, ReloadAction, RemoteInstallAction, SearchExtensionsAction, SetColorThemeAction, SetFileIconThemeAction, SetLanguageAction, SetProductIconThemeAction, ShowRecommendedExtensionAction, SkipUpdateAction, SwitchToPreReleaseVersionAction, SwitchToReleasedVersionAction, ToggleSyncExtensionAction, UndoIgnoreExtensionRecommendationAction, UninstallAction, UpdateAction, WebInstallAction, extensionButtonProminentBackground, getContextMenuActions };
3383
+ export { AbstractConfigureRecommendedExtensionsAction, AbstractInstallExtensionsInServerAction, ActionWithDropDownAction, ClearLanguageAction, ConfigureWorkspaceFolderRecommendedExtensionsAction, ConfigureWorkspaceRecommendedExtensionsAction, DisableDropDownAction, DisableForWorkspaceAction, DisableGloballyAction, DropDownMenuActionViewItem, EnableDropDownAction, EnableForWorkspaceAction, EnableGloballyAction, ExtensionAction, ExtensionActionWithDropdownActionViewItem, ExtensionDropDownAction, ExtensionEditorManageExtensionAction, ExtensionStatusAction, ExtensionStatusLabelAction, IgnoreExtensionRecommendationAction, InstallAction, InstallAnotherVersionAction, InstallDropdownAction, InstallInOtherServerAction, InstallLocalExtensionsInRemoteAction, InstallRecommendedExtensionAction, InstallRemoteExtensionsInLocalAction, InstallSpecificVersionOfExtensionAction, InstallingLabelAction, LocalInstallAction, ManageExtensionAction, MenuItemExtensionAction, MigrateDeprecatedExtensionAction, PromptExtensionInstallFailureAction, ReinstallAction, ReloadAction, RemoteInstallAction, SearchExtensionsAction, SetColorThemeAction, SetFileIconThemeAction, SetLanguageAction, SetProductIconThemeAction, ShowRecommendedExtensionAction, SwitchToPreReleaseVersionAction, SwitchToReleasedVersionAction, ToggleAutoUpdateForExtensionAction, ToggleAutoUpdatesForPublisherAction, ToggleSyncExtensionAction, UndoIgnoreExtensionRecommendationAction, UninstallAction, UpdateAction, WebInstallAction, extensionButtonProminentBackground, getContextMenuActions };
@@ -1,4 +1,4 @@
1
1
  import n from '../../../../../../../../external/rollup-plugin-styles/dist/runtime/inject-css.js';
2
- var css = ".monaco-action-bar .action-item .action-label.extension-action{line-height:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-action-bar .action-dropdown-item>.action-label.extension-action.label,.monaco-action-bar .action-item>.action-label.extension-action.label{padding:0 5px}.monaco-action-bar .action-dropdown-item>.monaco-dropdown .action-label{padding:0}.monaco-action-bar .action-item .action-label.extension-action.label{outline-offset:1px}.monaco-action-bar .action-dropdown-item .action-label.extension-action.label,.monaco-action-bar .action-item .action-label.extension-action.label,.monaco-action-bar .action-item .action-label.extension-action.text{height:auto;line-height:14px;width:auto}.monaco-action-bar .action-item .action-label.extension-action.built-in-status{border-color:var(--vscode-foreground)}.monaco-action-bar .action-item .action-label.extension-action.label,.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator{background-color:var(--vscode-extensionButton-background)!important}.monaco-action-bar .action-item .action-label.extension-action.label{color:var(--vscode-extensionButton-foreground)!important}.monaco-action-bar .action-item .action-label.extension-action.label:hover{background-color:var(--vscode-extensionButton-hoverBackground)!important}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator>div{background-color:var(--vscode-extensionButton-separator)}.monaco-action-bar .action-item .action-label.extension-action.label.prominent,.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator.prominent{background-color:var(--vscode-extensionButton-prominentBackground)}.monaco-action-bar .action-item .action-label.extension-action.label.prominent{color:var(--vscode-extensionButton-prominentForeground)!important}.monaco-action-bar .action-item .action-label.extension-action.label.prominent:hover{background-color:var(--vscode-extensionButton-prominentHoverBackground)}.monaco-action-bar .action-item .action-label.extension-action:not(.disabled){border:1px solid var(--vscode-contrastBorder)}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator{border-bottom:1px solid var(--vscode-contrastBorder);border-top:1px solid var(--vscode-contrastBorder)}.monaco-action-bar .action-item .action-label.extension-action.extension-status-error{color:var(--vscode-editorError-foreground)}.monaco-action-bar .action-item .action-label.extension-action.extension-status-warning{color:var(--vscode-editorWarning-foreground)}.monaco-action-bar .action-item .action-label.extension-action.extension-status-info{color:var(--vscode-editorInfo-foreground)}.monaco-action-bar .action-dropdown-item .action-label.extension-action.label,.monaco-action-bar .action-item .action-label.extension-action.icon,.monaco-action-bar .action-item:not(.disabled) .action-label.extension-action.label,.monaco-action-bar .action-item:not(.disabled) .action-label.extension-action.text{margin-top:2px}.monaco-action-bar .action-item .action-label.extension-action.manage.hide,.monaco-action-bar .action-item.action-dropdown-item .action-label.extension-action.hide,.monaco-action-bar .action-item.action-dropdown-item.disabled,.monaco-action-bar .action-item.disabled .action-label.disable-status.hide,.monaco-action-bar .action-item.disabled .action-label.extension-action.extension-sync,.monaco-action-bar .action-item.disabled .action-label.extension-action.hide,.monaco-action-bar .action-item.disabled .action-label.extension-action.hide-when-disabled,.monaco-action-bar .action-item.disabled .action-label.extension-action.ignore,.monaco-action-bar .action-item.disabled .action-label.extension-action.install:not(.installing),.monaco-action-bar .action-item.disabled .action-label.extension-action.language,.monaco-action-bar .action-item.disabled .action-label.extension-action.migrate,.monaco-action-bar .action-item.disabled .action-label.extension-action.reload,.monaco-action-bar .action-item.disabled .action-label.extension-action.theme,.monaco-action-bar .action-item.disabled .action-label.extension-action.undo-ignore,.monaco-action-bar .action-item.disabled .action-label.extension-action.uninstall:not(.uninstalling),.monaco-action-bar .action-item.disabled .action-label.extension-action.update,.monaco-action-bar .action-item.disabled .action-label.extension-status-label.hide,.monaco-action-bar .action-item.disabled .action-label.extension-status.hide{display:none}.monaco-action-bar .extension-action.label{display:inherit}.monaco-action-bar .action-item.disabled .action-label.extension-status:before{opacity:1}.monaco-action-bar .action-item.disabled .action-label.extension-status-label:before{content:\"\\2713\";padding-right:4px}.monaco-action-bar .action-item.disabled .action-label.extension-action{opacity:1}.monaco-action-bar .action-item.disabled .action-label.extension-action.text{font-style:italic;opacity:.9}";
2
+ var css = ".monaco-action-bar .action-item .action-label.extension-action{line-height:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-action-bar .action-dropdown-item>.action-label.extension-action.label,.monaco-action-bar .action-item>.action-label.extension-action.label{padding:0 5px}.monaco-action-bar .action-dropdown-item>.monaco-dropdown .action-label{padding:0}.monaco-action-bar .action-item .action-label.extension-action.label{outline-offset:1px}.monaco-action-bar .action-dropdown-item .action-label.extension-action.label,.monaco-action-bar .action-item .action-label.extension-action.label,.monaco-action-bar .action-item .action-label.extension-action.text{height:auto;line-height:14px;width:auto}.monaco-action-bar .action-item .action-label.extension-action.built-in-status{border-color:var(--vscode-foreground)}.monaco-action-bar .action-item .action-label.extension-action.label,.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator{background-color:var(--vscode-extensionButton-background)!important}.monaco-action-bar .action-item .action-label.extension-action.label{color:var(--vscode-extensionButton-foreground)!important}.monaco-action-bar .action-item .action-label.extension-action.label:hover{background-color:var(--vscode-extensionButton-hoverBackground)!important}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator>div{background-color:var(--vscode-extensionButton-separator)}.monaco-action-bar .action-item .action-label.extension-action.label.prominent,.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator.prominent{background-color:var(--vscode-extensionButton-prominentBackground)}.monaco-action-bar .action-item .action-label.extension-action.label.prominent{color:var(--vscode-extensionButton-prominentForeground)!important}.monaco-action-bar .action-item .action-label.extension-action.label.prominent:hover{background-color:var(--vscode-extensionButton-prominentHoverBackground)}.monaco-action-bar .action-item .action-label.extension-action:not(.disabled){border:1px solid var(--vscode-contrastBorder)}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator{border-bottom:1px solid var(--vscode-contrastBorder);border-top:1px solid var(--vscode-contrastBorder)}.monaco-action-bar .action-item .action-label.extension-action.extension-status-error{color:var(--vscode-editorError-foreground)}.monaco-action-bar .action-item .action-label.extension-action.extension-status-warning{color:var(--vscode-editorWarning-foreground)}.monaco-action-bar .action-item .action-label.extension-action.extension-status-info{color:var(--vscode-editorInfo-foreground)}.monaco-action-bar .action-dropdown-item .action-label.extension-action.label,.monaco-action-bar .action-item .action-label.extension-action.icon,.monaco-action-bar .action-item:not(.disabled) .action-label.extension-action.label,.monaco-action-bar .action-item:not(.disabled) .action-label.extension-action.text{margin-top:2px}.monaco-action-bar .action-item .action-label.extension-action.manage.hide,.monaco-action-bar .action-item.action-dropdown-item .action-label.extension-action.hide,.monaco-action-bar .action-item.action-dropdown-item.disabled,.monaco-action-bar .action-item.checkbox-action-item.disabled,.monaco-action-bar .action-item.disabled .action-label.disable-status.hide,.monaco-action-bar .action-item.disabled .action-label.extension-action.extension-sync,.monaco-action-bar .action-item.disabled .action-label.extension-action.hide,.monaco-action-bar .action-item.disabled .action-label.extension-action.hide-when-disabled,.monaco-action-bar .action-item.disabled .action-label.extension-action.ignore,.monaco-action-bar .action-item.disabled .action-label.extension-action.install:not(.installing),.monaco-action-bar .action-item.disabled .action-label.extension-action.language,.monaco-action-bar .action-item.disabled .action-label.extension-action.migrate,.monaco-action-bar .action-item.disabled .action-label.extension-action.reload,.monaco-action-bar .action-item.disabled .action-label.extension-action.theme,.monaco-action-bar .action-item.disabled .action-label.extension-action.undo-ignore,.monaco-action-bar .action-item.disabled .action-label.extension-action.uninstall:not(.uninstalling),.monaco-action-bar .action-item.disabled .action-label.extension-action.update,.monaco-action-bar .action-item.disabled .action-label.extension-status-label.hide,.monaco-action-bar .action-item.disabled .action-label.extension-status.hide{display:none}.monaco-action-bar .extension-action.label{display:inherit}.monaco-action-bar .action-item.disabled .action-label.extension-status:before{opacity:1}.monaco-action-bar .action-item.disabled .action-label.extension-status-label:before{content:\"\\2713\";padding-right:4px}.monaco-action-bar .action-item.disabled .action-label.extension-action{opacity:1}.monaco-action-bar .action-item.disabled .action-label.extension-action.text{font-style:italic;opacity:.9}";
3
3
  n(css,{});
4
4
  export { css, css as default };
@@ -3,6 +3,7 @@ import { createDecorator } from 'monaco-editor/esm/vs/platform/instantiation/com
3
3
  import { Disposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
4
4
  import { areSameExtensions } from '../../../../platform/extensionManagement/common/extensionManagementUtil.js';
5
5
  import { RawContextKey } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkey.js';
6
+ import { MenuId } from 'monaco-editor/esm/vs/platform/actions/common/actions.js';
6
7
  const VIEWLET_ID = 'workbench.view.extensions';
7
8
  const IExtensionsWorkbenchService = ( createDecorator('extensionsWorkbenchService'));
8
9
  const AutoUpdateConfigurationKey = 'extensions.autoUpdate';
@@ -50,4 +51,6 @@ const HasOutdatedExtensionsContext = ( new RawContextKey('hasOutdatedExtensions'
50
51
  const CONTEXT_HAS_GALLERY = ( new RawContextKey('hasGallery', false));
51
52
  const THEME_ACTIONS_GROUP = '_theme_';
52
53
  const INSTALL_ACTIONS_GROUP = '0_install';
53
- export { AutoCheckUpdatesConfigurationKey, AutoUpdateConfigurationKey, CONTEXT_HAS_GALLERY, CloseExtensionDetailsOnViewChangeKey, ExtensionContainers, HasOutdatedExtensionsContext, IExtensionsWorkbenchService, INSTALL_ACTIONS_GROUP, INSTALL_EXTENSION_FROM_VSIX_COMMAND_ID, LIST_WORKSPACE_UNSUPPORTED_EXTENSIONS_COMMAND_ID, OUTDATED_EXTENSIONS_VIEW_ID, SELECT_INSTALL_VSIX_EXTENSION_COMMAND_ID, THEME_ACTIONS_GROUP, TOGGLE_IGNORE_EXTENSION_ACTION_ID, VIEWLET_ID, WORKSPACE_RECOMMENDATIONS_VIEW_ID };
54
+ const UPDATE_ACTIONS_GROUP = '0_update';
55
+ const extensionsSearchActionsMenu = ( new MenuId('extensionsSearchActionsMenu'));
56
+ export { AutoCheckUpdatesConfigurationKey, AutoUpdateConfigurationKey, CONTEXT_HAS_GALLERY, CloseExtensionDetailsOnViewChangeKey, ExtensionContainers, HasOutdatedExtensionsContext, IExtensionsWorkbenchService, INSTALL_ACTIONS_GROUP, INSTALL_EXTENSION_FROM_VSIX_COMMAND_ID, LIST_WORKSPACE_UNSUPPORTED_EXTENSIONS_COMMAND_ID, OUTDATED_EXTENSIONS_VIEW_ID, SELECT_INSTALL_VSIX_EXTENSION_COMMAND_ID, THEME_ACTIONS_GROUP, TOGGLE_IGNORE_EXTENSION_ACTION_ID, UPDATE_ACTIONS_GROUP, VIEWLET_ID, WORKSPACE_RECOMMENDATIONS_VIEW_ID, extensionsSearchActionsMenu };
@@ -0,0 +1,19 @@
1
+ import { Registry } from 'monaco-editor/esm/vs/platform/registry/common/platform.js';
2
+ class ExplorerFileContributionRegistry {
3
+ constructor() {
4
+ this.descriptors = [];
5
+ }
6
+ register(descriptor) {
7
+ this.descriptors.push(descriptor);
8
+ }
9
+ create(insta, container, store) {
10
+ return ( this.descriptors.map(d => {
11
+ const i = d.create(insta, container);
12
+ store.add(i);
13
+ return i;
14
+ }));
15
+ }
16
+ }
17
+ const explorerFileContribRegistry = ( new ExplorerFileContributionRegistry());
18
+ Registry.add("workbench.registry.explorer.fileContributions" , explorerFileContribRegistry);
19
+ export { explorerFileContribRegistry };
@@ -1,6 +1,6 @@
1
1
  import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
2
2
  import './media/explorerviewlet.css.js';
3
- import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
3
+ import { localizeWithPath, localize2WithPath } from 'monaco-editor/esm/vs/nls.js';
4
4
  import { mark } from 'monaco-editor/esm/vs/base/common/performance.js';
5
5
  import { VIEWLET_ID, VIEW_ID, ExplorerViewletVisibleContext } from '../common/files.js';
6
6
  import { IConfigurationService } from 'monaco-editor/esm/vs/platform/configuration/common/configuration.js';
@@ -29,6 +29,7 @@ import { OpenFileFolderAction, OpenFolderAction } from '../../../browser/actions
29
29
  import { isMacintosh, isWeb } from 'monaco-editor/esm/vs/base/common/platform.js';
30
30
  import { Codicon } from 'monaco-editor/esm/vs/base/common/codicons.js';
31
31
  import { registerIcon } from 'monaco-editor/esm/vs/platform/theme/common/iconRegistry.js';
32
+ import { isMouseEvent, focusWindow } from 'monaco-editor/esm/vs/base/browser/dom.js';
32
33
  const explorerViewIcon = registerIcon('explorer-view-icon', Codicon.files, ( localizeWithPath(
33
34
  'vs/workbench/contrib/files/browser/explorerViewlet',
34
35
  'explorerViewIcon',
@@ -119,7 +120,7 @@ let ExplorerViewletViewsContribution = class ExplorerViewletViewsContribution ex
119
120
  createExplorerViewDescriptor() {
120
121
  return {
121
122
  id: VIEW_ID,
122
- name: ( localizeWithPath('vs/workbench/contrib/files/browser/explorerViewlet', 'folders', "Folders")),
123
+ name: ( localize2WithPath('vs/workbench/contrib/files/browser/explorerViewlet', 'folders', "Folders")),
123
124
  containerIcon: explorerViewIcon,
124
125
  ctorDescriptor: ( new SyncDescriptor(ExplorerView)),
125
126
  order: 1,
@@ -150,7 +151,7 @@ let ExplorerViewPaneContainer = class ExplorerViewPaneContainer extends ViewPane
150
151
  return this.instantiationService.createInstance(ExplorerView, {
151
152
  ...options, delegate: {
152
153
  willOpenElement: e => {
153
- if (!(e instanceof MouseEvent)) {
154
+ if (!isMouseEvent(e)) {
154
155
  return;
155
156
  }
156
157
  const openEditorsView = this.getOpenEditorsView();
@@ -164,7 +165,7 @@ let ExplorerViewPaneContainer = class ExplorerViewPaneContainer extends ViewPane
164
165
  }
165
166
  },
166
167
  didOpenElement: e => {
167
- if (!(e instanceof MouseEvent)) {
168
+ if (!isMouseEvent(e)) {
168
169
  return;
169
170
  }
170
171
  const openEditorsView = this.getOpenEditorsView();
@@ -191,6 +192,7 @@ let ExplorerViewPaneContainer = class ExplorerViewPaneContainer extends ViewPane
191
192
  explorerView.setExpanded(true);
192
193
  }
193
194
  if (explorerView?.isExpanded()) {
195
+ focusWindow(explorerView.element);
194
196
  explorerView.focus();
195
197
  }
196
198
  else {
@@ -214,11 +216,11 @@ ExplorerViewPaneContainer = ( __decorate([
214
216
  const viewContainerRegistry = ( Registry.as(Extensions.ViewContainersRegistry));
215
217
  const VIEW_CONTAINER = viewContainerRegistry.registerViewContainer({
216
218
  id: VIEWLET_ID,
217
- title: { value: ( localizeWithPath(
219
+ title: ( localize2WithPath(
218
220
  'vs/workbench/contrib/files/browser/explorerViewlet',
219
221
  'explore',
220
222
  "Explorer"
221
- )), original: 'Explorer' },
223
+ )),
222
224
  ctorDescriptor: ( new SyncDescriptor(ExplorerViewPaneContainer)),
223
225
  storageId: 'workbench.explorer.views.state',
224
226
  icon: explorerViewIcon,
@@ -227,11 +229,11 @@ const VIEW_CONTAINER = viewContainerRegistry.registerViewContainer({
227
229
  order: 0,
228
230
  openCommandActionDescriptor: {
229
231
  id: VIEWLET_ID,
230
- title: { value: ( localizeWithPath(
232
+ title: ( localize2WithPath(
231
233
  'vs/workbench/contrib/files/browser/explorerViewlet',
232
234
  'explore',
233
235
  "Explorer"
234
- )), original: 'Explorer' },
236
+ )),
235
237
  mnemonicTitle: ( localizeWithPath(
236
238
  'vs/workbench/contrib/files/browser/explorerViewlet',
237
239
  { key: 'miViewExplorer', comment: ['&& denotes a mnemonic'] },
@@ -1,7 +1,7 @@
1
1
  import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
2
2
  import * as nls from 'monaco-editor/esm/vs/nls.js';
3
3
  import { OS, isWindows } from 'monaco-editor/esm/vs/base/common/platform.js';
4
- import { extname, basename } from 'monaco-editor/esm/vs/base/common/path.js';
4
+ import { extname, basename, isAbsolute } from 'monaco-editor/esm/vs/base/common/path.js';
5
5
  import * as resources from 'monaco-editor/esm/vs/base/common/resources.js';
6
6
  import { URI } from 'monaco-editor/esm/vs/base/common/uri.js';
7
7
  import { toErrorMessage } from 'monaco-editor/esm/vs/base/common/errorMessage.js';
@@ -594,17 +594,21 @@ class GlobalCompareResourcesAction extends Action2 {
594
594
  }
595
595
  class ToggleAutoSaveAction extends Action2 {
596
596
  static { this.ID = 'workbench.action.toggleAutoSave'; }
597
- static { this.LABEL = ( nls.localizeWithPath(
598
- 'vs/workbench/contrib/files/browser/fileActions',
599
- 'toggleAutoSave',
600
- "Toggle Auto Save"
601
- )); }
602
597
  constructor() {
603
598
  super({
604
599
  id: ToggleAutoSaveAction.ID,
605
- title: { value: ToggleAutoSaveAction.LABEL, original: 'Toggle Auto Save' },
600
+ title: ( nls.localize2WithPath(
601
+ 'vs/workbench/contrib/files/browser/fileActions',
602
+ 'toggleAutoSave',
603
+ "Toggle Auto Save"
604
+ )),
606
605
  f1: true,
607
- category: Categories.File
606
+ category: Categories.File,
607
+ metadata: { description: ( nls.localize2WithPath(
608
+ 'vs/workbench/contrib/files/browser/fileActions',
609
+ 'toggleAutoSaveDescription',
610
+ "Toggle the ability to save files automatically after typing"
611
+ )) }
608
612
  });
609
613
  }
610
614
  run(accessor) {
@@ -1148,7 +1152,7 @@ CommandsRegistry.registerCommand({
1148
1152
  id: UPLOAD_COMMAND_ID,
1149
1153
  handler: uploadFileHandler
1150
1154
  });
1151
- const pasteFileHandler = async (accessor) => {
1155
+ const pasteFileHandler = async (accessor, fileList) => {
1152
1156
  const clipboardService = accessor.get(IClipboardService);
1153
1157
  const explorerService = accessor.get(IExplorerService);
1154
1158
  const fileService = accessor.get(IFileService);
@@ -1158,7 +1162,47 @@ const pasteFileHandler = async (accessor) => {
1158
1162
  const uriIdentityService = accessor.get(IUriIdentityService);
1159
1163
  const dialogService = accessor.get(IDialogService);
1160
1164
  const context = explorerService.getContext(true);
1161
- const toPaste = resources.distinctParents(await clipboardService.readResources(), r => r);
1165
+ const hasNativeFilesToPaste = fileList && fileList.length > 0;
1166
+ const confirmPasteNative = hasNativeFilesToPaste && configurationService.getValue('explorer.confirmPasteNative');
1167
+ const toPaste = await getFilesToPaste(fileList, clipboardService);
1168
+ if (confirmPasteNative) {
1169
+ const message = toPaste.length > 1 ?
1170
+ ( nls.localizeWithPath(
1171
+ 'vs/workbench/contrib/files/browser/fileActions',
1172
+ 'confirmMultiPasteNative',
1173
+ "Are you sure you want to paste the following {0} items?",
1174
+ toPaste.length
1175
+ )) :
1176
+ ( nls.localizeWithPath(
1177
+ 'vs/workbench/contrib/files/browser/fileActions',
1178
+ 'confirmPasteNative',
1179
+ "Are you sure you want to paste '{0}'?",
1180
+ basename(toPaste[0].fsPath)
1181
+ ));
1182
+ const detail = toPaste.length > 1 ? getFileNamesMessage(toPaste) : undefined;
1183
+ const confirmation = await dialogService.confirm({
1184
+ message,
1185
+ detail,
1186
+ checkbox: {
1187
+ label: ( nls.localizeWithPath(
1188
+ 'vs/workbench/contrib/files/browser/fileActions',
1189
+ 'doNotAskAgain',
1190
+ "Do not ask me again"
1191
+ ))
1192
+ },
1193
+ primaryButton: ( nls.localizeWithPath(
1194
+ 'vs/workbench/contrib/files/browser/fileActions',
1195
+ { key: 'pasteButtonLabel', comment: ['&& denotes a mnemonic'] },
1196
+ "&&Paste"
1197
+ ))
1198
+ });
1199
+ if (!confirmation.confirmed) {
1200
+ return;
1201
+ }
1202
+ if (confirmation.checkboxChecked === true) {
1203
+ await configurationService.updateValue('explorer.confirmPasteNative', false);
1204
+ }
1205
+ }
1162
1206
  const element = context.length ? context[0] : explorerService.roots[0];
1163
1207
  const incrementalNaming = configurationService.getValue().explorer.incrementalNaming;
1164
1208
  try {
@@ -1273,6 +1317,14 @@ const pasteFileHandler = async (accessor) => {
1273
1317
  }
1274
1318
  }
1275
1319
  };
1320
+ async function getFilesToPaste(fileList, clipboardService) {
1321
+ if (fileList && fileList.length > 0) {
1322
+ return ( [...fileList].filter(file => !!file.path && isAbsolute(file.path)).map(file => URI.file(file.path)));
1323
+ }
1324
+ else {
1325
+ return resources.distinctParents(await clipboardService.readResources(), resource => resource);
1326
+ }
1327
+ }
1276
1328
  const openFilePreserveFocusHandler = async (accessor) => {
1277
1329
  const editorService = accessor.get(IEditorService);
1278
1330
  const explorerService = accessor.get(IExplorerService);
@@ -21,6 +21,7 @@ const SAVE_FILE_WITHOUT_FORMATTING_LABEL = ( nls.localizeWithPath(
21
21
  "Save without Formatting"
22
22
  ));
23
23
  const SAVE_ALL_COMMAND_ID = 'saveAll';
24
+ const SAVE_ALL_LABEL = ( nls.localizeWithPath('vs/workbench/contrib/files/browser/fileConstants', 'saveAll', "Save All"));
24
25
  const SAVE_ALL_IN_GROUP_COMMAND_ID = 'workbench.files.action.saveAllInGroup';
25
26
  const SAVE_FILES_COMMAND_ID = 'workbench.action.files.saveFiles';
26
27
  const OpenEditorsGroupContext = ( new RawContextKey('groupFocusedInOpenEditors', false));
@@ -44,4 +45,4 @@ const NEW_UNTITLED_FILE_LABEL = ( nls.localizeWithPath(
44
45
  "New Untitled Text File"
45
46
  ));
46
47
  const NEW_FILE_COMMAND_ID = 'workbench.action.files.newFile';
47
- export { COMPARE_RESOURCE_COMMAND_ID, COMPARE_SELECTED_COMMAND_ID, COMPARE_WITH_SAVED_COMMAND_ID, COPY_PATH_COMMAND_ID, COPY_RELATIVE_PATH_COMMAND_ID, FIRST_COMPRESSED_FOLDER, LAST_COMPRESSED_FOLDER, NEW_FILE_COMMAND_ID, NEW_UNTITLED_FILE_COMMAND_ID, NEW_UNTITLED_FILE_LABEL, NEXT_COMPRESSED_FOLDER, OPEN_TO_SIDE_COMMAND_ID, OPEN_WITH_EXPLORER_COMMAND_ID, OpenEditorsDirtyEditorContext, OpenEditorsGroupContext, OpenEditorsReadonlyEditorContext, PREVIOUS_COMPRESSED_FOLDER, REMOVE_ROOT_FOLDER_COMMAND_ID, REMOVE_ROOT_FOLDER_LABEL, REVEAL_IN_EXPLORER_COMMAND_ID, REVERT_FILE_COMMAND_ID, ResourceSelectedForCompareContext, SAVE_ALL_COMMAND_ID, SAVE_ALL_IN_GROUP_COMMAND_ID, SAVE_FILES_COMMAND_ID, SAVE_FILE_AS_COMMAND_ID, SAVE_FILE_AS_LABEL, SAVE_FILE_COMMAND_ID, SAVE_FILE_LABEL, SAVE_FILE_WITHOUT_FORMATTING_COMMAND_ID, SAVE_FILE_WITHOUT_FORMATTING_LABEL, SELECT_FOR_COMPARE_COMMAND_ID };
48
+ export { COMPARE_RESOURCE_COMMAND_ID, COMPARE_SELECTED_COMMAND_ID, COMPARE_WITH_SAVED_COMMAND_ID, COPY_PATH_COMMAND_ID, COPY_RELATIVE_PATH_COMMAND_ID, FIRST_COMPRESSED_FOLDER, LAST_COMPRESSED_FOLDER, NEW_FILE_COMMAND_ID, NEW_UNTITLED_FILE_COMMAND_ID, NEW_UNTITLED_FILE_LABEL, NEXT_COMPRESSED_FOLDER, OPEN_TO_SIDE_COMMAND_ID, OPEN_WITH_EXPLORER_COMMAND_ID, OpenEditorsDirtyEditorContext, OpenEditorsGroupContext, OpenEditorsReadonlyEditorContext, PREVIOUS_COMPRESSED_FOLDER, REMOVE_ROOT_FOLDER_COMMAND_ID, REMOVE_ROOT_FOLDER_LABEL, REVEAL_IN_EXPLORER_COMMAND_ID, REVERT_FILE_COMMAND_ID, ResourceSelectedForCompareContext, SAVE_ALL_COMMAND_ID, SAVE_ALL_IN_GROUP_COMMAND_ID, SAVE_ALL_LABEL, SAVE_FILES_COMMAND_ID, SAVE_FILE_AS_COMMAND_ID, SAVE_FILE_AS_LABEL, SAVE_FILE_COMMAND_ID, SAVE_FILE_LABEL, SAVE_FILE_WITHOUT_FORMATTING_COMMAND_ID, SAVE_FILE_WITHOUT_FORMATTING_LABEL, SELECT_FOR_COMPARE_COMMAND_ID };