@codingame/monaco-vscode-api 2.2.2 → 3.1.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 (601) hide show
  1. package/README.md +16 -3
  2. package/api.js +8 -10
  3. package/assets/continue-tb.png +0 -0
  4. package/assets/pause-tb.png +0 -0
  5. package/assets/restart-tb.png +0 -0
  6. package/assets/run-with-debugging-tb.png +0 -0
  7. package/assets/stepinto-tb.png +0 -0
  8. package/assets/stepout-tb.png +0 -0
  9. package/assets/stepover-tb.png +0 -0
  10. package/assets/stop-tb.png +0 -0
  11. package/contributions.js +5 -3
  12. package/debugProtocol.d.ts +143 -51
  13. package/extensions.d.ts +9 -5
  14. package/external/@xterm/xterm/typings/xterm.d.ts +2 -2
  15. package/missing-services.js +63 -13
  16. package/monaco.js +30 -14
  17. package/package.json +8 -8
  18. package/service-override/tools/editor.js +31 -8
  19. package/service-override/tools/editorAssets.js +3 -0
  20. package/service-override/tools/views.d.ts +5 -6
  21. package/service-override/tools/views.js +10 -11
  22. package/services.d.ts +8 -5
  23. package/services.js +19 -4
  24. package/vscode/src/vs/base/browser/browser.js +2 -66
  25. package/vscode/src/vs/base/browser/dom.js +10 -22
  26. package/vscode/src/vs/base/browser/markdownRenderer.js +13 -5
  27. package/vscode/src/vs/base/browser/mouseEvent.js +9 -3
  28. package/vscode/src/vs/base/browser/pixelRatio.js +72 -0
  29. package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.js +4 -3
  30. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.css.js +1 -1
  31. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.d.ts +1 -1
  32. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.js +3 -4
  33. package/vscode/src/vs/base/browser/ui/button/button.js +16 -4
  34. package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon.css.js +1 -1
  35. package/vscode/src/vs/base/browser/ui/contextview/contextview.js +1 -3
  36. package/vscode/src/vs/base/browser/ui/dropdown/dropdown.js +8 -1
  37. package/vscode/src/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +6 -2
  38. package/vscode/src/vs/base/browser/ui/hover/hoverDelegate.js +22 -0
  39. package/vscode/src/vs/base/browser/ui/iconLabel/iconHoverDelegate.d.ts +1 -0
  40. package/vscode/src/vs/base/browser/ui/iconLabel/iconLabel.js +3 -2
  41. package/vscode/src/vs/base/browser/ui/iconLabel/iconLabelHover.js +2 -1
  42. package/vscode/src/vs/base/browser/ui/list/listView.js +27 -42
  43. package/vscode/src/vs/base/browser/ui/menu/menu.js +0 -4
  44. package/vscode/src/vs/base/browser/ui/selectBox/selectBoxCustom.js +7 -4
  45. package/vscode/src/vs/base/browser/ui/table/tableWidget.js +8 -4
  46. package/vscode/src/vs/base/browser/ui/toggle/toggle.js +4 -2
  47. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.js +7 -2
  48. package/vscode/src/vs/base/browser/ui/tree/asyncDataTree.js +1 -0
  49. package/vscode/src/vs/base/common/actions.js +1 -1
  50. package/vscode/src/vs/base/common/assert.js +1 -1
  51. package/vscode/src/vs/base/common/async.js +11 -7
  52. package/vscode/src/vs/base/common/codicons.d.ts +4 -0
  53. package/vscode/src/vs/base/common/codicons.js +4 -0
  54. package/vscode/src/vs/base/common/date.js +55 -1
  55. package/vscode/src/vs/base/common/event.js +5 -3
  56. package/vscode/src/vs/base/common/filters.js +1 -1
  57. package/vscode/src/vs/base/common/hotReload.js +5 -4
  58. package/vscode/src/vs/base/common/lifecycle.js +158 -1
  59. package/vscode/src/vs/base/common/network.js +3 -0
  60. package/vscode/src/vs/base/common/observableInternal/autorun.js +22 -36
  61. package/vscode/src/vs/base/common/observableInternal/base.js +3 -82
  62. package/vscode/src/vs/base/common/observableInternal/debugName.js +100 -0
  63. package/vscode/src/vs/base/common/observableInternal/derived.js +14 -46
  64. package/vscode/src/vs/base/common/observableInternal/promise.js +94 -0
  65. package/vscode/src/vs/base/common/observableInternal/utils.js +5 -27
  66. package/vscode/src/vs/base/common/prefixTree.js +56 -22
  67. package/vscode/src/vs/base/common/product.d.ts +1 -1
  68. package/vscode/src/vs/base/common/strings.js +9 -1
  69. package/vscode/src/vs/editor/browser/config/charWidthReader.js +5 -6
  70. package/vscode/src/vs/editor/browser/config/editorConfiguration.js +7 -4
  71. package/vscode/src/vs/editor/browser/config/fontMeasurements.js +39 -26
  72. package/vscode/src/vs/editor/browser/controller/mouseHandler.js +10 -10
  73. package/vscode/src/vs/editor/browser/controller/mouseTarget.js +4 -4
  74. package/vscode/src/vs/editor/browser/controller/textAreaHandler.js +12 -12
  75. package/vscode/src/vs/editor/browser/coreCommands.js +2 -2
  76. package/vscode/src/vs/editor/browser/view/viewController.js +3 -3
  77. package/vscode/src/vs/editor/browser/view/viewLayer.js +1 -1
  78. package/vscode/src/vs/editor/browser/view/viewOverlays.js +6 -6
  79. package/vscode/src/vs/editor/browser/view.js +2 -2
  80. package/vscode/src/vs/editor/browser/viewParts/blockDecorations/blockDecorations.js +1 -1
  81. package/vscode/src/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +5 -5
  82. package/vscode/src/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.js +8 -8
  83. package/vscode/src/vs/editor/browser/viewParts/decorations/decorations.js +2 -2
  84. package/vscode/src/vs/editor/browser/viewParts/editorScrollbar/editorScrollbar.js +11 -11
  85. package/vscode/src/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js +4 -4
  86. package/vscode/src/vs/editor/browser/viewParts/indentGuides/indentGuides.js +4 -4
  87. package/vscode/src/vs/editor/browser/viewParts/lineNumbers/lineNumbers.js +4 -4
  88. package/vscode/src/vs/editor/browser/viewParts/lines/viewLine.js +4 -4
  89. package/vscode/src/vs/editor/browser/viewParts/lines/viewLines.js +13 -13
  90. package/vscode/src/vs/editor/browser/viewParts/linesDecorations/linesDecorations.js +2 -2
  91. package/vscode/src/vs/editor/browser/viewParts/margin/margin.js +2 -2
  92. package/vscode/src/vs/editor/browser/viewParts/minimap/minimap.js +7 -7
  93. package/vscode/src/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.js +2 -2
  94. package/vscode/src/vs/editor/browser/viewParts/overviewRuler/decorationsOverviewRuler.js +7 -7
  95. package/vscode/src/vs/editor/browser/viewParts/overviewRuler/overviewRuler.js +6 -6
  96. package/vscode/src/vs/editor/browser/viewParts/rulers/rulers.js +2 -2
  97. package/vscode/src/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.js +3 -3
  98. package/vscode/src/vs/editor/browser/viewParts/selections/selections.js +4 -4
  99. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursor.js +2 -2
  100. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursors.js +2 -2
  101. package/vscode/src/vs/editor/browser/viewParts/viewZones/viewZones.js +5 -5
  102. package/vscode/src/vs/editor/browser/viewParts/whitespace/whitespace.js +5 -5
  103. package/vscode/src/vs/editor/browser/widget/codeEditorContributions.js +2 -2
  104. package/vscode/src/vs/editor/browser/widget/codeEditorWidget.js +34 -32
  105. package/vscode/src/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.css.js +1 -1
  106. package/vscode/src/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.js +82 -37
  107. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +3 -1
  108. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +7 -7
  109. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/inlineDiffDeletedCodeMargin.js +3 -3
  110. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/renderLines.js +6 -6
  111. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditor.contribution.js +10 -16
  112. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +2 -1
  113. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +12 -12
  114. package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +2 -4
  115. package/vscode/src/vs/editor/browser/widget/diffEditor/features/overviewRulerFeature.js +1 -1
  116. package/vscode/src/vs/editor/browser/widget/diffEditor/features/revertButtonsFeature.js +17 -18
  117. package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +1 -1
  118. package/vscode/src/vs/editor/browser/widget/embeddedCodeEditorWidget.js +4 -4
  119. package/vscode/src/vs/editor/browser/widget/markdownRenderer/browser/renderedMarkdown.css.js +1 -1
  120. package/vscode/src/vs/editor/browser/widget/multiDiffEditorWidget/colors.js +2 -2
  121. package/vscode/src/vs/editor/browser/widget/multiDiffEditorWidget/diffEditorItemTemplate.js +43 -16
  122. package/vscode/src/vs/editor/browser/widget/multiDiffEditorWidget/multiDiffEditorWidget.js +3 -0
  123. package/vscode/src/vs/editor/browser/widget/multiDiffEditorWidget/multiDiffEditorWidgetImpl.js +42 -8
  124. package/vscode/src/vs/editor/browser/widget/multiDiffEditorWidget/style.css.js +1 -1
  125. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +18 -1
  126. package/vscode/src/vs/editor/common/config/editorOptions.js +188 -107
  127. package/vscode/src/vs/editor/common/config/fontInfo.js +2 -2
  128. package/vscode/src/vs/editor/common/cursorCommon.js +14 -14
  129. package/vscode/src/vs/editor/common/editorContextKeys.js +1 -1
  130. package/vscode/src/vs/editor/common/languageSelector.js +12 -1
  131. package/vscode/src/vs/editor/common/languages.d.ts +28 -1
  132. package/vscode/src/vs/editor/common/languages.js +6 -1
  133. package/vscode/src/vs/editor/common/services/languageFeatures.d.ts +3 -1
  134. package/vscode/src/vs/editor/common/services/languageFeaturesService.js +2 -0
  135. package/vscode/src/vs/editor/common/standalone/standaloneEnums.js +96 -86
  136. package/vscode/src/vs/editor/common/standaloneStrings.js +5 -5
  137. package/vscode/src/vs/editor/common/viewLayout/viewLayout.js +19 -19
  138. package/vscode/src/vs/editor/common/viewModel/monospaceLineBreaksComputer.js +2 -2
  139. package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +12 -12
  140. package/vscode/src/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +3 -3
  141. package/vscode/src/vs/editor/contrib/clipboard/browser/clipboard.js +6 -6
  142. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +5 -1
  143. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionModel.js +3 -3
  144. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +2 -2
  145. package/vscode/src/vs/editor/contrib/codelens/browser/codelensController.js +1 -1
  146. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorContributions.js +1 -1
  147. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorDetector.js +3 -3
  148. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorHoverParticipant.js +2 -2
  149. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerWidget.js +3 -3
  150. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPickerActions.js +2 -3
  151. package/vscode/src/vs/editor/contrib/contextmenu/browser/contextmenu.js +3 -3
  152. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +3 -3
  153. package/vscode/src/vs/editor/contrib/find/browser/findController.js +1 -1
  154. package/vscode/src/vs/editor/contrib/find/browser/findModel.js +6 -6
  155. package/vscode/src/vs/editor/contrib/find/browser/findWidget.css.js +1 -1
  156. package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +9 -62
  157. package/vscode/src/vs/editor/contrib/folding/browser/folding.js +3 -3
  158. package/vscode/src/vs/editor/contrib/format/browser/format.js +5 -5
  159. package/vscode/src/vs/editor/contrib/format/browser/formatActions.js +5 -5
  160. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +1 -1
  161. package/vscode/src/vs/editor/contrib/gotoError/browser/markerNavigationService.js +1 -1
  162. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +58 -84
  163. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/clickLinkGesture.js +3 -3
  164. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +1 -1
  165. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +8 -2
  166. package/vscode/src/vs/editor/contrib/hover/browser/contentHover.js +1 -1
  167. package/vscode/src/vs/editor/contrib/hover/browser/hover.js +1 -1
  168. package/vscode/src/vs/editor/contrib/hover/browser/marginHover.js +1 -1
  169. package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +1 -1
  170. package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +18 -15
  171. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsController.js +3 -3
  172. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +1 -1
  173. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsLocations.js +2 -2
  174. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/commands.js +1 -1
  175. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostText.js +14 -6
  176. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostTextWidget.js +10 -10
  177. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hoverParticipant.js +1 -1
  178. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionContextKeys.js +3 -3
  179. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsController.js +54 -27
  180. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHintsWidget.js +1 -1
  181. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsModel.js +115 -45
  182. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsSource.js +1 -1
  183. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/singleTextEdit.js +6 -5
  184. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/utils.js +46 -1
  185. package/vscode/src/vs/editor/contrib/inlineEdit/browser/commandIds.js +5 -0
  186. package/vscode/src/vs/editor/contrib/inlineEdit/browser/commands.js +145 -0
  187. package/vscode/src/vs/editor/contrib/inlineEdit/browser/ghostTextWidget.js +188 -0
  188. package/vscode/src/vs/editor/contrib/inlineEdit/browser/hoverParticipant.js +91 -0
  189. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEdit.contribution.js +12 -0
  190. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEdit.css.js +4 -0
  191. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditController.js +309 -0
  192. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget.css.js +4 -0
  193. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget.js +193 -0
  194. package/vscode/src/vs/editor/contrib/inlineProgress/browser/inlineProgress.js +2 -2
  195. package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +1 -1
  196. package/vscode/src/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +2 -2
  197. package/vscode/src/vs/editor/contrib/links/browser/links.js +5 -5
  198. package/vscode/src/vs/editor/contrib/longLinesHelper/browser/longLinesHelper.js +1 -1
  199. package/vscode/src/vs/editor/contrib/multicursor/browser/multicursor.js +10 -10
  200. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsModel.js +3 -3
  201. package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +1 -1
  202. package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +1 -1
  203. package/vscode/src/vs/editor/contrib/readOnlyMessage/browser/contribution.js +1 -1
  204. package/vscode/src/vs/editor/contrib/rename/browser/rename.js +143 -9
  205. package/vscode/src/vs/editor/contrib/rename/browser/renameInputField.css.js +1 -1
  206. package/vscode/src/vs/editor/contrib/rename/browser/renameInputField.js +347 -17
  207. package/vscode/src/vs/editor/contrib/smartSelect/browser/smartSelect.js +1 -1
  208. package/vscode/src/vs/editor/contrib/snippet/browser/snippetSession.js +2 -2
  209. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +23 -37
  210. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +11 -10
  211. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollProvider.js +2 -2
  212. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +8 -8
  213. package/vscode/src/vs/editor/contrib/suggest/browser/suggestController.js +4 -4
  214. package/vscode/src/vs/editor/contrib/suggest/browser/suggestInlineCompletions.js +2 -2
  215. package/vscode/src/vs/editor/contrib/suggest/browser/suggestModel.js +11 -11
  216. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +6 -6
  217. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +3 -3
  218. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +3 -3
  219. package/vscode/src/vs/editor/contrib/suggest/browser/wordContextKey.js +2 -2
  220. package/vscode/src/vs/editor/contrib/suggest/browser/wordDistance.js +1 -1
  221. package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +3 -3
  222. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +3 -3
  223. package/vscode/src/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +4 -4
  224. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +29 -16
  225. package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +3 -3
  226. package/vscode/src/vs/editor/contrib/zoneWidget/browser/zoneWidget.js +7 -3
  227. package/vscode/src/vs/editor/editor.api.d.ts +146 -85
  228. package/vscode/src/vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js +1 -1
  229. package/vscode/src/vs/editor/standalone/browser/quickInput/standaloneQuickInputService.js +3 -5
  230. package/vscode/src/vs/editor/standalone/browser/standaloneCodeEditor.js +7 -4
  231. package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +10 -10
  232. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.d.ts +99 -0
  233. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +608 -0
  234. package/vscode/src/vs/platform/action/common/actionCommonCategories.d.ts +1 -4
  235. package/vscode/src/vs/platform/action/common/actionCommonCategories.js +3 -3
  236. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +26 -41
  237. package/vscode/src/vs/platform/actions/browser/dropdownWithPrimaryActionViewItem.js +6 -4
  238. package/vscode/src/vs/platform/actions/common/actions.d.ts +11 -0
  239. package/vscode/src/vs/platform/actions/common/actions.js +11 -0
  240. package/vscode/src/vs/platform/configuration/common/configuration.d.ts +17 -33
  241. package/vscode/src/vs/platform/configuration/common/configurationModels.js +42 -29
  242. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +3 -4
  243. package/vscode/src/vs/platform/extensions/common/extensions.d.ts +2 -2
  244. package/vscode/src/vs/platform/hover/browser/hover.js +69 -1
  245. package/vscode/src/vs/platform/product/common/product.js +1 -1
  246. package/vscode/src/vs/platform/quickinput/browser/quickInput.js +14 -20
  247. package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +11 -5
  248. package/vscode/src/vs/platform/quickinput/browser/quickInputList.js +22 -2
  249. package/vscode/src/vs/platform/quickinput/browser/quickInputService.js +9 -7
  250. package/vscode/src/vs/platform/remote/common/remoteAgentConnection.js +2 -5
  251. package/vscode/src/vs/platform/request/common/request.js +111 -0
  252. package/vscode/src/vs/platform/terminal/common/capabilities/capabilities.d.ts +1 -0
  253. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetection/terminalCommand.js +15 -0
  254. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetectionCapability.js +9 -0
  255. package/vscode/src/vs/platform/terminal/common/terminal.d.ts +5 -3
  256. package/vscode/src/vs/platform/theme/common/colorRegistry.js +5 -5
  257. package/vscode/src/vs/platform/theme/common/tokenClassificationRegistry.js +6 -2
  258. package/vscode/src/vs/platform/tunnel/common/tunnel.js +267 -1
  259. package/vscode/src/vs/platform/window/common/window.js +4 -1
  260. package/vscode/src/vs/platform/workspace/common/workspace.js +2 -1
  261. package/vscode/src/vs/workbench/api/browser/statusBarExtensionPoint.js +2 -2
  262. package/vscode/src/vs/workbench/api/browser/viewsExtensionPoint.js +130 -14
  263. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +76 -24
  264. package/vscode/src/vs/workbench/api/common/extHostAuthentication.js +4 -1
  265. package/vscode/src/vs/workbench/api/common/extHostChat.js +0 -39
  266. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +309 -137
  267. package/vscode/src/vs/workbench/api/common/extHostChatProvider.js +164 -49
  268. package/vscode/src/vs/workbench/api/common/extHostChatVariables.js +67 -7
  269. package/vscode/src/vs/workbench/api/common/extHostComments.js +28 -0
  270. package/vscode/src/vs/workbench/api/common/extHostDebugService.js +129 -48
  271. package/vscode/src/vs/workbench/api/common/extHostDocumentData.js +1 -2
  272. package/vscode/src/vs/workbench/api/common/extHostDocumentsAndEditors.js +1 -1
  273. package/vscode/src/vs/workbench/api/common/extHostInlineChat.js +5 -4
  274. package/vscode/src/vs/workbench/api/common/extHostInteractive.js +0 -1
  275. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +130 -16
  276. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +12 -1
  277. package/vscode/src/vs/workbench/api/common/extHostNotebookDocument.js +3 -4
  278. package/vscode/src/vs/workbench/api/common/extHostNotebookKernels.js +19 -1
  279. package/vscode/src/vs/workbench/api/common/extHostSpeech.js +2 -2
  280. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +301 -75
  281. package/vscode/src/vs/workbench/api/common/extHostTypes.js +127 -45
  282. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +46 -7
  283. package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +55 -2
  284. package/vscode/src/vs/workbench/api/worker/extensionHostWorker.js +1 -1
  285. package/vscode/src/vs/workbench/browser/actions/developerActions.js +703 -0
  286. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +146 -99
  287. package/vscode/src/vs/workbench/browser/actions/listCommands.js +2 -3
  288. package/vscode/src/vs/workbench/browser/actions/media/actions.css.js +4 -0
  289. package/vscode/src/vs/workbench/browser/actions/navigationActions.js +300 -0
  290. package/vscode/src/vs/workbench/browser/actions/textInputActions.js +83 -0
  291. package/vscode/src/vs/workbench/browser/actions/widgetNavigationCommands.js +3 -4
  292. package/vscode/src/vs/workbench/browser/actions/windowActions.js +4 -8
  293. package/vscode/src/vs/workbench/browser/composite.d.ts +2 -1
  294. package/vscode/src/vs/workbench/browser/composite.js +1 -1
  295. package/vscode/src/vs/workbench/browser/dnd.js +2 -1
  296. package/vscode/src/vs/workbench/browser/editor.js +11 -1
  297. package/vscode/src/vs/workbench/browser/media/style.css.js +1 -1
  298. package/vscode/src/vs/workbench/browser/panecomposite.d.ts +2 -1
  299. package/vscode/src/vs/workbench/browser/panecomposite.js +2 -2
  300. package/vscode/src/vs/workbench/browser/parts/activitybar/activitybarPart.js +4 -6
  301. package/vscode/src/vs/workbench/browser/parts/activitybar/media/activityaction.css.js +1 -1
  302. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +4 -4
  303. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarPart.js +1 -1
  304. package/vscode/src/vs/workbench/browser/parts/compositeBar.js +1 -1
  305. package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +10 -10
  306. package/vscode/src/vs/workbench/browser/parts/compositePart.js +8 -5
  307. package/vscode/src/vs/workbench/browser/parts/editor/auxiliaryEditorPart.js +39 -29
  308. package/vscode/src/vs/workbench/browser/parts/editor/binaryEditor.js +1 -1
  309. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsControl.js +20 -24
  310. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsPicker.js +6 -4
  311. package/vscode/src/vs/workbench/browser/parts/editor/editor.autosave.contribution.js +2 -3
  312. package/vscode/src/vs/workbench/browser/parts/editor/editor.contribution.js +52 -54
  313. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +30 -30
  314. package/vscode/src/vs/workbench/browser/parts/editor/editorAutoSave.js +1 -0
  315. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +12 -18
  316. package/vscode/src/vs/workbench/browser/parts/editor/editorConfiguration.js +1 -0
  317. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupView.js +1 -1
  318. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupWatermark.js +7 -6
  319. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +17 -6
  320. package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.js +13 -5
  321. package/vscode/src/vs/workbench/browser/parts/editor/media/multieditortabscontrol.css.js +1 -1
  322. package/vscode/src/vs/workbench/browser/parts/editor/multiEditorTabsControl.js +84 -71
  323. package/vscode/src/vs/workbench/browser/parts/editor/singleEditorTabsControl.js +2 -6
  324. package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +4 -1
  325. package/vscode/src/vs/workbench/browser/parts/editor/textResourceEditor.js +2 -2
  326. package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +350 -35
  327. package/vscode/src/vs/workbench/browser/parts/media/paneCompositePart.css.js +1 -1
  328. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCenter.js +5 -5
  329. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +3 -3
  330. package/vscode/src/vs/workbench/browser/parts/paneCompositeBar.js +1 -5
  331. package/vscode/src/vs/workbench/browser/parts/paneCompositePart.js +9 -6
  332. package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +56 -74
  333. package/vscode/src/vs/workbench/browser/parts/panel/panelPart.js +1 -1
  334. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarPart.js +6 -9
  335. package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +4 -4
  336. package/vscode/src/vs/workbench/browser/parts/titlebar/titlebarPart.d.ts +9 -1
  337. package/vscode/src/vs/workbench/browser/parts/titlebar/windowTitle.js +55 -12
  338. package/vscode/src/vs/workbench/browser/parts/views/treeView.js +9 -16
  339. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +1 -1
  340. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.d.ts +2 -1
  341. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +4 -4
  342. package/vscode/src/vs/workbench/browser/quickaccess.js +8 -1
  343. package/vscode/src/vs/workbench/browser/workbench.contribution.js +22 -20
  344. package/vscode/src/vs/workbench/common/configuration.js +146 -43
  345. package/vscode/src/vs/workbench/common/contextkeys.js +4 -4
  346. package/vscode/src/vs/workbench/common/contributions.d.ts +44 -1
  347. package/vscode/src/vs/workbench/common/contributions.js +143 -20
  348. package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +5 -5
  349. package/vscode/src/vs/workbench/common/editor/editorGroupModel.js +1 -1
  350. package/vscode/src/vs/workbench/common/editor/editorInput.d.ts +17 -11
  351. package/vscode/src/vs/workbench/common/editor/editorInput.js +1 -1
  352. package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +2 -2
  353. package/vscode/src/vs/workbench/common/editor.d.ts +4 -0
  354. package/vscode/src/vs/workbench/common/theme.js +11 -1
  355. package/vscode/src/vs/workbench/common/views.js +1 -3
  356. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +1064 -118
  357. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityContributions.js +7 -7
  358. package/vscode/src/vs/workbench/contrib/accessibility/browser/editorAccessibilityHelp.js +5 -5
  359. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/accessibilitySignal.contribution.js +306 -0
  360. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/accessibilitySignalDebuggerContribution.js +46 -0
  361. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/accessibilitySignalLineFeatureContribution.js +177 -0
  362. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/commands.js +163 -0
  363. package/vscode/src/vs/workbench/contrib/callHierarchy/browser/callHierarchy.contribution.js +1 -1
  364. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +2 -2
  365. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +31 -17
  366. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +11 -17
  367. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +18 -27
  368. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditorInput.js +2 -5
  369. package/vscode/src/vs/workbench/contrib/chat/browser/chatFollowups.js +34 -8
  370. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPart.js +8 -7
  371. package/vscode/src/vs/workbench/contrib/chat/browser/chatListRenderer.js +142 -109
  372. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownDecorationsRenderer.js +80 -52
  373. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommandContentWidget.js +1 -1
  374. package/vscode/src/vs/workbench/contrib/chat/browser/chatWidget.js +44 -13
  375. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.js +230 -74
  376. package/vscode/src/vs/workbench/contrib/chat/browser/media/chat.css.js +1 -1
  377. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +5 -5
  378. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +87 -29
  379. package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.js +19 -3
  380. package/vscode/src/vs/workbench/contrib/chat/common/chatProvider.js +18 -3
  381. package/vscode/src/vs/workbench/contrib/chat/common/chatRequestParser.js +11 -8
  382. package/vscode/src/vs/workbench/contrib/chat/common/chatService.js +6 -6
  383. package/vscode/src/vs/workbench/contrib/chat/common/chatViewModel.js +11 -5
  384. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActions.contribution.js +2 -2
  385. package/vscode/src/vs/workbench/contrib/codeActions/common/codeActionsExtensionPoint.js +71 -0
  386. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.css.js +4 -0
  387. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +256 -0
  388. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +2 -2
  389. package/vscode/src/vs/workbench/contrib/codeEditor/browser/editorFeatures.js +3 -4
  390. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +8 -6
  391. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +11 -11
  392. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +3 -4
  393. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +2 -3
  394. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +2 -3
  395. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +9 -10
  396. package/vscode/src/vs/workbench/contrib/comments/browser/commentFormActions.js +9 -2
  397. package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +27 -13
  398. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +41 -23
  399. package/vscode/src/vs/workbench/contrib/comments/browser/commentService.js +15 -7
  400. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadAdditionalActions.js +22 -10
  401. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +1 -1
  402. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +1 -0
  403. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +3 -3
  404. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +3 -3
  405. package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +2 -2
  406. package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +3 -1
  407. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditor.contribution.js +2 -3
  408. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInputFactory.js +1 -0
  409. package/vscode/src/vs/workbench/contrib/customEditor/common/extensionPoint.js +66 -2
  410. package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +31 -2
  411. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +2 -2
  412. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +37 -7
  413. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +118 -25
  414. package/vscode/src/vs/workbench/contrib/debug/browser/media/all.png.js +11 -0
  415. package/vscode/src/vs/workbench/contrib/debug/browser/media/breakpointWidget.css.js +1 -1
  416. package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +37 -5
  417. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +24 -1
  418. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.d.ts +18 -0
  419. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +237 -140
  420. package/vscode/src/vs/workbench/contrib/debug/common/debugVisualizers.js +72 -25
  421. package/vscode/src/vs/workbench/contrib/editSessions/common/editSessions.js +5 -8
  422. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +29 -4
  423. package/vscode/src/vs/workbench/contrib/files/browser/editors/fileEditorHandler.js +1 -0
  424. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditorTracker.js +1 -0
  425. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileSaveErrorHandler.js +2 -1
  426. package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +8 -7
  427. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +152 -120
  428. package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +6 -6
  429. package/vscode/src/vs/workbench/contrib/files/browser/files.editorPane.contribution.js +67 -0
  430. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +5 -5
  431. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +51 -12
  432. package/vscode/src/vs/workbench/contrib/files/browser/views/media/openeditors.css.js +1 -1
  433. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +24 -9
  434. package/vscode/src/vs/workbench/contrib/files/browser/workspaceWatcher.js +1 -1
  435. package/vscode/src/vs/workbench/contrib/files/common/dirtyFilesIndicator.js +1 -0
  436. package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +16 -22
  437. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.css.js +1 -1
  438. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +48 -27
  439. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatLivePreviewWidget.js +2 -2
  440. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.js +23 -8
  441. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +48 -6
  442. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +145 -73
  443. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +31 -9
  444. package/vscode/src/vs/workbench/contrib/languageStatus/browser/languageStatus.contribution.js +8 -10
  445. package/vscode/src/vs/workbench/contrib/list/browser/list.contribution.js +3 -3
  446. package/vscode/src/vs/workbench/contrib/logs/common/defaultLogLevels.js +140 -0
  447. package/vscode/src/vs/workbench/contrib/markdown/browser/markdownDocumentRenderer.js +7 -3
  448. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/commands/commands.js +95 -152
  449. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/commands/devCommands.js +16 -25
  450. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditor.contribution.js +2 -4
  451. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +2 -1
  452. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/textModelDiffs.js +19 -19
  453. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/conflictActions.js +1 -1
  454. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/mergeEditor.js +1 -0
  455. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOutputActions.js +17 -3
  456. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/editActions.js +102 -15
  457. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/foldingController.js +2 -2
  458. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/notebookIndentationActions.js +234 -0
  459. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +1 -2
  460. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +48 -24
  461. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookOptions.js +52 -22
  462. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellActionView.js +62 -3
  463. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellEditorOptions.js +40 -0
  464. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellOutput.js +20 -6
  465. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbars.js +4 -4
  466. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/chat/cellChatPart.js +3 -27
  467. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +28 -6
  468. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +28 -3
  469. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellList.js +78 -18
  470. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellListView.js +208 -1
  471. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +1 -1
  472. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.js +4 -4
  473. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.js +85 -71
  474. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/baseCellViewModel.js +1 -2
  475. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookViewModelImpl.js +1 -4
  476. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorStickyScroll.js +2 -3
  477. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorToolbar.js +82 -14
  478. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelQuickPickStrategy.js +1 -1
  479. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelView.js +0 -1
  480. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookOverviewRuler.js +4 -3
  481. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookTopCellToolbar.js +92 -33
  482. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookViewZones.js +136 -0
  483. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +6 -1
  484. package/vscode/src/vs/workbench/contrib/notebook/common/notebookRange.js +5 -1
  485. package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingWidgets.js +279 -0
  486. package/vscode/src/vs/workbench/contrib/preferences/browser/keyboardLayoutPicker.js +6 -7
  487. package/vscode/src/vs/workbench/contrib/preferences/browser/media/keybindings.css.js +4 -0
  488. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesIcons.js +64 -0
  489. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +507 -0
  490. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsLayout.js +478 -0
  491. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsTreeModels.js +796 -0
  492. package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +8 -10
  493. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +14 -20
  494. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +12 -12
  495. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsBase.js +3 -3
  496. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +44 -54
  497. package/vscode/src/vs/workbench/contrib/search/common/constants.js +26 -65
  498. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/abstractSnippetsActions.js +6 -9
  499. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/fileTemplateSnippets.js +6 -9
  500. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +2 -2
  501. package/vscode/src/vs/workbench/contrib/snippets/browser/tabCompletion.js +2 -2
  502. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +3 -124
  503. package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +2 -2
  504. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +2 -2
  505. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationAddon.js +5 -5
  506. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationStyles.js +61 -24
  507. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +3 -3
  508. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.js +5 -5
  509. package/vscode/src/vs/workbench/contrib/terminal/common/terminalContextKey.js +24 -1
  510. package/vscode/src/vs/workbench/contrib/terminal/common/terminalExtensionPoints.js +1 -1
  511. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +4 -4
  512. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +10 -10
  513. package/vscode/src/vs/workbench/contrib/testing/common/testingContinuousRunService.js +45 -20
  514. package/vscode/src/vs/workbench/contrib/update/common/update.js +2 -1
  515. package/vscode/src/vs/workbench/contrib/webview/browser/webviewElement.js +3 -4
  516. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewCommands.js +3 -3
  517. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +1 -1
  518. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditorInputSerializer.js +1 -1
  519. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewPanel.contribution.js +15 -18
  520. package/vscode/src/vs/workbench/contrib/webviewView/browser/webviewViewPane.js +2 -5
  521. package/vscode/src/vs/workbench/contrib/webviewView/browser/webviewViewService.js +4 -4
  522. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedExtensionPoint.js +2 -2
  523. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedService.js +5 -5
  524. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +193 -54
  525. package/vscode/src/vs/workbench/services/authentication/common/authentication.js +2 -1
  526. package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +9 -3
  527. package/vscode/src/vs/workbench/services/editor/browser/editorPaneService.js +10 -0
  528. package/vscode/src/vs/workbench/services/editor/browser/editorService.d.ts +3 -1
  529. package/vscode/src/vs/workbench/services/editor/browser/editorService.js +5 -0
  530. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +1 -6
  531. package/vscode/src/vs/workbench/services/editor/common/editorPaneService.js +3 -0
  532. package/vscode/src/vs/workbench/services/editor/common/editorService.d.ts +5 -1
  533. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionFeatures.js +29 -0
  534. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.js +1 -1
  535. package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +3 -4
  536. package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.js +4 -3
  537. package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +11 -5
  538. package/vscode/src/vs/workbench/services/extensions/common/workspaceContains.js +5 -5
  539. package/vscode/src/vs/workbench/services/history/browser/historyService.js +25 -4
  540. package/vscode/src/vs/workbench/services/history/common/history.d.ts +5 -0
  541. package/vscode/src/vs/workbench/services/language/common/languageService.js +111 -2
  542. package/vscode/src/vs/workbench/services/layout/browser/layoutService.d.ts +2 -2
  543. package/vscode/src/vs/workbench/services/layout/browser/layoutService.js +59 -1
  544. package/vscode/src/vs/workbench/services/preferences/common/preferencesModels.js +1008 -0
  545. package/vscode/src/vs/workbench/services/preferences/common/preferencesValidation.js +477 -0
  546. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +2 -2
  547. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.d.ts +4 -1
  548. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +53 -13
  549. package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +1 -0
  550. package/vscode/src/vs/workbench/services/textMate/common/TMGrammars.js +2 -2
  551. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +1 -1
  552. package/vscode/src/vs/workbench/services/textfile/common/textfiles.d.ts +22 -9
  553. package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +76 -4
  554. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +2 -2
  555. package/vscode/src/vs/workbench/services/themes/common/tokenClassificationExtensionPoint.js +7 -7
  556. package/vscode/src/vs/workbench/services/timer/browser/timerService.js +1 -0
  557. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorHandler.js +3 -2
  558. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorInput.js +1 -1
  559. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +2 -2
  560. package/vscode/src/vs/workbench/services/views/browser/viewDescriptorService.js +6 -9
  561. package/vscode/src/vs/workbench/services/views/browser/viewsService.js +12 -12
  562. package/vscode/src/vs/workbench/services/views/common/viewContainerModel.js +6 -1
  563. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.d.ts +43 -4
  564. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +1 -1
  565. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyFileService.d.ts +16 -7
  566. package/vscode/src/vs/workbench/services/workspaces/common/workspaceIdentityService.js +102 -0
  567. package/vscode/src/vs/workbench/services/workspaces/common/workspaceTrust.js +3 -6
  568. package/vscode-dts/vscode.proposed.activeComment.d.ts +23 -0
  569. package/vscode-dts/vscode.proposed.chatParticipant.d.ts +509 -0
  570. package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +288 -0
  571. package/vscode-dts/vscode.proposed.chatProvider.d.ts +10 -1
  572. package/vscode-dts/vscode.proposed.chatVariableResolver.d.ts +56 -0
  573. package/vscode-dts/vscode.proposed.codeActionRanges.d.ts +2 -4
  574. package/vscode-dts/{vscode.proposed.chat.d.ts → vscode.proposed.contribIssueReporter.d.ts} +2 -20
  575. package/vscode-dts/vscode.proposed.contribSourceControlHistoryItemGroupMenu.d.ts +2 -0
  576. package/vscode-dts/vscode.proposed.contribSourceControlTitleMenu.d.ts +7 -0
  577. package/vscode-dts/vscode.proposed.debugVisualization.d.ts +76 -6
  578. package/vscode-dts/vscode.proposed.defaultChatParticipant.d.ts +49 -0
  579. package/vscode-dts/vscode.proposed.findFiles2.d.ts +89 -0
  580. package/vscode-dts/vscode.proposed.inlineEdit.d.ts +86 -0
  581. package/vscode-dts/vscode.proposed.interactive.d.ts +6 -3
  582. package/vscode-dts/vscode.proposed.languageModels.d.ts +184 -0
  583. package/vscode-dts/vscode.proposed.newSymbolNamesProvider.d.ts +36 -0
  584. package/vscode-dts/vscode.proposed.notebookVariableProvider.d.ts +6 -0
  585. package/vscode-dts/vscode.proposed.quickPickSortByLabel.d.ts +3 -0
  586. package/vscode-dts/vscode.proposed.speech.d.ts +5 -1
  587. package/vscode-dts/vscode.proposed.testCoverage.d.ts +40 -27
  588. package/vscode/src/vs/platform/audioCues/browser/audioCueService.d.ts +0 -98
  589. package/vscode/src/vs/platform/audioCues/browser/audioCueService.js +0 -576
  590. package/vscode/src/vs/workbench/contrib/files/browser/explorerService.js +0 -430
  591. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.contribution.js +0 -784
  592. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands.js +0 -487
  593. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution.js +0 -521
  594. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +0 -348
  595. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/chat/cellChatActions.js +0 -554
  596. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/chat/cellChatController.js +0 -471
  597. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/featuredExtensionService.js +0 -159
  598. package/vscode-dts/vscode.proposed.chatAgents2.d.ts +0 -440
  599. package/vscode-dts/vscode.proposed.chatAgents2Additions.d.ts +0 -139
  600. package/vscode-dts/vscode.proposed.chatRequestAccess.d.ts +0 -105
  601. package/vscode-dts/vscode.proposed.defaultChatAgent.d.ts +0 -30
@@ -433,11 +433,11 @@ let ViewPaneContainer = class ViewPaneContainer extends Component {
433
433
  getActionsContext() {
434
434
  return undefined;
435
435
  }
436
- getActionViewItem(action) {
436
+ getActionViewItem(action, options) {
437
437
  if (this.isViewMergedWithContainer()) {
438
- return this.paneItems[0].pane.getActionViewItem(action);
438
+ return this.paneItems[0].pane.getActionViewItem(action, options);
439
439
  }
440
- return createActionViewItem(this.instantiationService, action);
440
+ return createActionViewItem(this.instantiationService, action, options);
441
441
  }
442
442
  focus() {
443
443
  let paneToFocus = undefined;
@@ -493,7 +493,7 @@ let ViewPaneContainer = class ViewPaneContainer extends Component {
493
493
  }
494
494
  addPanes(panes) {
495
495
  const wasMerged = this.isViewMergedWithContainer();
496
- for (const { pane: pane, size, index, disposable } of panes) {
496
+ for (const { pane, size, index, disposable } of panes) {
497
497
  this.addPane(pane, size, disposable, index);
498
498
  }
499
499
  this.updateViewHeaders();
@@ -39,12 +39,19 @@ class EditorViewState {
39
39
  };
40
40
  }
41
41
  }
42
- async restore() {
42
+ async restore(shouldCloseCurrEditor = false) {
43
43
  if (this._editorViewState) {
44
44
  const options = {
45
45
  viewState: this._editorViewState.state,
46
46
  preserveFocus: true
47
47
  };
48
+ if (shouldCloseCurrEditor) {
49
+ const activeEditorPane = this.editorService.activeEditorPane;
50
+ const currEditor = activeEditorPane?.input;
51
+ if (currEditor && currEditor !== this._editorViewState.editor && activeEditorPane?.group.isPinned(currEditor) !== true) {
52
+ await activeEditorPane.group.closeEditor(currEditor);
53
+ }
54
+ }
48
55
  await this._editorViewState.group.openEditor(this._editorViewState.editor, options);
49
56
  }
50
57
  }
@@ -1,13 +1,15 @@
1
1
  import { Registry } from '../../platform/registry/common/platform.js';
2
2
  import { localizeWithPath } from '../../nls.js';
3
- import { Extensions as Extensions$2 } from '../../platform/configuration/common/configurationRegistry.js';
4
- import { isMacintosh, isWeb, isNative, isWindows, isLinux } from '../../base/common/platform.js';
5
- import { DynamicWorkbenchConfigurationWorkbenchContribution, workbenchConfigurationNodeBase, problemsConfigurationNodeBase, Extensions as Extensions$1 } from '../common/configuration.js';
3
+ import { Extensions as Extensions$1 } from '../../platform/configuration/common/configurationRegistry.js';
4
+ import { isMacintosh, isWeb, isWindows, isLinux } from '../../base/common/platform.js';
5
+ import { ConfigurationMigrationWorkbenchContribution, DynamicWorkbenchSecurityConfiguration, workbenchConfigurationNodeBase, problemsConfigurationNodeBase, Extensions } from '../common/configuration.js';
6
6
  import { isStandalone } from '../../base/browser/browser.js';
7
- import { Extensions } from '../common/contributions.js';
8
- const registry = ( Registry.as(Extensions$2.Configuration));
7
+ import { registerWorkbenchContribution2 } from '../common/contributions.js';
8
+ import { defaultWindowTitle, defaultWindowTitleSeparator } from './parts/titlebar/windowTitle.js';
9
+ const registry = ( Registry.as(Extensions$1.Configuration));
9
10
  (function registerConfiguration() {
10
- ( Registry.as(Extensions.Workbench)).registerWorkbenchContribution(DynamicWorkbenchConfigurationWorkbenchContribution, 2 );
11
+ registerWorkbenchContribution2(ConfigurationMigrationWorkbenchContribution.ID, ConfigurationMigrationWorkbenchContribution, 4 );
12
+ registerWorkbenchContribution2(DynamicWorkbenchSecurityConfiguration.ID, DynamicWorkbenchSecurityConfiguration, 3 );
11
13
  registry.registerConfiguration({
12
14
  ...workbenchConfigurationNodeBase,
13
15
  'properties': {
@@ -1251,6 +1253,16 @@ const registry = ( Registry.as(Extensions$2.Configuration));
1251
1253
  'focusedView',
1252
1254
  "`${focusedView}`: the name of the view that is currently focused."
1253
1255
  )),
1256
+ ( localizeWithPath(
1257
+ 'vs/workbench/browser/workbench.contribution',
1258
+ 'activeRepositoryName',
1259
+ "`${activeRepositoryName}`: the name of the active repository (e.g. vscode)."
1260
+ )),
1261
+ ( localizeWithPath(
1262
+ 'vs/workbench/browser/workbench.contribution',
1263
+ 'activeRepositoryBranchName',
1264
+ "`${activeRepositoryBranchName}`: the name of the active branch in the active repository (e.g. main)."
1265
+ )),
1254
1266
  ( localizeWithPath(
1255
1267
  'vs/workbench/browser/workbench.contribution',
1256
1268
  'separator',
@@ -1269,21 +1281,12 @@ const registry = ( Registry.as(Extensions$2.Configuration));
1269
1281
  'properties': {
1270
1282
  'window.title': {
1271
1283
  'type': 'string',
1272
- 'default': (() => {
1273
- if (isMacintosh && isNative) {
1274
- return '${activeEditorShort}${separator}${rootName}${separator}${profileName}';
1275
- }
1276
- const base = '${dirty}${activeEditorShort}${separator}${rootName}${separator}${profileName}${separator}${appName}';
1277
- if (isWeb) {
1278
- return base + '${separator}${remoteName}';
1279
- }
1280
- return base;
1281
- })(),
1284
+ 'default': defaultWindowTitle,
1282
1285
  'markdownDescription': windowTitleDescription
1283
1286
  },
1284
1287
  'window.titleSeparator': {
1285
1288
  'type': 'string',
1286
- 'default': isMacintosh ? ' \u2014 ' : ' - ',
1289
+ 'default': defaultWindowTitleSeparator,
1287
1290
  'markdownDescription': ( localizeWithPath(
1288
1291
  'vs/workbench/browser/workbench.contribution',
1289
1292
  "window.titleSeparator",
@@ -1517,7 +1520,6 @@ const registry = ( Registry.as(Extensions$2.Configuration));
1517
1520
  'problems.visibility': {
1518
1521
  'type': 'boolean',
1519
1522
  'default': true,
1520
- 'tags': ['experimental'],
1521
1523
  'description': ( localizeWithPath(
1522
1524
  'vs/workbench/browser/workbench.contribution',
1523
1525
  'problems.visibility',
@@ -1629,7 +1631,7 @@ const registry = ( Registry.as(Extensions$2.Configuration));
1629
1631
  }
1630
1632
  });
1631
1633
  })();
1632
- ( Registry.as(Extensions$1.ConfigurationMigration))
1634
+ ( Registry.as(Extensions.ConfigurationMigration))
1633
1635
  .registerConfigurationMigrations([{
1634
1636
  key: 'workbench.activityBar.visible', migrateFn: (value) => {
1635
1637
  const result = [];
@@ -1642,7 +1644,7 @@ const registry = ( Registry.as(Extensions$2.Configuration));
1642
1644
  return result;
1643
1645
  }
1644
1646
  }]);
1645
- ( Registry.as(Extensions$1.ConfigurationMigration))
1647
+ ( Registry.as(Extensions.ConfigurationMigration))
1646
1648
  .registerConfigurationMigrations([{
1647
1649
  key: 'workbench.editor.doubleClickTabToToggleEditorGroupSizes', migrateFn: (value) => {
1648
1650
  const results = [];
@@ -2,10 +2,14 @@ import { __decorate, __param } from '../../../../../external/tslib/tslib.es6.js'
2
2
  import { localizeWithPath } from '../../nls.js';
3
3
  import { Extensions as Extensions$1 } from '../../platform/configuration/common/configurationRegistry.js';
4
4
  import { Registry } from '../../platform/registry/common/platform.js';
5
+ import { IWorkspaceContextService } from '../../platform/workspace/common/workspace.js';
6
+ import { IConfigurationService } from '../../platform/configuration/common/configuration.js';
5
7
  import { Disposable } from '../../base/common/lifecycle.js';
6
8
  import { Emitter } from '../../base/common/event.js';
7
9
  import { IRemoteAgentService } from '../services/remote/common/remoteAgentService.js';
8
10
  import { isWindows } from '../../base/common/platform.js';
11
+ import { equals } from '../../base/common/objects.js';
12
+ import { DeferredPromise } from '../../base/common/async.js';
9
13
  const applicationConfigurationNodeBase = ( Object.freeze({
10
14
  'id': 'application',
11
15
  'order': 100,
@@ -62,55 +66,154 @@ class ConfigurationMigrationRegistry {
62
66
  }
63
67
  const configurationMigrationRegistry = ( new ConfigurationMigrationRegistry());
64
68
  Registry.add(Extensions.ConfigurationMigration, configurationMigrationRegistry);
65
- let DynamicWorkbenchConfigurationWorkbenchContribution = class DynamicWorkbenchConfigurationWorkbenchContribution extends Disposable {
66
- constructor(remoteAgentService) {
69
+ let ConfigurationMigrationWorkbenchContribution = class ConfigurationMigrationWorkbenchContribution extends Disposable {
70
+ static { this.ID = 'workbench.contrib.configurationMigration'; }
71
+ constructor(configurationService, workspaceService) {
67
72
  super();
68
- (async () => {
69
- if (!isWindows) {
70
- const remoteEnvironment = await remoteAgentService.getEnvironment();
71
- if (remoteEnvironment?.os !== 1 ) {
72
- return;
73
+ this.configurationService = configurationService;
74
+ this.workspaceService = workspaceService;
75
+ this._register(this.workspaceService.onDidChangeWorkspaceFolders(async (e) => {
76
+ for (const folder of e.added) {
77
+ await this.migrateConfigurationsForFolder(folder, configurationMigrationRegistry.migrations);
78
+ }
79
+ }));
80
+ this.migrateConfigurations(configurationMigrationRegistry.migrations);
81
+ this._register(configurationMigrationRegistry.onDidRegisterConfigurationMigration(migration => this.migrateConfigurations(migration)));
82
+ }
83
+ async migrateConfigurations(migrations) {
84
+ await this.migrateConfigurationsForFolder(undefined, migrations);
85
+ for (const folder of this.workspaceService.getWorkspace().folders) {
86
+ await this.migrateConfigurationsForFolder(folder, migrations);
87
+ }
88
+ }
89
+ async migrateConfigurationsForFolder(folder, migrations) {
90
+ await Promise.all([( migrations.map(
91
+ migration => this.migrateConfigurationsForFolderAndOverride(migration, folder?.uri)
92
+ ))]);
93
+ }
94
+ async migrateConfigurationsForFolderAndOverride(migration, resource) {
95
+ const inspectData = this.configurationService.inspect(migration.key, { resource });
96
+ const targetPairs = this.workspaceService.getWorkbenchState() === 3 ? [
97
+ ['user', 2 ],
98
+ ['userLocal', 3 ],
99
+ ['userRemote', 4 ],
100
+ ['workspace', 5 ],
101
+ ['workspaceFolder', 6 ],
102
+ ] : [
103
+ ['user', 2 ],
104
+ ['userLocal', 3 ],
105
+ ['userRemote', 4 ],
106
+ ['workspace', 5 ],
107
+ ];
108
+ for (const [dataKey, target] of targetPairs) {
109
+ const inspectValue = inspectData[dataKey];
110
+ if (!inspectValue) {
111
+ continue;
112
+ }
113
+ const migrationValues = [];
114
+ if (inspectValue.value !== undefined) {
115
+ const keyValuePairs = await this.runMigration(migration, dataKey, inspectValue.value, resource, undefined);
116
+ for (const keyValuePair of keyValuePairs ?? []) {
117
+ migrationValues.push([keyValuePair, []]);
73
118
  }
74
119
  }
75
- const registry = ( Registry.as(Extensions$1.Configuration));
76
- registry.registerConfiguration({
77
- ...securityConfigurationNodeBase,
78
- 'properties': {
79
- 'security.allowedUNCHosts': {
80
- 'type': 'array',
81
- 'items': {
82
- 'type': 'string',
83
- 'pattern': '^[^\\\\]+$',
84
- 'patternErrorMessage': ( localizeWithPath(
85
- 'vs/workbench/common/configuration',
86
- 'security.allowedUNCHosts.patternErrorMessage',
87
- 'UNC host names must not contain backslashes.'
88
- ))
89
- },
90
- 'default': [],
91
- 'markdownDescription': ( localizeWithPath(
120
+ for (const { identifiers, value } of inspectValue.overrides ?? []) {
121
+ if (value !== undefined) {
122
+ const keyValuePairs = await this.runMigration(migration, dataKey, value, resource, identifiers);
123
+ for (const keyValuePair of keyValuePairs ?? []) {
124
+ migrationValues.push([keyValuePair, identifiers]);
125
+ }
126
+ }
127
+ }
128
+ if (migrationValues.length) {
129
+ await Promise.allSettled(( migrationValues.map(
130
+ async ([[key, value], overrideIdentifiers]) => this.configurationService.updateValue(key, value.value, { resource, overrideIdentifiers }, target)
131
+ )));
132
+ }
133
+ }
134
+ }
135
+ async runMigration(migration, dataKey, value, resource, overrideIdentifiers) {
136
+ const valueAccessor = (key) => {
137
+ const inspectData = this.configurationService.inspect(key, { resource });
138
+ const inspectValue = inspectData[dataKey];
139
+ if (!inspectValue) {
140
+ return undefined;
141
+ }
142
+ if (!overrideIdentifiers) {
143
+ return inspectValue.value;
144
+ }
145
+ return inspectValue.overrides?.find(({ identifiers }) => equals(identifiers, overrideIdentifiers))?.value;
146
+ };
147
+ const result = await migration.migrateFn(value, valueAccessor);
148
+ return Array.isArray(result) ? result : [[migration.key, result]];
149
+ }
150
+ };
151
+ ConfigurationMigrationWorkbenchContribution = ( __decorate([
152
+ ( __param(0, IConfigurationService)),
153
+ ( __param(1, IWorkspaceContextService))
154
+ ], ConfigurationMigrationWorkbenchContribution));
155
+ let DynamicWorkbenchSecurityConfiguration = class DynamicWorkbenchSecurityConfiguration extends Disposable {
156
+ static { this.ID = 'workbench.contrib.dynamicWorkbenchSecurityConfiguration'; }
157
+ constructor(remoteAgentService) {
158
+ super();
159
+ this.remoteAgentService = remoteAgentService;
160
+ this._ready = ( new DeferredPromise());
161
+ this.ready = this._ready.p;
162
+ this.create();
163
+ }
164
+ async create() {
165
+ try {
166
+ await this.doCreate();
167
+ }
168
+ finally {
169
+ this._ready.complete();
170
+ }
171
+ }
172
+ async doCreate() {
173
+ if (!isWindows) {
174
+ const remoteEnvironment = await this.remoteAgentService.getEnvironment();
175
+ if (remoteEnvironment?.os !== 1 ) {
176
+ return;
177
+ }
178
+ }
179
+ const registry = ( Registry.as(Extensions$1.Configuration));
180
+ registry.registerConfiguration({
181
+ ...securityConfigurationNodeBase,
182
+ 'properties': {
183
+ 'security.allowedUNCHosts': {
184
+ 'type': 'array',
185
+ 'items': {
186
+ 'type': 'string',
187
+ 'pattern': '^[^\\\\]+$',
188
+ 'patternErrorMessage': ( localizeWithPath(
92
189
  'vs/workbench/common/configuration',
93
- 'security.allowedUNCHosts',
94
- 'A set of UNC host names (without leading or trailing backslash, for example `192.168.0.1` or `my-server`) to allow without user confirmation. If a UNC host is being accessed that is not allowed via this setting or has not been acknowledged via user confirmation, an error will occur and the operation stopped. A restart is required when changing this setting. Find out more about this setting at https://aka.ms/vscode-windows-unc.'
95
- )),
96
- 'scope': 2
190
+ 'security.allowedUNCHosts.patternErrorMessage',
191
+ 'UNC host names must not contain backslashes.'
192
+ ))
97
193
  },
98
- 'security.restrictUNCAccess': {
99
- 'type': 'boolean',
100
- 'default': true,
101
- 'markdownDescription': ( localizeWithPath(
102
- 'vs/workbench/common/configuration',
103
- 'security.restrictUNCAccess',
104
- 'If enabled, only allows access to UNC host names that are allowed by the `#security.allowedUNCHosts#` setting or after user confirmation. Find out more about this setting at https://aka.ms/vscode-windows-unc.'
105
- )),
106
- 'scope': 2
107
- }
194
+ 'default': [],
195
+ 'markdownDescription': ( localizeWithPath(
196
+ 'vs/workbench/common/configuration',
197
+ 'security.allowedUNCHosts',
198
+ 'A set of UNC host names (without leading or trailing backslash, for example `192.168.0.1` or `my-server`) to allow without user confirmation. If a UNC host is being accessed that is not allowed via this setting or has not been acknowledged via user confirmation, an error will occur and the operation stopped. A restart is required when changing this setting. Find out more about this setting at https://aka.ms/vscode-windows-unc.'
199
+ )),
200
+ 'scope': 2
201
+ },
202
+ 'security.restrictUNCAccess': {
203
+ 'type': 'boolean',
204
+ 'default': true,
205
+ 'markdownDescription': ( localizeWithPath(
206
+ 'vs/workbench/common/configuration',
207
+ 'security.restrictUNCAccess',
208
+ 'If enabled, only allows access to UNC host names that are allowed by the `#security.allowedUNCHosts#` setting or after user confirmation. Find out more about this setting at https://aka.ms/vscode-windows-unc.'
209
+ )),
210
+ 'scope': 2
108
211
  }
109
- });
110
- })();
212
+ }
213
+ });
111
214
  }
112
215
  };
113
- DynamicWorkbenchConfigurationWorkbenchContribution = ( __decorate([
216
+ DynamicWorkbenchSecurityConfiguration = ( __decorate([
114
217
  ( __param(0, IRemoteAgentService))
115
- ], DynamicWorkbenchConfigurationWorkbenchContribution));
116
- export { DynamicWorkbenchConfigurationWorkbenchContribution, Extensions, applicationConfigurationNodeBase, problemsConfigurationNodeBase, securityConfigurationNodeBase, workbenchConfigurationNodeBase };
218
+ ], DynamicWorkbenchSecurityConfiguration));
219
+ export { ConfigurationMigrationWorkbenchContribution, DynamicWorkbenchSecurityConfiguration, Extensions, applicationConfigurationNodeBase, problemsConfigurationNodeBase, securityConfigurationNodeBase, workbenchConfigurationNodeBase };
@@ -185,10 +185,10 @@ const InEditorZenModeContext = ( new RawContextKey('inZenMode', false, ( localiz
185
185
  'inZenMode',
186
186
  "Whether Zen mode is enabled"
187
187
  ))));
188
- const IsCenteredLayoutContext = ( new RawContextKey('isCenteredLayout', false, ( localizeWithPath(
188
+ const IsMainEditorCenteredLayoutContext = ( new RawContextKey('isCenteredLayout', false, ( localizeWithPath(
189
189
  'vs/workbench/common/contextkeys',
190
- 'isCenteredLayout',
191
- "Whether centered layout is enabled"
190
+ 'isMainEditorCenteredLayout',
191
+ "Whether centered layout is enabled for the main editor"
192
192
  ))));
193
193
  const SplitEditorsVertically = ( new RawContextKey('splitEditorsVertically', false, ( localizeWithPath(
194
194
  'vs/workbench/common/contextkeys',
@@ -473,4 +473,4 @@ function applyAvailableEditorIds(contextKey, editor, editorResolverService) {
473
473
  contextKey.set(editors.join(','));
474
474
  }
475
475
  }
476
- export { ActiveAuxiliaryContext, ActiveCompareEditorOriginalWriteableContext, ActiveEditorAvailableEditorIdsContext, ActiveEditorCanRevertContext, ActiveEditorCanSplitInGroupContext, ActiveEditorCanToggleReadonlyContext, ActiveEditorContext, ActiveEditorDirtyContext, ActiveEditorFirstInGroupContext, ActiveEditorGroupEmptyContext, ActiveEditorGroupIndexContext, ActiveEditorGroupLastContext, ActiveEditorGroupLockedContext, ActiveEditorLastInGroupContext, ActiveEditorPinnedContext, ActiveEditorReadonlyContext, ActiveEditorStickyContext, ActivePanelContext, ActiveViewletContext, AuxiliaryBarFocusContext, AuxiliaryBarVisibleContext, BannerFocused, DirtyWorkingCopiesContext, EditorGroupEditorsCountContext, EditorPartMaximizedEditorGroupContext, EditorPartMultipleEditorGroupsContext, EditorTabsVisibleContext, EditorsVisibleContext, EmbedderIdentifierContext, EmptyWorkspaceSupportContext, EnterMultiRootWorkspaceSupportContext, FocusedViewContext, HasWebFileSystemAccess, InEditorZenModeContext, IsAuxiliaryEditorPartContext, IsAuxiliaryWindowFocusedContext, IsCenteredLayoutContext, IsMainWindowFullscreenContext, MainEditorAreaVisibleContext, MultipleEditorGroupsContext, NotificationFocusedContext, NotificationsCenterVisibleContext, NotificationsToastsVisibleContext, OpenFolderWorkspaceSupportContext, PanelAlignmentContext, PanelFocusContext, PanelMaximizedContext, PanelPositionContext, PanelVisibleContext, RemoteNameContext, ResourceContextKey, SideBarVisibleContext, SideBySideEditorActiveContext, SidebarFocusContext, SplitEditorsVertically, StatusBarFocused, TemporaryWorkspaceContext, TextCompareEditorActiveContext, TextCompareEditorVisibleContext, TitleBarStyleContext, TitleBarVisibleContext, VirtualWorkspaceContext, WorkbenchStateContext, WorkspaceFolderCountContext, applyAvailableEditorIds, getVisbileViewContextKey };
476
+ export { ActiveAuxiliaryContext, ActiveCompareEditorOriginalWriteableContext, ActiveEditorAvailableEditorIdsContext, ActiveEditorCanRevertContext, ActiveEditorCanSplitInGroupContext, ActiveEditorCanToggleReadonlyContext, ActiveEditorContext, ActiveEditorDirtyContext, ActiveEditorFirstInGroupContext, ActiveEditorGroupEmptyContext, ActiveEditorGroupIndexContext, ActiveEditorGroupLastContext, ActiveEditorGroupLockedContext, ActiveEditorLastInGroupContext, ActiveEditorPinnedContext, ActiveEditorReadonlyContext, ActiveEditorStickyContext, ActivePanelContext, ActiveViewletContext, AuxiliaryBarFocusContext, AuxiliaryBarVisibleContext, BannerFocused, DirtyWorkingCopiesContext, EditorGroupEditorsCountContext, EditorPartMaximizedEditorGroupContext, EditorPartMultipleEditorGroupsContext, EditorTabsVisibleContext, EditorsVisibleContext, EmbedderIdentifierContext, EmptyWorkspaceSupportContext, EnterMultiRootWorkspaceSupportContext, FocusedViewContext, HasWebFileSystemAccess, InEditorZenModeContext, IsAuxiliaryEditorPartContext, IsAuxiliaryWindowFocusedContext, IsMainEditorCenteredLayoutContext, IsMainWindowFullscreenContext, MainEditorAreaVisibleContext, MultipleEditorGroupsContext, NotificationFocusedContext, NotificationsCenterVisibleContext, NotificationsToastsVisibleContext, OpenFolderWorkspaceSupportContext, PanelAlignmentContext, PanelFocusContext, PanelMaximizedContext, PanelPositionContext, PanelVisibleContext, RemoteNameContext, ResourceContextKey, SideBarVisibleContext, SideBySideEditorActiveContext, SidebarFocusContext, SplitEditorsVertically, StatusBarFocused, TemporaryWorkspaceContext, TextCompareEditorActiveContext, TextCompareEditorVisibleContext, TitleBarStyleContext, TitleBarVisibleContext, VirtualWorkspaceContext, WorkbenchStateContext, WorkspaceFolderCountContext, applyAvailableEditorIds, getVisbileViewContextKey };
@@ -3,5 +3,48 @@
3
3
  */
4
4
  interface IWorkbenchContribution {
5
5
  }
6
+ declare const enum WorkbenchPhase {
7
+ /**
8
+ * The first phase signals that we are about to startup getting ready.
9
+ *
10
+ * Note: doing work in this phase blocks an editor from showing to
11
+ * the user, so please rather consider to use the other types, preferable
12
+ * `Lazy` to only instantiate the contribution when really needed.
13
+ */
14
+ BlockStartup = 1,
15
+ /**
16
+ * Services are ready and the window is about to restore its UI state.
17
+ *
18
+ * Note: doing work in this phase blocks an editor from showing to
19
+ * the user, so please rather consider to use the other types, preferable
20
+ * `Lazy` to only instantiate the contribution when really needed.
21
+ */
22
+ BlockRestore = 2,
23
+ /**
24
+ * Views, panels and editors have restored. Editors are given a bit of
25
+ * time to restore their contents.
26
+ */
27
+ AfterRestored = 3,
28
+ /**
29
+ * The last phase after views, panels and editors have restored and
30
+ * some time has passed (2-5 seconds).
31
+ */
32
+ Eventually = 4
33
+ }
34
+ /**
35
+ * A workbenchch contribution that will only be instantiated
36
+ * when calling `getWorkbenchContribution`.
37
+ */
38
+ interface ILazyWorkbenchContributionInstantiation {
39
+ readonly lazy: true;
40
+ }
41
+ /**
42
+ * A workbench contribution that will be instantiated when the
43
+ * corresponding editor is being created.
44
+ */
45
+ interface IOnEditorWorkbenchContributionInstantiation {
46
+ readonly editorTypeId: string;
47
+ }
48
+ type WorkbenchContributionInstantiation = WorkbenchPhase | ILazyWorkbenchContributionInstantiation | IOnEditorWorkbenchContributionInstantiation;
6
49
 
7
- export type { IWorkbenchContribution };
50
+ export { type ILazyWorkbenchContributionInstantiation, type IOnEditorWorkbenchContributionInstantiation, type IWorkbenchContribution, type WorkbenchContributionInstantiation, WorkbenchPhase };
@@ -5,37 +5,135 @@ import { DeferredPromise, runWhenGlobalIdle } from '../../base/common/async.js';
5
5
  import { mark } from '../../base/common/performance.js';
6
6
  import { ILogService } from '../../platform/log/common/log.js';
7
7
  import { IEnvironmentService } from '../../platform/environment/common/environment.js';
8
+ import { getOrSet } from '../../base/common/map.js';
9
+ import { Disposable } from '../../base/common/lifecycle.js';
10
+ import { IEditorPaneService } from '../services/editor/common/editorPaneService.js';
8
11
  var Extensions;
9
12
  ( (function(Extensions) {
10
13
  Extensions.Workbench = 'workbench.contributions.kind';
11
14
  })(Extensions || (Extensions = {})));
12
- class WorkbenchContributionsRegistry {
15
+ var WorkbenchPhase;
16
+ ( (function(WorkbenchPhase) {
17
+ WorkbenchPhase[WorkbenchPhase["BlockStartup"] = 1] = "BlockStartup";
18
+ WorkbenchPhase[WorkbenchPhase["BlockRestore"] = 2] = "BlockRestore";
19
+ WorkbenchPhase[WorkbenchPhase["AfterRestored"] = 3] = "AfterRestored";
20
+ WorkbenchPhase[WorkbenchPhase["Eventually"] = 4] = "Eventually";
21
+ })(WorkbenchPhase || (WorkbenchPhase = {})));
22
+ function isOnEditorWorkbenchContributionInstantiation(obj) {
23
+ const candidate = obj;
24
+ return !!candidate && typeof candidate.editorTypeId === 'string';
25
+ }
26
+ function toWorkbenchPhase(phase) {
27
+ switch (phase) {
28
+ case 3 :
29
+ return 3 ;
30
+ case 4 :
31
+ return 4 ;
32
+ }
33
+ }
34
+ function toLifecyclePhase(instantiation) {
35
+ switch (instantiation) {
36
+ case 1 :
37
+ return 1 ;
38
+ case 2 :
39
+ return 2 ;
40
+ case 3 :
41
+ return 3 ;
42
+ case 4 :
43
+ return 4 ;
44
+ }
45
+ }
46
+ class WorkbenchContributionsRegistry extends Disposable {
13
47
  constructor() {
14
- this.contributions = ( new Map());
48
+ super(...arguments);
49
+ this.contributionsByPhase = ( new Map());
50
+ this.contributionsByEditor = ( new Map());
51
+ this.contributionsById = ( new Map());
52
+ this.instancesById = ( new Map());
53
+ this.timingsByPhase = ( new Map());
15
54
  this.pendingRestoredContributions = ( new DeferredPromise());
16
55
  this.whenRestored = this.pendingRestoredContributions.p;
17
56
  }
18
- registerWorkbenchContribution(contribution, phase = 1 ) {
19
- if (this.instantiationService && this.lifecycleService && this.logService && this.environmentService && this.lifecycleService.phase >= phase) {
20
- this.safeCreateContribution(this.instantiationService, this.logService, this.environmentService, contribution, phase);
57
+ static { this.INSTANCE = ( new WorkbenchContributionsRegistry()); }
58
+ static { this.BLOCK_BEFORE_RESTORE_WARN_THRESHOLD = 20; }
59
+ static { this.BLOCK_AFTER_RESTORE_WARN_THRESHOLD = 100; }
60
+ get timings() { return this.timingsByPhase; }
61
+ registerWorkbenchContribution2(id, ctor, instantiation) {
62
+ const contribution = { id, ctor };
63
+ if (this.instantiationService && this.lifecycleService && this.logService && this.environmentService && this.editorPaneService &&
64
+ ((typeof instantiation === 'number' && this.lifecycleService.phase >= instantiation) ||
65
+ (typeof id === 'string' && isOnEditorWorkbenchContributionInstantiation(instantiation) && this.editorPaneService.didInstantiateEditorPane(instantiation.editorTypeId)))) {
66
+ this.safeCreateContribution(this.instantiationService, this.logService, this.environmentService, contribution, typeof instantiation === 'number' ? toLifecyclePhase(instantiation) : this.lifecycleService.phase);
21
67
  }
22
68
  else {
23
- let contributions = this.contributions.get(phase);
24
- if (!contributions) {
25
- contributions = [];
26
- this.contributions.set(phase, contributions);
69
+ if (typeof instantiation === 'number') {
70
+ getOrSet(this.contributionsByPhase, toLifecyclePhase(instantiation), []).push(contribution);
71
+ }
72
+ if (typeof id === 'string') {
73
+ if (!( this.contributionsById.has(id))) {
74
+ this.contributionsById.set(id, contribution);
75
+ }
76
+ else {
77
+ console.error(`IWorkbenchContributionsRegistry#registerWorkbenchContribution(): Can't register multiple contributions with same id '${id}'`);
78
+ }
79
+ if (isOnEditorWorkbenchContributionInstantiation(instantiation)) {
80
+ getOrSet(this.contributionsByEditor, instantiation.editorTypeId, []).push(contribution);
81
+ }
27
82
  }
28
- contributions.push(contribution);
29
83
  }
30
84
  }
85
+ registerWorkbenchContribution(ctor, phase) {
86
+ this.registerWorkbenchContribution2(undefined, ctor, toWorkbenchPhase(phase));
87
+ }
88
+ getWorkbenchContribution(id) {
89
+ if (( this.instancesById.has(id))) {
90
+ return this.instancesById.get(id);
91
+ }
92
+ const instantiationService = this.instantiationService;
93
+ const lifecycleService = this.lifecycleService;
94
+ const logService = this.logService;
95
+ const environmentService = this.environmentService;
96
+ if (!instantiationService || !lifecycleService || !logService || !environmentService) {
97
+ throw new Error(`IWorkbenchContributionsRegistry#getContribution('${id}'): cannot be called before registry started`);
98
+ }
99
+ const contribution = this.contributionsById.get(id);
100
+ if (!contribution) {
101
+ throw new Error(`IWorkbenchContributionsRegistry#getContribution('${id}'): contribution with that identifier is unknown.`);
102
+ }
103
+ if (lifecycleService.phase < 3 ) {
104
+ logService.warn(`IWorkbenchContributionsRegistry#getContribution('${id}'): contribution instantiated before LifecyclePhase.Restored!`);
105
+ }
106
+ this.safeCreateContribution(instantiationService, logService, environmentService, contribution, lifecycleService.phase);
107
+ const instance = this.instancesById.get(id);
108
+ if (!instance) {
109
+ throw new Error(`IWorkbenchContributionsRegistry#getContribution('${id}'): failed to create contribution.`);
110
+ }
111
+ return instance;
112
+ }
31
113
  start(accessor) {
32
114
  const instantiationService = this.instantiationService = accessor.get(IInstantiationService);
33
115
  const lifecycleService = this.lifecycleService = accessor.get(ILifecycleService);
34
116
  const logService = this.logService = accessor.get(ILogService);
35
117
  const environmentService = this.environmentService = accessor.get(IEnvironmentService);
118
+ const editorPaneService = this.editorPaneService = accessor.get(IEditorPaneService);
36
119
  for (const phase of [1 , 2 , 3 , 4 ]) {
37
120
  this.instantiateByPhase(instantiationService, lifecycleService, logService, environmentService, phase);
38
121
  }
122
+ for (const editorTypeId of ( this.contributionsByEditor.keys())) {
123
+ if (editorPaneService.didInstantiateEditorPane(editorTypeId)) {
124
+ this.onEditor(editorTypeId, instantiationService, lifecycleService, logService, environmentService);
125
+ }
126
+ }
127
+ this._register(editorPaneService.onWillInstantiateEditorPane(e => this.onEditor(e.typeId, instantiationService, lifecycleService, logService, environmentService)));
128
+ }
129
+ onEditor(editorTypeId, instantiationService, lifecycleService, logService, environmentService) {
130
+ const contributions = this.contributionsByEditor.get(editorTypeId);
131
+ if (contributions) {
132
+ this.contributionsByEditor.delete(editorTypeId);
133
+ for (const contribution of contributions) {
134
+ this.safeCreateContribution(instantiationService, logService, environmentService, contribution, lifecycleService.phase);
135
+ }
136
+ }
39
137
  }
40
138
  instantiateByPhase(instantiationService, lifecycleService, logService, environmentService, phase) {
41
139
  if (lifecycleService.phase >= phase) {
@@ -46,9 +144,9 @@ class WorkbenchContributionsRegistry {
46
144
  }
47
145
  }
48
146
  async doInstantiateByPhase(instantiationService, logService, environmentService, phase) {
49
- const contributions = this.contributions.get(phase);
147
+ const contributions = this.contributionsByPhase.get(phase);
50
148
  if (contributions) {
51
- this.contributions.delete(phase);
149
+ this.contributionsByPhase.delete(phase);
52
150
  switch (phase) {
53
151
  case 1 :
54
152
  case 2 : {
@@ -93,20 +191,45 @@ class WorkbenchContributionsRegistry {
93
191
  runWhenGlobalIdle(instantiateSome, forcedTimeout);
94
192
  }
95
193
  safeCreateContribution(instantiationService, logService, environmentService, contribution, phase) {
96
- const now = phase < 3 ? Date.now() : undefined;
194
+ if (typeof contribution.id === 'string' && ( this.instancesById.has(contribution.id))) {
195
+ return;
196
+ }
197
+ const now = Date.now();
97
198
  try {
98
- instantiationService.createInstance(contribution);
199
+ if (typeof contribution.id === 'string') {
200
+ mark(`code/willCreateWorkbenchContribution/${phase}/${contribution.id}`);
201
+ }
202
+ const instance = instantiationService.createInstance(contribution.ctor);
203
+ if (typeof contribution.id === 'string') {
204
+ this.instancesById.set(contribution.id, instance);
205
+ this.contributionsById.delete(contribution.id);
206
+ }
99
207
  }
100
208
  catch (error) {
101
- logService.error(`Unable to create workbench contribution ${contribution.name}.`, error);
209
+ logService.error(`Unable to create workbench contribution '${contribution.id ?? contribution.ctor.name}'.`, error);
102
210
  }
103
- if (typeof now === 'number' && !environmentService.isBuilt ) {
211
+ finally {
212
+ if (typeof contribution.id === 'string') {
213
+ mark(`code/didCreateWorkbenchContribution/${phase}/${contribution.id}`);
214
+ }
215
+ }
216
+ if (typeof contribution.id === 'string' || !environmentService.isBuilt ) {
104
217
  const time = Date.now() - now;
105
- if (time > 20) {
106
- logService.warn(`Workbench contribution ${contribution.name} blocked restore phase by ${time}ms.`);
218
+ if (time > (phase < 3 ? WorkbenchContributionsRegistry.BLOCK_BEFORE_RESTORE_WARN_THRESHOLD : WorkbenchContributionsRegistry.BLOCK_AFTER_RESTORE_WARN_THRESHOLD)) {
219
+ logService.warn(`Creation of workbench contribution '${contribution.id ?? contribution.ctor.name}' took ${time}ms.`);
220
+ }
221
+ if (typeof contribution.id === 'string') {
222
+ let timingsForPhase = this.timingsByPhase.get(phase);
223
+ if (!timingsForPhase) {
224
+ timingsForPhase = [];
225
+ this.timingsByPhase.set(phase, timingsForPhase);
226
+ }
227
+ timingsForPhase.push([contribution.id, time]);
107
228
  }
108
229
  }
109
230
  }
110
231
  }
111
- Registry.add(Extensions.Workbench, ( new WorkbenchContributionsRegistry()));
112
- export { Extensions };
232
+ const registerWorkbenchContribution2 = WorkbenchContributionsRegistry.INSTANCE.registerWorkbenchContribution2.bind(WorkbenchContributionsRegistry.INSTANCE);
233
+ const getWorkbenchContribution = WorkbenchContributionsRegistry.INSTANCE.getWorkbenchContribution.bind(WorkbenchContributionsRegistry.INSTANCE);
234
+ Registry.add(Extensions.Workbench, WorkbenchContributionsRegistry.INSTANCE);
235
+ export { Extensions, WorkbenchContributionsRegistry, WorkbenchPhase, getWorkbenchContribution, registerWorkbenchContribution2 };