@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
@@ -0,0 +1,703 @@
1
+ import './media/actions.css.js';
2
+ import { localizeWithPath, localize2WithPath } from '../../../nls.js';
3
+ import { IKeybindingService } from '../../../platform/keybinding/common/keybinding.js';
4
+ import { DomEmitter } from '../../../base/browser/event.js';
5
+ import { Color } from '../../../base/common/color.js';
6
+ import { Event, Emitter } from '../../../base/common/event.js';
7
+ import { DisposableStore, toDisposable, dispose, DisposableTracker, setDisposableTracker } from '../../../base/common/lifecycle.js';
8
+ import { createStyleSheet, createCSSRule, getActiveDocument, getDomNodePagePosition, append, $, getWindows, onDidRegisterWindow } from '../../../base/browser/dom.js';
9
+ import { IConfigurationService } from '../../../platform/configuration/common/configuration.js';
10
+ import { IContextKeyService, ContextKeyExpr, RawContextKey } from '../../../platform/contextkey/common/contextkey.js';
11
+ import { StandardKeyboardEvent } from '../../../base/browser/keyboardEvent.js';
12
+ import { RunOnceScheduler } from '../../../base/common/async.js';
13
+ import { ILayoutService } from '../../../platform/layout/browser/layoutService.js';
14
+ import { Registry } from '../../../platform/registry/common/platform.js';
15
+ import { registerAction2, Action2, MenuRegistry } from '../../../platform/actions/common/actions.js';
16
+ import { IStorageService } from '../../../platform/storage/common/storage.js';
17
+ import { clamp } from '../../../base/common/numbers.js';
18
+ import { Extensions } from '../../../platform/configuration/common/configurationRegistry.js';
19
+ import { ILogService } from '../../../platform/log/common/log.js';
20
+ import { IWorkingCopyService } from '../../services/workingCopy/common/workingCopyService.js';
21
+ import { Categories } from '../../../platform/action/common/actionCommonCategories.js';
22
+ import { IWorkingCopyBackupService } from '../../services/workingCopy/common/workingCopyBackup.js';
23
+ import '../../../../../../override/vs/platform/dialogs/common/dialogs.js';
24
+ import { IOutputService } from '../../services/output/common/output.js';
25
+ import { windowLogId } from '../../services/log/common/logConstants.js';
26
+ import { ByteSize } from '../../../platform/files/common/files.js';
27
+ import { IQuickInputService } from '../../../platform/quickinput/common/quickInput.js';
28
+ import { IUserDataProfileService } from '../../services/userDataProfile/common/userDataProfile.js';
29
+ import { IEditorService } from '../../services/editor/common/editorService.js';
30
+ import product from '../../../platform/product/common/product.js';
31
+ import { CommandsRegistry } from '../../../platform/commands/common/commands.js';
32
+ import { IEnvironmentService } from '../../../platform/environment/common/environment.js';
33
+ import { IDialogService } from '../../../platform/dialogs/common/dialogs.js';
34
+ class InspectContextKeysAction extends Action2 {
35
+ constructor() {
36
+ super({
37
+ id: 'workbench.action.inspectContextKeys',
38
+ title: ( localize2WithPath(
39
+ 'vs/workbench/browser/actions/developerActions',
40
+ 'inspect context keys',
41
+ 'Inspect Context Keys'
42
+ )),
43
+ category: Categories.Developer,
44
+ f1: true
45
+ });
46
+ }
47
+ run(accessor) {
48
+ const contextKeyService = accessor.get(IContextKeyService);
49
+ const disposables = ( new DisposableStore());
50
+ const stylesheet = createStyleSheet(undefined, undefined, disposables);
51
+ createCSSRule('*', 'cursor: crosshair !important;', stylesheet);
52
+ const hoverFeedback = document.createElement('div');
53
+ const activeDocument = getActiveDocument();
54
+ activeDocument.body.appendChild(hoverFeedback);
55
+ disposables.add(toDisposable(() => activeDocument.body.removeChild(hoverFeedback)));
56
+ hoverFeedback.style.position = 'absolute';
57
+ hoverFeedback.style.pointerEvents = 'none';
58
+ hoverFeedback.style.backgroundColor = 'rgba(255, 0, 0, 0.5)';
59
+ hoverFeedback.style.zIndex = '1000';
60
+ const onMouseMove = disposables.add(( new DomEmitter(activeDocument, 'mousemove', true)));
61
+ disposables.add(onMouseMove.event(e => {
62
+ const target = e.target;
63
+ const position = getDomNodePagePosition(target);
64
+ hoverFeedback.style.top = `${position.top}px`;
65
+ hoverFeedback.style.left = `${position.left}px`;
66
+ hoverFeedback.style.width = `${position.width}px`;
67
+ hoverFeedback.style.height = `${position.height}px`;
68
+ }));
69
+ const onMouseDown = disposables.add(( new DomEmitter(activeDocument, 'mousedown', true)));
70
+ Event.once(onMouseDown.event)(e => { e.preventDefault(); e.stopPropagation(); }, null, disposables);
71
+ const onMouseUp = disposables.add(( new DomEmitter(activeDocument, 'mouseup', true)));
72
+ Event.once(onMouseUp.event)(e => {
73
+ e.preventDefault();
74
+ e.stopPropagation();
75
+ const context = contextKeyService.getContext(e.target);
76
+ console.log(context.collectAllValues());
77
+ dispose(disposables);
78
+ }, null, disposables);
79
+ }
80
+ }
81
+ class ToggleScreencastModeAction extends Action2 {
82
+ constructor() {
83
+ super({
84
+ id: 'workbench.action.toggleScreencastMode',
85
+ title: ( localize2WithPath(
86
+ 'vs/workbench/browser/actions/developerActions',
87
+ 'toggle screencast mode',
88
+ 'Toggle Screencast Mode'
89
+ )),
90
+ category: Categories.Developer,
91
+ f1: true
92
+ });
93
+ }
94
+ run(accessor) {
95
+ if (ToggleScreencastModeAction.disposable) {
96
+ ToggleScreencastModeAction.disposable.dispose();
97
+ ToggleScreencastModeAction.disposable = undefined;
98
+ return;
99
+ }
100
+ const layoutService = accessor.get(ILayoutService);
101
+ const configurationService = accessor.get(IConfigurationService);
102
+ const keybindingService = accessor.get(IKeybindingService);
103
+ const disposables = ( new DisposableStore());
104
+ const container = layoutService.activeContainer;
105
+ const mouseMarker = append(container, $('.screencast-mouse'));
106
+ disposables.add(toDisposable(() => mouseMarker.remove()));
107
+ const keyboardMarker = append(container, $('.screencast-keyboard'));
108
+ disposables.add(toDisposable(() => keyboardMarker.remove()));
109
+ const onMouseDown = disposables.add(( new Emitter()));
110
+ const onMouseUp = disposables.add(( new Emitter()));
111
+ const onMouseMove = disposables.add(( new Emitter()));
112
+ function registerContainerListeners(container, disposables) {
113
+ disposables.add(disposables.add(( new DomEmitter(container, 'mousedown', true))).event(e => onMouseDown.fire(e)));
114
+ disposables.add(disposables.add(( new DomEmitter(container, 'mouseup', true))).event(e => onMouseUp.fire(e)));
115
+ disposables.add(disposables.add(( new DomEmitter(container, 'mousemove', true))).event(e => onMouseMove.fire(e)));
116
+ }
117
+ for (const { window, disposables } of getWindows()) {
118
+ registerContainerListeners(layoutService.getContainer(window), disposables);
119
+ }
120
+ disposables.add(onDidRegisterWindow(({ window, disposables }) => registerContainerListeners(layoutService.getContainer(window), disposables)));
121
+ disposables.add(layoutService.onDidChangeActiveContainer(() => {
122
+ layoutService.activeContainer.appendChild(mouseMarker);
123
+ layoutService.activeContainer.appendChild(keyboardMarker);
124
+ }));
125
+ const updateMouseIndicatorColor = () => {
126
+ mouseMarker.style.borderColor = ( ( Color.fromHex(configurationService.getValue('screencastMode.mouseIndicatorColor'))).toString());
127
+ };
128
+ let mouseIndicatorSize;
129
+ const updateMouseIndicatorSize = () => {
130
+ mouseIndicatorSize = clamp(configurationService.getValue('screencastMode.mouseIndicatorSize') || 20, 20, 100);
131
+ mouseMarker.style.height = `${mouseIndicatorSize}px`;
132
+ mouseMarker.style.width = `${mouseIndicatorSize}px`;
133
+ };
134
+ updateMouseIndicatorColor();
135
+ updateMouseIndicatorSize();
136
+ disposables.add(onMouseDown.event(e => {
137
+ mouseMarker.style.top = `${e.clientY - mouseIndicatorSize / 2}px`;
138
+ mouseMarker.style.left = `${e.clientX - mouseIndicatorSize / 2}px`;
139
+ mouseMarker.style.display = 'block';
140
+ mouseMarker.style.transform = `scale(${1})`;
141
+ mouseMarker.style.transition = 'transform 0.1s';
142
+ const mouseMoveListener = onMouseMove.event(e => {
143
+ mouseMarker.style.top = `${e.clientY - mouseIndicatorSize / 2}px`;
144
+ mouseMarker.style.left = `${e.clientX - mouseIndicatorSize / 2}px`;
145
+ mouseMarker.style.transform = `scale(${.8})`;
146
+ });
147
+ Event.once(onMouseUp.event)(() => {
148
+ mouseMarker.style.display = 'none';
149
+ mouseMoveListener.dispose();
150
+ });
151
+ }));
152
+ const updateKeyboardFontSize = () => {
153
+ keyboardMarker.style.fontSize = `${clamp(configurationService.getValue('screencastMode.fontSize') || 56, 20, 100)}px`;
154
+ };
155
+ const updateKeyboardMarker = () => {
156
+ keyboardMarker.style.bottom = `${clamp(configurationService.getValue('screencastMode.verticalOffset') || 0, 0, 90)}%`;
157
+ };
158
+ let keyboardMarkerTimeout;
159
+ const updateKeyboardMarkerTimeout = () => {
160
+ keyboardMarkerTimeout = clamp(configurationService.getValue('screencastMode.keyboardOverlayTimeout') || 800, 500, 5000);
161
+ };
162
+ updateKeyboardFontSize();
163
+ updateKeyboardMarker();
164
+ updateKeyboardMarkerTimeout();
165
+ disposables.add(configurationService.onDidChangeConfiguration(e => {
166
+ if (e.affectsConfiguration('screencastMode.verticalOffset')) {
167
+ updateKeyboardMarker();
168
+ }
169
+ if (e.affectsConfiguration('screencastMode.fontSize')) {
170
+ updateKeyboardFontSize();
171
+ }
172
+ if (e.affectsConfiguration('screencastMode.keyboardOverlayTimeout')) {
173
+ updateKeyboardMarkerTimeout();
174
+ }
175
+ if (e.affectsConfiguration('screencastMode.mouseIndicatorColor')) {
176
+ updateMouseIndicatorColor();
177
+ }
178
+ if (e.affectsConfiguration('screencastMode.mouseIndicatorSize')) {
179
+ updateMouseIndicatorSize();
180
+ }
181
+ }));
182
+ const onKeyDown = disposables.add(( new Emitter()));
183
+ const onCompositionStart = disposables.add(( new Emitter()));
184
+ const onCompositionUpdate = disposables.add(( new Emitter()));
185
+ const onCompositionEnd = disposables.add(( new Emitter()));
186
+ function registerWindowListeners(window, disposables) {
187
+ disposables.add(disposables.add(( new DomEmitter(window, 'keydown', true))).event(e => onKeyDown.fire(e)));
188
+ disposables.add(disposables.add(( new DomEmitter(window, 'compositionstart', true))).event(e => onCompositionStart.fire(e)));
189
+ disposables.add(disposables.add(( new DomEmitter(window, 'compositionupdate', true))).event(e => onCompositionUpdate.fire(e)));
190
+ disposables.add(disposables.add(( new DomEmitter(window, 'compositionend', true))).event(e => onCompositionEnd.fire(e)));
191
+ }
192
+ for (const { window, disposables } of getWindows()) {
193
+ registerWindowListeners(window, disposables);
194
+ }
195
+ disposables.add(onDidRegisterWindow(({ window, disposables }) => registerWindowListeners(window, disposables)));
196
+ let length = 0;
197
+ let composing = undefined;
198
+ let imeBackSpace = false;
199
+ const clearKeyboardScheduler = ( new RunOnceScheduler(() => {
200
+ keyboardMarker.textContent = '';
201
+ composing = undefined;
202
+ length = 0;
203
+ }, keyboardMarkerTimeout));
204
+ disposables.add(onCompositionStart.event(e => {
205
+ imeBackSpace = true;
206
+ }));
207
+ disposables.add(onCompositionUpdate.event(e => {
208
+ if (e.data && imeBackSpace) {
209
+ if (length > 20) {
210
+ keyboardMarker.innerText = '';
211
+ length = 0;
212
+ }
213
+ composing = composing ?? append(keyboardMarker, $('span.key'));
214
+ composing.textContent = e.data;
215
+ }
216
+ else if (imeBackSpace) {
217
+ keyboardMarker.innerText = '';
218
+ append(keyboardMarker, $('span.key', {}, `Backspace`));
219
+ }
220
+ clearKeyboardScheduler.schedule();
221
+ }));
222
+ disposables.add(onCompositionEnd.event(e => {
223
+ composing = undefined;
224
+ length++;
225
+ }));
226
+ disposables.add(onKeyDown.event(e => {
227
+ if (e.key === 'Process' || /[\uac00-\ud787\u3131-\u314e\u314f-\u3163\u3041-\u3094\u30a1-\u30f4\u30fc\u3005\u3006\u3024\u4e00-\u9fa5]/u.test(e.key)) {
228
+ if (e.code === 'Backspace') {
229
+ imeBackSpace = true;
230
+ }
231
+ else if (!e.code.includes('Key')) {
232
+ composing = undefined;
233
+ imeBackSpace = false;
234
+ }
235
+ else {
236
+ imeBackSpace = true;
237
+ }
238
+ clearKeyboardScheduler.schedule();
239
+ return;
240
+ }
241
+ if (e.isComposing) {
242
+ return;
243
+ }
244
+ const options = configurationService.getValue('screencastMode.keyboardOptions');
245
+ const event = ( new StandardKeyboardEvent(e));
246
+ const shortcut = keybindingService.softDispatch(event, event.target);
247
+ if (shortcut.kind === 2 && shortcut.commandId && !(options.showSingleEditorCursorMoves ?? true) && (['cursorLeft', 'cursorRight', 'cursorUp', 'cursorDown'].includes(shortcut.commandId))) {
248
+ return;
249
+ }
250
+ if (event.ctrlKey || event.altKey || event.metaKey || event.shiftKey
251
+ || length > 20
252
+ || event.keyCode === 1 || event.keyCode === 9
253
+ || event.keyCode === 16 || event.keyCode === 18
254
+ || event.keyCode === 15 || event.keyCode === 17 ) {
255
+ keyboardMarker.innerText = '';
256
+ length = 0;
257
+ }
258
+ const keybinding = keybindingService.resolveKeyboardEvent(event);
259
+ const commandDetails = (this._isKbFound(shortcut) && shortcut.commandId) ? this.getCommandDetails(shortcut.commandId) : undefined;
260
+ let commandAndGroupLabel = commandDetails?.title;
261
+ let keyLabel = keybinding.getLabel();
262
+ if (commandDetails) {
263
+ if ((options.showCommandGroups ?? false) && commandDetails.category) {
264
+ commandAndGroupLabel = `${commandDetails.category}: ${commandAndGroupLabel} `;
265
+ }
266
+ if (this._isKbFound(shortcut) && shortcut.commandId) {
267
+ const keybindings = keybindingService.lookupKeybindings(shortcut.commandId)
268
+ .filter(k => k.getLabel()?.endsWith(keyLabel ?? ''));
269
+ if (keybindings.length > 0) {
270
+ keyLabel = keybindings[keybindings.length - 1].getLabel();
271
+ }
272
+ }
273
+ }
274
+ if ((options.showCommands ?? true) && commandAndGroupLabel) {
275
+ append(keyboardMarker, $('span.title', {}, `${commandAndGroupLabel} `));
276
+ }
277
+ if ((options.showKeys ?? true) || ((options.showKeybindings ?? true) && this._isKbFound(shortcut))) {
278
+ keyLabel = keyLabel?.replace('UpArrow', '↑')
279
+ ?.replace('DownArrow', '↓')
280
+ ?.replace('LeftArrow', '←')
281
+ ?.replace('RightArrow', '→');
282
+ append(keyboardMarker, $('span.key', {}, keyLabel ?? ''));
283
+ }
284
+ length++;
285
+ clearKeyboardScheduler.schedule();
286
+ }));
287
+ ToggleScreencastModeAction.disposable = disposables;
288
+ }
289
+ _isKbFound(resolutionResult) {
290
+ return resolutionResult.kind === 2 ;
291
+ }
292
+ getCommandDetails(commandId) {
293
+ const fromMenuRegistry = MenuRegistry.getCommand(commandId);
294
+ if (fromMenuRegistry) {
295
+ return {
296
+ title: typeof fromMenuRegistry.title === 'string' ? fromMenuRegistry.title : fromMenuRegistry.title.value,
297
+ category: fromMenuRegistry.category ? (typeof fromMenuRegistry.category === 'string' ? fromMenuRegistry.category : fromMenuRegistry.category.value) : undefined
298
+ };
299
+ }
300
+ const fromCommandsRegistry = CommandsRegistry.getCommand(commandId);
301
+ if (fromCommandsRegistry && fromCommandsRegistry.metadata?.description) {
302
+ return { title: typeof fromCommandsRegistry.metadata.description === 'string' ? fromCommandsRegistry.metadata.description : fromCommandsRegistry.metadata.description.value };
303
+ }
304
+ return undefined;
305
+ }
306
+ }
307
+ class LogStorageAction extends Action2 {
308
+ constructor() {
309
+ super({
310
+ id: 'workbench.action.logStorage',
311
+ title: ( localize2WithPath(
312
+ 'vs/workbench/browser/actions/developerActions',
313
+ { key: 'logStorage', comment: ['A developer only action to log the contents of the storage for the current window.'] },
314
+ "Log Storage Database Contents"
315
+ )),
316
+ category: Categories.Developer,
317
+ f1: true
318
+ });
319
+ }
320
+ run(accessor) {
321
+ const storageService = accessor.get(IStorageService);
322
+ const dialogService = accessor.get(IDialogService);
323
+ storageService.log();
324
+ dialogService.info(( localizeWithPath(
325
+ 'vs/workbench/browser/actions/developerActions',
326
+ 'storageLogDialogMessage',
327
+ "The storage database contents have been logged to the developer tools."
328
+ )), ( localizeWithPath(
329
+ 'vs/workbench/browser/actions/developerActions',
330
+ 'storageLogDialogDetails',
331
+ "Open developer tools from the menu and select the Console tab."
332
+ )));
333
+ }
334
+ }
335
+ class LogWorkingCopiesAction extends Action2 {
336
+ constructor() {
337
+ super({
338
+ id: 'workbench.action.logWorkingCopies',
339
+ title: ( localize2WithPath(
340
+ 'vs/workbench/browser/actions/developerActions',
341
+ { key: 'logWorkingCopies', comment: ['A developer only action to log the working copies that exist.'] },
342
+ "Log Working Copies"
343
+ )),
344
+ category: Categories.Developer,
345
+ f1: true
346
+ });
347
+ }
348
+ async run(accessor) {
349
+ const workingCopyService = accessor.get(IWorkingCopyService);
350
+ const workingCopyBackupService = accessor.get(IWorkingCopyBackupService);
351
+ const logService = accessor.get(ILogService);
352
+ const outputService = accessor.get(IOutputService);
353
+ const backups = await workingCopyBackupService.getBackups();
354
+ const msg = [
355
+ ``,
356
+ `[Working Copies]`,
357
+ ...((workingCopyService.workingCopies.length > 0) ? ( workingCopyService.workingCopies.map(workingCopy => `${workingCopy.isDirty() ? '● ' : ''}${( workingCopy.resource.toString(true))} (typeId: ${workingCopy.typeId || '<no typeId>'})`)) : ['<none>']),
358
+ ``,
359
+ `[Backups]`,
360
+ ...((backups.length > 0) ? ( backups.map(backup => `${( backup.resource.toString(true))} (typeId: ${backup.typeId || '<no typeId>'})`)) : ['<none>']),
361
+ ];
362
+ logService.info(msg.join('\n'));
363
+ outputService.showChannel(windowLogId, true);
364
+ }
365
+ }
366
+ class RemoveLargeStorageEntriesAction extends Action2 {
367
+ static { this.SIZE_THRESHOLD = 1024 * 16; }
368
+ constructor() {
369
+ super({
370
+ id: 'workbench.action.removeLargeStorageDatabaseEntries',
371
+ title: ( localize2WithPath(
372
+ 'vs/workbench/browser/actions/developerActions',
373
+ 'removeLargeStorageDatabaseEntries',
374
+ 'Remove Large Storage Database Entries...'
375
+ )),
376
+ category: Categories.Developer,
377
+ f1: true
378
+ });
379
+ }
380
+ async run(accessor) {
381
+ const storageService = accessor.get(IStorageService);
382
+ const quickInputService = accessor.get(IQuickInputService);
383
+ const userDataProfileService = accessor.get(IUserDataProfileService);
384
+ const dialogService = accessor.get(IDialogService);
385
+ const environmentService = accessor.get(IEnvironmentService);
386
+ const items = [];
387
+ for (const scope of [-1 , 0 , 1 ]) {
388
+ if (scope === 0 && userDataProfileService.currentProfile.isDefault) {
389
+ continue;
390
+ }
391
+ for (const target of [1 , 0 ]) {
392
+ for (const key of ( storageService.keys(scope, target))) {
393
+ const value = storageService.get(key, scope);
394
+ if (value && (!environmentService.isBuilt || value.length > RemoveLargeStorageEntriesAction.SIZE_THRESHOLD)) {
395
+ items.push({
396
+ key,
397
+ scope,
398
+ target,
399
+ size: value.length,
400
+ label: key,
401
+ description: ByteSize.formatSize(value.length),
402
+ detail: ( localizeWithPath(
403
+ 'vs/workbench/browser/actions/developerActions',
404
+ 'largeStorageItemDetail',
405
+ "Scope: {0}, Target: {1}",
406
+ scope === -1 ? ( localizeWithPath('vs/workbench/browser/actions/developerActions', 'global', "Global")) : scope === 0 ? ( localizeWithPath('vs/workbench/browser/actions/developerActions', 'profile', "Profile")) : ( localizeWithPath('vs/workbench/browser/actions/developerActions', 'workspace', "Workspace")),
407
+ target === 1 ? ( localizeWithPath('vs/workbench/browser/actions/developerActions', 'machine', "Machine")) : ( localizeWithPath('vs/workbench/browser/actions/developerActions', 'user', "User"))
408
+ )),
409
+ });
410
+ }
411
+ }
412
+ }
413
+ }
414
+ items.sort((itemA, itemB) => itemB.size - itemA.size);
415
+ const selectedItems = await ( new Promise(resolve => {
416
+ const disposables = ( new DisposableStore());
417
+ const picker = disposables.add(quickInputService.createQuickPick());
418
+ picker.items = items;
419
+ picker.canSelectMany = true;
420
+ picker.ok = false;
421
+ picker.customButton = true;
422
+ picker.hideCheckAll = true;
423
+ picker.customLabel = ( localizeWithPath(
424
+ 'vs/workbench/browser/actions/developerActions',
425
+ 'removeLargeStorageEntriesPickerButton',
426
+ "Remove"
427
+ ));
428
+ picker.placeholder = ( localizeWithPath(
429
+ 'vs/workbench/browser/actions/developerActions',
430
+ 'removeLargeStorageEntriesPickerPlaceholder',
431
+ "Select large entries to remove from storage"
432
+ ));
433
+ if (items.length === 0) {
434
+ picker.description = ( localizeWithPath(
435
+ 'vs/workbench/browser/actions/developerActions',
436
+ 'removeLargeStorageEntriesPickerDescriptionNoEntries',
437
+ "There are no large storage entries to remove."
438
+ ));
439
+ }
440
+ picker.show();
441
+ disposables.add(picker.onDidCustom(() => {
442
+ resolve(picker.selectedItems);
443
+ picker.hide();
444
+ }));
445
+ disposables.add(picker.onDidHide(() => disposables.dispose()));
446
+ }));
447
+ if (selectedItems.length === 0) {
448
+ return;
449
+ }
450
+ const { confirmed } = await dialogService.confirm({
451
+ type: 'warning',
452
+ message: ( localizeWithPath(
453
+ 'vs/workbench/browser/actions/developerActions',
454
+ 'removeLargeStorageEntriesConfirmRemove',
455
+ "Do you want to remove the selected storage entries from the database?"
456
+ )),
457
+ detail: ( localizeWithPath(
458
+ 'vs/workbench/browser/actions/developerActions',
459
+ 'removeLargeStorageEntriesConfirmRemoveDetail',
460
+ "{0}\n\nThis action is irreversible and may result in data loss!",
461
+ ( selectedItems.map(item => item.label)).join('\n')
462
+ )),
463
+ primaryButton: ( localizeWithPath(
464
+ 'vs/workbench/browser/actions/developerActions',
465
+ { key: 'removeLargeStorageEntriesButtonLabel', comment: ['&& denotes a mnemonic'] },
466
+ "&&Remove"
467
+ ))
468
+ });
469
+ if (!confirmed) {
470
+ return;
471
+ }
472
+ const scopesToOptimize = ( new Set());
473
+ for (const item of selectedItems) {
474
+ storageService.remove(item.key, item.scope);
475
+ scopesToOptimize.add(item.scope);
476
+ }
477
+ for (const scope of scopesToOptimize) {
478
+ await storageService.optimize(scope);
479
+ }
480
+ }
481
+ }
482
+ let tracker = undefined;
483
+ let trackedDisposables = ( new Set());
484
+ const DisposablesSnapshotStateContext = ( new RawContextKey('dirtyWorkingCopies', 'stopped'));
485
+ class StartTrackDisposables extends Action2 {
486
+ constructor() {
487
+ super({
488
+ id: 'workbench.action.startTrackDisposables',
489
+ title: ( localize2WithPath(
490
+ 'vs/workbench/browser/actions/developerActions',
491
+ 'startTrackDisposables',
492
+ 'Start Tracking Disposables'
493
+ )),
494
+ category: Categories.Developer,
495
+ f1: true,
496
+ precondition: ( ContextKeyExpr.and(( ( DisposablesSnapshotStateContext.isEqualTo('pending')).negate()), ( ( DisposablesSnapshotStateContext.isEqualTo('started')).negate())))
497
+ });
498
+ }
499
+ run(accessor) {
500
+ const disposablesSnapshotStateContext = DisposablesSnapshotStateContext.bindTo(accessor.get(IContextKeyService));
501
+ disposablesSnapshotStateContext.set('started');
502
+ trackedDisposables.clear();
503
+ tracker = ( new DisposableTracker());
504
+ setDisposableTracker(tracker);
505
+ }
506
+ }
507
+ class SnapshotTrackedDisposables extends Action2 {
508
+ constructor() {
509
+ super({
510
+ id: 'workbench.action.snapshotTrackedDisposables',
511
+ title: ( localize2WithPath(
512
+ 'vs/workbench/browser/actions/developerActions',
513
+ 'snapshotTrackedDisposables',
514
+ 'Snapshot Tracked Disposables'
515
+ )),
516
+ category: Categories.Developer,
517
+ f1: true,
518
+ precondition: ( DisposablesSnapshotStateContext.isEqualTo('started'))
519
+ });
520
+ }
521
+ run(accessor) {
522
+ const disposablesSnapshotStateContext = DisposablesSnapshotStateContext.bindTo(accessor.get(IContextKeyService));
523
+ disposablesSnapshotStateContext.set('pending');
524
+ trackedDisposables = ( new Set(
525
+ tracker?.computeLeakingDisposables(1000)?.leaks.map(disposable => disposable.value)
526
+ ));
527
+ }
528
+ }
529
+ class StopTrackDisposables extends Action2 {
530
+ constructor() {
531
+ super({
532
+ id: 'workbench.action.stopTrackDisposables',
533
+ title: ( localize2WithPath(
534
+ 'vs/workbench/browser/actions/developerActions',
535
+ 'stopTrackDisposables',
536
+ 'Stop Tracking Disposables'
537
+ )),
538
+ category: Categories.Developer,
539
+ f1: true,
540
+ precondition: ( DisposablesSnapshotStateContext.isEqualTo('pending'))
541
+ });
542
+ }
543
+ run(accessor) {
544
+ const editorService = accessor.get(IEditorService);
545
+ const disposablesSnapshotStateContext = DisposablesSnapshotStateContext.bindTo(accessor.get(IContextKeyService));
546
+ disposablesSnapshotStateContext.set('stopped');
547
+ if (tracker) {
548
+ const disposableLeaks = ( new Set());
549
+ for (const disposable of ( new Set(tracker.computeLeakingDisposables(1000)?.leaks)) ?? []) {
550
+ if (( trackedDisposables.has(disposable.value))) {
551
+ disposableLeaks.add(disposable);
552
+ }
553
+ }
554
+ const leaks = tracker.computeLeakingDisposables(1000, Array.from(disposableLeaks));
555
+ if (leaks) {
556
+ editorService.openEditor({ resource: undefined, contents: leaks.details });
557
+ }
558
+ }
559
+ setDisposableTracker(null);
560
+ tracker = undefined;
561
+ trackedDisposables.clear();
562
+ }
563
+ }
564
+ registerAction2(InspectContextKeysAction);
565
+ registerAction2(ToggleScreencastModeAction);
566
+ registerAction2(LogStorageAction);
567
+ registerAction2(LogWorkingCopiesAction);
568
+ registerAction2(RemoveLargeStorageEntriesAction);
569
+ if (!product.commit) {
570
+ registerAction2(StartTrackDisposables);
571
+ registerAction2(SnapshotTrackedDisposables);
572
+ registerAction2(StopTrackDisposables);
573
+ }
574
+ const configurationRegistry = ( Registry.as(Extensions.Configuration));
575
+ configurationRegistry.registerConfiguration({
576
+ id: 'screencastMode',
577
+ order: 9,
578
+ title: ( localizeWithPath(
579
+ 'vs/workbench/browser/actions/developerActions',
580
+ 'screencastModeConfigurationTitle',
581
+ "Screencast Mode"
582
+ )),
583
+ type: 'object',
584
+ properties: {
585
+ 'screencastMode.verticalOffset': {
586
+ type: 'number',
587
+ default: 20,
588
+ minimum: 0,
589
+ maximum: 90,
590
+ description: ( localizeWithPath(
591
+ 'vs/workbench/browser/actions/developerActions',
592
+ 'screencastMode.location.verticalPosition',
593
+ "Controls the vertical offset of the screencast mode overlay from the bottom as a percentage of the workbench height."
594
+ ))
595
+ },
596
+ 'screencastMode.fontSize': {
597
+ type: 'number',
598
+ default: 56,
599
+ minimum: 20,
600
+ maximum: 100,
601
+ description: ( localizeWithPath(
602
+ 'vs/workbench/browser/actions/developerActions',
603
+ 'screencastMode.fontSize',
604
+ "Controls the font size (in pixels) of the screencast mode keyboard."
605
+ ))
606
+ },
607
+ 'screencastMode.keyboardOptions': {
608
+ type: 'object',
609
+ description: ( localizeWithPath(
610
+ 'vs/workbench/browser/actions/developerActions',
611
+ 'screencastMode.keyboardOptions.description',
612
+ "Options for customizing the keyboard overlay in screencast mode."
613
+ )),
614
+ properties: {
615
+ 'showKeys': {
616
+ type: 'boolean',
617
+ default: true,
618
+ description: ( localizeWithPath(
619
+ 'vs/workbench/browser/actions/developerActions',
620
+ 'screencastMode.keyboardOptions.showKeys',
621
+ "Show raw keys."
622
+ ))
623
+ },
624
+ 'showKeybindings': {
625
+ type: 'boolean',
626
+ default: true,
627
+ description: ( localizeWithPath(
628
+ 'vs/workbench/browser/actions/developerActions',
629
+ 'screencastMode.keyboardOptions.showKeybindings',
630
+ "Show keyboard shortcuts."
631
+ ))
632
+ },
633
+ 'showCommands': {
634
+ type: 'boolean',
635
+ default: true,
636
+ description: ( localizeWithPath(
637
+ 'vs/workbench/browser/actions/developerActions',
638
+ 'screencastMode.keyboardOptions.showCommands',
639
+ "Show command names."
640
+ ))
641
+ },
642
+ 'showCommandGroups': {
643
+ type: 'boolean',
644
+ default: false,
645
+ description: ( localizeWithPath(
646
+ 'vs/workbench/browser/actions/developerActions',
647
+ 'screencastMode.keyboardOptions.showCommandGroups',
648
+ "Show command group names, when commands are also shown."
649
+ ))
650
+ },
651
+ 'showSingleEditorCursorMoves': {
652
+ type: 'boolean',
653
+ default: true,
654
+ description: ( localizeWithPath(
655
+ 'vs/workbench/browser/actions/developerActions',
656
+ 'screencastMode.keyboardOptions.showSingleEditorCursorMoves',
657
+ "Show single editor cursor move commands."
658
+ ))
659
+ }
660
+ },
661
+ default: {
662
+ 'showKeys': true,
663
+ 'showKeybindings': true,
664
+ 'showCommands': true,
665
+ 'showCommandGroups': false,
666
+ 'showSingleEditorCursorMoves': true
667
+ },
668
+ additionalProperties: false
669
+ },
670
+ 'screencastMode.keyboardOverlayTimeout': {
671
+ type: 'number',
672
+ default: 800,
673
+ minimum: 500,
674
+ maximum: 5000,
675
+ description: ( localizeWithPath(
676
+ 'vs/workbench/browser/actions/developerActions',
677
+ 'screencastMode.keyboardOverlayTimeout',
678
+ "Controls how long (in milliseconds) the keyboard overlay is shown in screencast mode."
679
+ ))
680
+ },
681
+ 'screencastMode.mouseIndicatorColor': {
682
+ type: 'string',
683
+ format: 'color-hex',
684
+ default: '#FF0000',
685
+ description: ( localizeWithPath(
686
+ 'vs/workbench/browser/actions/developerActions',
687
+ 'screencastMode.mouseIndicatorColor',
688
+ "Controls the color in hex (#RGB, #RGBA, #RRGGBB or #RRGGBBAA) of the mouse indicator in screencast mode."
689
+ ))
690
+ },
691
+ 'screencastMode.mouseIndicatorSize': {
692
+ type: 'number',
693
+ default: 20,
694
+ minimum: 20,
695
+ maximum: 100,
696
+ description: ( localizeWithPath(
697
+ 'vs/workbench/browser/actions/developerActions',
698
+ 'screencastMode.mouseIndicatorSize',
699
+ "Controls the size (in pixels) of the mouse indicator in screencast mode."
700
+ ))
701
+ },
702
+ }
703
+ });