@codingame/monaco-vscode-api 1.85.0 → 1.85.2

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 (298) hide show
  1. package/README.md +31 -13
  2. package/contributions.js +1 -0
  3. package/missing-services.js +396 -68
  4. package/monaco-editor-treemending.patch +957 -950
  5. package/package.json +8 -7
  6. package/service-override/tools/editor.js +1 -1
  7. package/services.js +10 -6
  8. package/vscode/src/vs/base/browser/ui/tree/treeDefaults.js +14 -0
  9. package/vscode/src/vs/base/common/jsonFormatter.js +8 -1
  10. package/vscode/src/vs/platform/actions/browser/buttonbar.js +128 -0
  11. package/vscode/src/vs/platform/extensionManagement/common/extensionEnablementService.js +140 -0
  12. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +2 -1
  13. package/vscode/src/vs/platform/extensions/common/extensions.d.ts +1062 -93
  14. package/vscode/src/vs/platform/files/common/inMemoryFilesystemProvider.js +220 -0
  15. package/vscode/src/vs/platform/layout/browser/zIndexRegistry.js +58 -0
  16. package/vscode/src/vs/platform/quickinput/browser/quickPickPin.js +102 -0
  17. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetectionCapability.js +56 -1
  18. package/vscode/src/vs/platform/userDataSync/common/content.js +9 -0
  19. package/vscode/src/vs/platform/userDataSync/common/settingsMerge.js +514 -0
  20. package/vscode/src/vs/platform/userDataSync/common/userDataSync.js +154 -2
  21. package/vscode/src/vs/platform/userDataSync/common/userDataSyncAccount.js +43 -1
  22. package/vscode/src/vs/platform/userDataSync/common/userDataSyncMachines.js +177 -0
  23. package/vscode/src/vs/workbench/api/common/extHostApiCommands.js +1 -1
  24. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +1 -1
  25. package/vscode/src/vs/workbench/api/common/extHostWebview.js +2 -2
  26. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +186 -4
  27. package/vscode/src/vs/workbench/browser/parts/views/checkbox.js +105 -0
  28. package/vscode/src/vs/workbench/browser/parts/views/media/views.css.js +4 -0
  29. package/vscode/src/vs/workbench/browser/parts/views/treeView.js +1614 -0
  30. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +191 -0
  31. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +238 -2
  32. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +75 -0
  33. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +205 -1
  34. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditorInput.js +168 -0
  35. package/vscode/src/vs/workbench/contrib/chat/browser/chatFollowups.js +35 -0
  36. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPart.js +340 -0
  37. package/vscode/src/vs/workbench/contrib/chat/browser/chatListRenderer.js +1195 -0
  38. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownDecorationsRenderer.js +115 -0
  39. package/vscode/src/vs/workbench/contrib/chat/browser/chatOptions.js +81 -0
  40. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommandContentWidget.css.js +4 -0
  41. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommandContentWidget.js +62 -0
  42. package/vscode/src/vs/workbench/contrib/chat/browser/chatWidget.js +583 -0
  43. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.css.js +4 -0
  44. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.js +290 -0
  45. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables.js +167 -0
  46. package/vscode/src/vs/workbench/contrib/chat/browser/media/chat.css.js +4 -0
  47. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +6 -1
  48. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +562 -0
  49. package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.js +31 -1
  50. package/vscode/src/vs/workbench/contrib/chat/common/chatProvider.js +24 -1
  51. package/vscode/src/vs/workbench/contrib/chat/common/chatRequestParser.js +193 -0
  52. package/vscode/src/vs/workbench/contrib/chat/common/chatService.js +22 -1
  53. package/vscode/src/vs/workbench/contrib/chat/common/chatSlashCommands.js +52 -1
  54. package/vscode/src/vs/workbench/contrib/chat/common/chatViewModel.js +258 -0
  55. package/vscode/src/vs/workbench/contrib/chat/common/chatWidgetHistoryService.js +37 -0
  56. package/vscode/src/vs/workbench/contrib/chat/common/chatWordCounter.js +25 -0
  57. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.css.js +4 -0
  58. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +388 -0
  59. package/vscode/src/vs/workbench/contrib/codeEditor/browser/languageConfigurationExtensionPoint.js +7 -7
  60. package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +61 -0
  61. package/vscode/src/vs/workbench/contrib/comments/browser/commentFormActions.js +49 -0
  62. package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +647 -0
  63. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +300 -0
  64. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadAdditionalActions.js +60 -0
  65. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +249 -0
  66. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +107 -0
  67. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +333 -0
  68. package/vscode/src/vs/workbench/contrib/comments/browser/media/review.css.js +4 -0
  69. package/vscode/src/vs/workbench/contrib/comments/browser/reactionsAction.js +99 -0
  70. package/vscode/src/vs/workbench/contrib/comments/browser/timestamp.js +55 -0
  71. package/vscode/src/vs/workbench/contrib/comments/common/commentsConfiguration.js +2 -0
  72. package/vscode/src/vs/workbench/contrib/contextmenu/browser/contextmenu.contribution.js +20 -0
  73. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +855 -0
  74. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +410 -0
  75. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +1591 -0
  76. package/vscode/src/vs/workbench/contrib/debug/browser/callStackEditorContribution.js +178 -0
  77. package/vscode/src/vs/workbench/contrib/debug/browser/media/breakpointWidget.css.js +4 -0
  78. package/vscode/src/vs/workbench/contrib/debug/browser/media/callStackEditorContribution.css.js +4 -0
  79. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +1485 -0
  80. package/vscode/src/vs/workbench/contrib/debug/common/debugSource.js +125 -0
  81. package/vscode/src/vs/workbench/contrib/debug/common/disassemblyViewInput.js +29 -0
  82. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsInput.js +41 -0
  83. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsUtils.js +102 -0
  84. package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +73 -2
  85. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.css.js +4 -0
  86. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +988 -0
  87. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatLivePreviewWidget.js +431 -0
  88. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.js +417 -0
  89. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +806 -0
  90. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +915 -0
  91. package/vscode/src/vs/workbench/contrib/inlineChat/browser/utils.js +19 -0
  92. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +129 -10
  93. package/vscode/src/vs/workbench/contrib/markdown/browser/markdownDocumentRenderer.js +205 -0
  94. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +150 -0
  95. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +480 -0
  96. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeMarkers/mergeMarkersController.js +5 -0
  97. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/diffComputer.js +90 -0
  98. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/editing.js +54 -0
  99. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/lineRange.js +108 -0
  100. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mapping.js +258 -0
  101. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +614 -0
  102. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/modifiedBaseRange.js +307 -0
  103. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/rangeUtils.js +44 -0
  104. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/textModelDiffs.js +165 -0
  105. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/telemetry.js +78 -0
  106. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/utils.js +169 -0
  107. package/vscode/src/vs/workbench/contrib/mergeEditor/common/mergeEditor.js +64 -0
  108. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/clipboard/cellOutputClipboard.js +49 -0
  109. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findFilters.js +70 -0
  110. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findMatchDecorationModel.js +120 -0
  111. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findModel.js +416 -0
  112. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.css.js +4 -0
  113. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +663 -0
  114. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +593 -0
  115. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOutputActions.js +72 -0
  116. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/coreActions.js +326 -0
  117. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/editActions.js +539 -0
  118. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/foldingController.js +265 -0
  119. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +348 -0
  120. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebook.css.js +4 -0
  121. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookCellChat.css.js +4 -0
  122. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookCellEditorHint.css.js +4 -0
  123. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookCellInsertToolbar.css.js +4 -0
  124. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookCellOutput.css.js +4 -0
  125. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookCellStatusBar.css.js +4 -0
  126. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookCellTitleToolbar.css.js +4 -0
  127. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookDnd.css.js +4 -0
  128. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookEditorStickyScroll.css.js +4 -0
  129. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookFocusIndicator.css.js +4 -0
  130. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookFolding.css.js +4 -0
  131. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookKernelActionViewItem.css.js +4 -0
  132. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookOutline.css.js +4 -0
  133. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookToolbar.css.js +4 -0
  134. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookBrowser.js +95 -3
  135. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +437 -0
  136. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorExtensions.js +29 -0
  137. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +2730 -0
  138. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookIcons.js +139 -0
  139. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookLogger.js +17 -0
  140. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookOptions.js +564 -0
  141. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookViewEvents.js +27 -0
  142. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellPart.js +119 -0
  143. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellActionView.js +27 -0
  144. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellComments.js +135 -0
  145. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellContextKeys.js +178 -0
  146. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellDecorations.js +35 -0
  147. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellDnd.js +377 -0
  148. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellDragRenderer.js +97 -0
  149. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellEditorOptions.js +194 -0
  150. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellExecution.js +71 -0
  151. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellFocus.js +20 -0
  152. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellFocusIndicator.js +85 -0
  153. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellOutput.js +652 -0
  154. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellProgressBar.js +59 -0
  155. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellStatusPart.js +303 -0
  156. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbarStickyScroll.js +24 -0
  157. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbars.js +228 -0
  158. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/chat/cellChatActions.js +302 -0
  159. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/chat/cellChatController.js +438 -0
  160. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/chat/cellChatPart.js +45 -0
  161. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +435 -0
  162. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellExecutionIcon.js +95 -0
  163. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellRunToolbar.js +107 -0
  164. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/collapsedCellInput.js +29 -0
  165. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/collapsedCellOutput.js +59 -0
  166. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/foldedCellHint.js +67 -0
  167. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +430 -0
  168. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellAnchor.js +54 -0
  169. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellList.js +1131 -0
  170. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellListView.js +21 -0
  171. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +1591 -0
  172. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.js +341 -0
  173. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.js +2155 -0
  174. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewThemeMapping.js +65 -0
  175. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/OutlineEntry.js +95 -0
  176. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/baseCellViewModel.js +507 -0
  177. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/cellEditorOptions.js +85 -0
  178. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/cellOutputViewModel.js +47 -0
  179. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/cellSelectionCollection.js +40 -0
  180. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/codeCellViewModel.js +435 -0
  181. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/eventDispatcher.js +31 -0
  182. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/foldingModel.js +257 -0
  183. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/markupCellViewModel.js +239 -0
  184. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineEntryFactory.js +103 -0
  185. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineProvider.js +211 -0
  186. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookViewModelImpl.js +808 -0
  187. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/viewContext.js +8 -0
  188. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorStickyScroll.js +381 -0
  189. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorToolbar.js +527 -0
  190. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorWidgetContextKeys.js +163 -0
  191. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelQuickPickStrategy.js +651 -0
  192. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelView.js +173 -0
  193. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookOverviewRuler.js +98 -0
  194. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookTopCellToolbar.js +62 -0
  195. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookCellOutputTextModel.js +101 -0
  196. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookCellTextModel.js +346 -0
  197. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +152 -1
  198. package/vscode/src/vs/workbench/contrib/notebook/common/notebookContextKeys.js +39 -0
  199. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +296 -0
  200. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModel.js +261 -0
  201. package/vscode/src/vs/workbench/contrib/notebook/common/notebookExecutionService.js +3 -1
  202. package/vscode/src/vs/workbench/contrib/notebook/common/notebookKernelService.js +2 -1
  203. package/vscode/src/vs/workbench/contrib/notebook/common/notebookKeymapService.js +3 -0
  204. package/vscode/src/vs/workbench/contrib/notebook/common/notebookLoggingService.js +3 -0
  205. package/vscode/src/vs/workbench/contrib/notebook/common/notebookPerformance.js +16 -0
  206. package/vscode/src/vs/workbench/contrib/notebook/common/notebookRange.js +66 -0
  207. package/vscode/src/vs/workbench/contrib/notebook/common/services/notebookWorkerService.js +4 -0
  208. package/vscode/src/vs/workbench/contrib/preferences/common/settingsEditorColorRegistry.js +130 -0
  209. package/vscode/src/vs/workbench/contrib/remote/browser/media/tunnelView.css.js +4 -0
  210. package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +847 -0
  211. package/vscode/src/vs/workbench/contrib/remote/browser/remoteIcons.js +89 -0
  212. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +1942 -0
  213. package/vscode/src/vs/workbench/contrib/remote/browser/urlFinder.js +107 -0
  214. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsBase.js +49 -0
  215. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +387 -0
  216. package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +2 -2
  217. package/vscode/src/vs/workbench/contrib/search/common/constants.js +66 -0
  218. package/vscode/src/vs/workbench/contrib/searchEditor/browser/constants.js +11 -0
  219. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/abstractSnippetsActions.js +24 -0
  220. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/fileTemplateSnippets.js +95 -0
  221. package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +6 -6
  222. package/vscode/src/vs/workbench/contrib/tasks/common/taskService.js +12 -2
  223. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +712 -0
  224. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.js +4 -1
  225. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProcessExtHostProxy.js +130 -0
  226. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +2 -1
  227. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/featuredExtensionService.js +159 -0
  228. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedExtensionPoint.js +375 -0
  229. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedService.js +563 -0
  230. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.js +932 -0
  231. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +20 -1
  232. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverSchema.js +205 -0
  233. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverUtils.js +11 -0
  234. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +9 -9
  235. package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionBisect.js +1 -1
  236. package/vscode/src/vs/workbench/services/keybinding/common/keybindingEditing.js +2 -2
  237. package/vscode/src/vs/workbench/services/languageStatus/common/languageStatusService.js +24 -1
  238. package/vscode/src/vs/workbench/services/layout/browser/layoutService.js +15 -1
  239. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorInput.js +41 -0
  240. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorModel.js +588 -0
  241. package/vscode/src/vs/workbench/services/preferences/common/preferencesEditorInput.js +43 -0
  242. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.d.ts +2 -2
  243. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +190 -2
  244. package/vscode/src/vs/workbench/services/search/common/search.js +3 -3
  245. package/vscode/src/vs/workbench/services/terminal/common/embedderTerminalService.js +75 -1
  246. package/vscode/src/vs/workbench/services/timer/browser/timerService.js +240 -1
  247. package/vscode/src/vs/workbench/services/userData/browser/userDataInit.js +31 -1
  248. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.js +25 -1
  249. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +75 -1
  250. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +74 -4
  251. package/vscode/src/vs/workbench/services/workingCopy/common/resourceWorkingCopy.js +77 -0
  252. package/assets/break.mp3 +0 -0
  253. package/assets/chatRequestSent.mp3 +0 -0
  254. package/assets/chatResponsePending.mp3 +0 -0
  255. package/assets/chatResponseReceived1.mp3 +0 -0
  256. package/assets/chatResponseReceived2.mp3 +0 -0
  257. package/assets/chatResponseReceived3.mp3 +0 -0
  258. package/assets/chatResponseReceived4.mp3 +0 -0
  259. package/assets/clear.mp3 +0 -0
  260. package/assets/defaultIcon.png +0 -0
  261. package/assets/diffLineDeleted.mp3 +0 -0
  262. package/assets/diffLineInserted.mp3 +0 -0
  263. package/assets/diffLineModified.mp3 +0 -0
  264. package/assets/error.mp3 +0 -0
  265. package/assets/fake.html +0 -10
  266. package/assets/foldedAreas.mp3 +0 -0
  267. package/assets/format.mp3 +0 -0
  268. package/assets/index-no-csp.html +0 -1226
  269. package/assets/index.html +0 -1227
  270. package/assets/quickFixes.mp3 +0 -0
  271. package/assets/save.mp3 +0 -0
  272. package/assets/service-worker.js +0 -457
  273. package/assets/taskCompleted.mp3 +0 -0
  274. package/assets/taskFailed.mp3 +0 -0
  275. package/assets/terminalBell.mp3 +0 -0
  276. package/assets/warning.mp3 +0 -0
  277. package/assets/webWorkerExtensionHostIframe.html +0 -123
  278. package/override/vs/workbench/contrib/notebook/browser/contrib/find/findMatchDecorationModel.js +0 -2
  279. package/override/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +0 -2
  280. package/override/vs/workbench/contrib/notebook/common/notebookEditorInput.js +0 -5
  281. package/vscode/src/vs/base/parts/request/browser/request.js +0 -60
  282. package/vscode/src/vs/platform/request/browser/requestService.js +0 -28
  283. package/vscode/src/vs/platform/request/common/requestIpc.js +0 -17
  284. package/vscode/src/vs/platform/url/common/urlService.js +0 -17
  285. package/vscode/src/vs/workbench/services/configuration/common/jsonEditingService.js +0 -120
  286. package/vscode/src/vs/workbench/services/decorations/browser/decorationsService.js +0 -319
  287. package/vscode/src/vs/workbench/services/files/browser/elevatedFileService.js +0 -9
  288. package/vscode/src/vs/workbench/services/host/browser/browserHostService.js +0 -408
  289. package/vscode/src/vs/workbench/services/request/browser/requestService.js +0 -48
  290. package/vscode/src/vs/workbench/services/textfile/browser/browserTextFileService.js +0 -56
  291. package/vscode/src/vs/workbench/services/textfile/browser/textFileService.js +0 -639
  292. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModelManager.js +0 -402
  293. package/vscode/src/vs/workbench/services/textfile/common/textFileSaveParticipant.js +0 -62
  294. package/vscode/src/vs/workbench/services/themes/browser/browserHostColorSchemeService.js +0 -38
  295. package/vscode/src/vs/workbench/services/themes/common/tokenClassificationExtensionPoint.js +0 -295
  296. package/vscode/src/vs/workbench/services/url/browser/urlService.js +0 -47
  297. package/vscode/src/vs/workbench/services/views/common/treeViewsService.js +0 -20
  298. package/vscode/src/vs/workbench/services/workspaces/common/canonicalUriService.js +0 -19
@@ -1,9 +1,20 @@
1
- import { createDecorator } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
1
+ import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
2
+ import * as nls from 'monaco-editor/esm/vs/nls.js';
3
+ import { Emitter } from 'monaco-editor/esm/vs/base/common/event.js';
4
+ import { createDecorator, IInstantiationService } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
5
+ import { IStorageService } from 'monaco-editor/esm/vs/platform/storage/common/storage.js';
6
+ import { ITunnelService } from '../../../../platform/tunnel/common/tunnel.js';
7
+ import { TunnelModel } from './tunnelModel.js';
8
+ import { ExtensionsRegistry } from '../../extensions/common/extensionsRegistry.js';
2
9
  const IRemoteExplorerService = ( createDecorator('remoteExplorerService'));
10
+ const REMOTE_EXPLORER_TYPE_KEY = 'remote.explorerType';
3
11
  const TUNNEL_VIEW_ID = '~remote.forwardedPorts';
12
+ const TUNNEL_VIEW_CONTAINER_ID = '~remote.forwardedPortsContainer';
4
13
  const PORT_AUTO_FORWARD_SETTING = 'remote.autoForwardPorts';
5
14
  const PORT_AUTO_SOURCE_SETTING = 'remote.autoForwardPortsSource';
15
+ const PORT_AUTO_SOURCE_SETTING_PROCESS = 'process';
6
16
  const PORT_AUTO_SOURCE_SETTING_OUTPUT = 'output';
17
+ const PORT_AUTO_SOURCE_SETTING_HYBRID = 'hybrid';
7
18
  var TunnelType;
8
19
  ( (function(TunnelType) {
9
20
  TunnelType["Candidate"] = "Candidate";
@@ -18,4 +29,181 @@ var TunnelEditId;
18
29
  TunnelEditId[TunnelEditId["Label"] = 2] = "Label";
19
30
  TunnelEditId[TunnelEditId["LocalPort"] = 3] = "LocalPort";
20
31
  })(TunnelEditId || (TunnelEditId = {})));
21
- export { IRemoteExplorerService, PORT_AUTO_FORWARD_SETTING, PORT_AUTO_SOURCE_SETTING, PORT_AUTO_SOURCE_SETTING_OUTPUT, TUNNEL_VIEW_ID, TunnelEditId, TunnelType };
32
+ const getStartedWalkthrough = {
33
+ type: 'object',
34
+ required: ['id'],
35
+ properties: {
36
+ id: {
37
+ description: ( nls.localizeWithPath(
38
+ 'vs/workbench/services/remote/common/remoteExplorerService',
39
+ 'getStartedWalkthrough.id',
40
+ 'The ID of a Get Started walkthrough to open.'
41
+ )),
42
+ type: 'string'
43
+ },
44
+ }
45
+ };
46
+ const remoteHelpExtPoint = ( ExtensionsRegistry.registerExtensionPoint({
47
+ extensionPoint: 'remoteHelp',
48
+ jsonSchema: {
49
+ description: ( nls.localizeWithPath(
50
+ 'vs/workbench/services/remote/common/remoteExplorerService',
51
+ 'RemoteHelpInformationExtPoint',
52
+ 'Contributes help information for Remote'
53
+ )),
54
+ type: 'object',
55
+ properties: {
56
+ 'getStarted': {
57
+ description: ( nls.localizeWithPath(
58
+ 'vs/workbench/services/remote/common/remoteExplorerService',
59
+ 'RemoteHelpInformationExtPoint.getStarted',
60
+ "The url, or a command that returns the url, to your project's Getting Started page, or a walkthrough ID contributed by your project's extension"
61
+ )),
62
+ oneOf: [
63
+ { type: 'string' },
64
+ getStartedWalkthrough
65
+ ]
66
+ },
67
+ 'documentation': {
68
+ description: ( nls.localizeWithPath(
69
+ 'vs/workbench/services/remote/common/remoteExplorerService',
70
+ 'RemoteHelpInformationExtPoint.documentation',
71
+ "The url, or a command that returns the url, to your project's documentation page"
72
+ )),
73
+ type: 'string'
74
+ },
75
+ 'feedback': {
76
+ description: ( nls.localizeWithPath(
77
+ 'vs/workbench/services/remote/common/remoteExplorerService',
78
+ 'RemoteHelpInformationExtPoint.feedback',
79
+ "The url, or a command that returns the url, to your project's feedback reporter"
80
+ )),
81
+ type: 'string',
82
+ markdownDeprecationMessage: ( nls.localizeWithPath(
83
+ 'vs/workbench/services/remote/common/remoteExplorerService',
84
+ 'RemoteHelpInformationExtPoint.feedback.deprecated',
85
+ "Use {0} instead",
86
+ '`reportIssue`'
87
+ ))
88
+ },
89
+ 'reportIssue': {
90
+ description: ( nls.localizeWithPath(
91
+ 'vs/workbench/services/remote/common/remoteExplorerService',
92
+ 'RemoteHelpInformationExtPoint.reportIssue',
93
+ "The url, or a command that returns the url, to your project's issue reporter"
94
+ )),
95
+ type: 'string'
96
+ },
97
+ 'issues': {
98
+ description: ( nls.localizeWithPath(
99
+ 'vs/workbench/services/remote/common/remoteExplorerService',
100
+ 'RemoteHelpInformationExtPoint.issues',
101
+ "The url, or a command that returns the url, to your project's issues list"
102
+ )),
103
+ type: 'string'
104
+ }
105
+ }
106
+ }
107
+ }));
108
+ let RemoteExplorerService = class RemoteExplorerService {
109
+ constructor(storageService, tunnelService, instantiationService) {
110
+ this.storageService = storageService;
111
+ this.tunnelService = tunnelService;
112
+ this._targetType = [];
113
+ this._onDidChangeTargetType = ( new Emitter());
114
+ this.onDidChangeTargetType = this._onDidChangeTargetType.event;
115
+ this._onDidChangeHelpInformation = ( new Emitter());
116
+ this.onDidChangeHelpInformation = this._onDidChangeHelpInformation.event;
117
+ this._helpInformation = [];
118
+ this._onDidChangeEditable = ( new Emitter());
119
+ this.onDidChangeEditable = this._onDidChangeEditable.event;
120
+ this._onEnabledPortsFeatures = ( new Emitter());
121
+ this.onEnabledPortsFeatures = this._onEnabledPortsFeatures.event;
122
+ this._portsFeaturesEnabled = false;
123
+ this.namedProcesses = ( new Map());
124
+ this._tunnelModel = instantiationService.createInstance(TunnelModel);
125
+ remoteHelpExtPoint.setHandler((extensions) => {
126
+ this._helpInformation.push(...extensions);
127
+ this._onDidChangeHelpInformation.fire(extensions);
128
+ });
129
+ }
130
+ get helpInformation() {
131
+ return this._helpInformation;
132
+ }
133
+ set targetType(name) {
134
+ const current = this._targetType.length > 0 ? this._targetType[0] : '';
135
+ const newName = name.length > 0 ? name[0] : '';
136
+ if (current !== newName) {
137
+ this._targetType = name;
138
+ this.storageService.store(REMOTE_EXPLORER_TYPE_KEY, ( this._targetType.toString()), 1 , 1 );
139
+ this.storageService.store(REMOTE_EXPLORER_TYPE_KEY, ( this._targetType.toString()), 0 , 0 );
140
+ this._onDidChangeTargetType.fire(this._targetType);
141
+ }
142
+ }
143
+ get targetType() {
144
+ return this._targetType;
145
+ }
146
+ get tunnelModel() {
147
+ return this._tunnelModel;
148
+ }
149
+ forward(tunnelProperties, attributes) {
150
+ return this.tunnelModel.forward(tunnelProperties, attributes);
151
+ }
152
+ close(remote, reason) {
153
+ return this.tunnelModel.close(remote.host, remote.port, reason);
154
+ }
155
+ setTunnelInformation(tunnelInformation) {
156
+ if (tunnelInformation?.features) {
157
+ this.tunnelService.setTunnelFeatures(tunnelInformation.features);
158
+ }
159
+ this.tunnelModel.addEnvironmentTunnels(tunnelInformation?.environmentTunnels);
160
+ }
161
+ setEditable(tunnelItem, editId, data) {
162
+ if (!data) {
163
+ this._editable = undefined;
164
+ }
165
+ else {
166
+ this._editable = { tunnelItem, data, editId };
167
+ }
168
+ this._onDidChangeEditable.fire(tunnelItem ? { tunnel: tunnelItem, editId } : undefined);
169
+ }
170
+ getEditableData(tunnelItem, editId) {
171
+ return (this._editable &&
172
+ ((!tunnelItem && (tunnelItem === this._editable.tunnelItem)) ||
173
+ (tunnelItem && (this._editable.tunnelItem?.remotePort === tunnelItem.remotePort) && (this._editable.tunnelItem.remoteHost === tunnelItem.remoteHost)
174
+ && (this._editable.editId === editId)))) ?
175
+ this._editable.data : undefined;
176
+ }
177
+ setCandidateFilter(filter) {
178
+ if (!filter) {
179
+ return {
180
+ dispose: () => { }
181
+ };
182
+ }
183
+ this.tunnelModel.setCandidateFilter(filter);
184
+ return {
185
+ dispose: () => {
186
+ this.tunnelModel.setCandidateFilter(undefined);
187
+ }
188
+ };
189
+ }
190
+ onFoundNewCandidates(candidates) {
191
+ this.tunnelModel.setCandidates(candidates);
192
+ }
193
+ restore() {
194
+ return this.tunnelModel.restoreForwarded();
195
+ }
196
+ enablePortsFeatures() {
197
+ this._portsFeaturesEnabled = true;
198
+ this._onEnabledPortsFeatures.fire();
199
+ }
200
+ get portsFeaturesEnabled() {
201
+ return this._portsFeaturesEnabled;
202
+ }
203
+ };
204
+ RemoteExplorerService = ( __decorate([
205
+ ( __param(0, IStorageService)),
206
+ ( __param(1, ITunnelService)),
207
+ ( __param(2, IInstantiationService))
208
+ ], RemoteExplorerService));
209
+ export { IRemoteExplorerService, PORT_AUTO_FORWARD_SETTING, PORT_AUTO_SOURCE_SETTING, PORT_AUTO_SOURCE_SETTING_HYBRID, PORT_AUTO_SOURCE_SETTING_OUTPUT, PORT_AUTO_SOURCE_SETTING_PROCESS, REMOTE_EXPLORER_TYPE_KEY, RemoteExplorerService, TUNNEL_VIEW_CONTAINER_ID, TUNNEL_VIEW_ID, TunnelEditId, TunnelType };
@@ -1,6 +1,6 @@
1
1
  import { mapArrayOrNot } from 'monaco-editor/esm/vs/base/common/arrays.js';
2
2
  import * as glob from 'monaco-editor/esm/vs/base/common/glob.js';
3
- import * as objects from 'monaco-editor/esm/vs/base/common/objects.js';
3
+ import * as Objects from 'monaco-editor/esm/vs/base/common/objects.js';
4
4
  import * as extpath from 'monaco-editor/esm/vs/base/common/extpath.js';
5
5
  import { getNLines } from 'monaco-editor/esm/vs/base/common/strings.js';
6
6
  import { createDecorator } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
@@ -104,8 +104,8 @@ function getExcludes(configuration, includeSearchExcludes = true) {
104
104
  return fileExcludes || searchExcludes;
105
105
  }
106
106
  let allExcludes = Object.create(null);
107
- allExcludes = objects.mixin(allExcludes, objects.deepClone(fileExcludes));
108
- allExcludes = objects.mixin(allExcludes, objects.deepClone(searchExcludes), true);
107
+ allExcludes = Objects.mixin(allExcludes, Objects.deepClone(fileExcludes));
108
+ allExcludes = Objects.mixin(allExcludes, Objects.deepClone(searchExcludes), true);
109
109
  return allExcludes;
110
110
  }
111
111
  function pathIncludedInQuery(queryProps, fsPath) {
@@ -1,3 +1,77 @@
1
1
  import { createDecorator } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
2
+ import { Emitter, Event } from 'monaco-editor/esm/vs/base/common/event.js';
3
+ import { Disposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
2
4
  const IEmbedderTerminalService = ( createDecorator('embedderTerminalService'));
3
- export { IEmbedderTerminalService };
5
+ class EmbedderTerminalService {
6
+ constructor() {
7
+ this._onDidCreateTerminal = ( new Emitter());
8
+ this.onDidCreateTerminal = Event.buffer(this._onDidCreateTerminal.event);
9
+ }
10
+ createTerminal(options) {
11
+ const slc = {
12
+ name: options.name,
13
+ isFeatureTerminal: true,
14
+ customPtyImplementation(terminalId, cols, rows) {
15
+ return ( new EmbedderTerminalProcess(terminalId, options.pty));
16
+ },
17
+ };
18
+ this._onDidCreateTerminal.fire(slc);
19
+ }
20
+ }
21
+ class EmbedderTerminalProcess extends Disposable {
22
+ constructor(id, pty) {
23
+ super();
24
+ this.id = id;
25
+ this.shouldPersist = false;
26
+ this._onProcessReady = this._register(( new Emitter()));
27
+ this.onProcessReady = this._onProcessReady.event;
28
+ this._onDidChangeProperty = this._register(( new Emitter()));
29
+ this.onDidChangeProperty = this._onDidChangeProperty.event;
30
+ this._onProcessExit = this._register(( new Emitter()));
31
+ this.onProcessExit = this._onProcessExit.event;
32
+ this._pty = pty;
33
+ this.onProcessData = this._pty.onDidWrite;
34
+ if (this._pty.onDidClose) {
35
+ this._register(this._pty.onDidClose(e => this._onProcessExit.fire(e || undefined)));
36
+ }
37
+ if (this._pty.onDidChangeName) {
38
+ this._register(this._pty.onDidChangeName(e => this._onDidChangeProperty.fire({
39
+ type: "title" ,
40
+ value: e
41
+ })));
42
+ }
43
+ }
44
+ async start() {
45
+ this._onProcessReady.fire({ pid: -1, cwd: '', windowsPty: undefined });
46
+ this._pty.open();
47
+ return undefined;
48
+ }
49
+ shutdown() {
50
+ this._pty.close();
51
+ }
52
+ input() {
53
+ }
54
+ async processBinary() {
55
+ }
56
+ resize() {
57
+ }
58
+ clearBuffer() {
59
+ }
60
+ acknowledgeDataEvent() {
61
+ }
62
+ async setUnicodeVersion() {
63
+ }
64
+ async getInitialCwd() {
65
+ return '';
66
+ }
67
+ async getCwd() {
68
+ return '';
69
+ }
70
+ refreshProperty(property) {
71
+ throw new Error(`refreshProperty is not suppported in EmbedderTerminalProcess. property: ${property}`);
72
+ }
73
+ updateProperty(property, value) {
74
+ throw new Error(`updateProperty is not suppported in EmbedderTerminalProcess. property: ${property}, value: ${value}`);
75
+ }
76
+ }
77
+ export { EmbedderTerminalService, IEmbedderTerminalService };
@@ -1,3 +1,242 @@
1
+ import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
2
+ import * as performance$1 from 'monaco-editor/esm/vs/base/common/performance.js';
1
3
  import { createDecorator } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
4
+ import { IWorkspaceContextService } from 'monaco-editor/esm/vs/platform/workspace/common/workspace.js';
5
+ import { IExtensionService } from '../../extensions/common/extensions.js';
6
+ import { IUpdateService } from '../../../../platform/update/common/update.js';
7
+ import { ILifecycleService } from '../../lifecycle/common/lifecycle.js';
8
+ import { IEditorService } from '../../editor/common/editorService.js';
9
+ import { IAccessibilityService } from 'monaco-editor/esm/vs/platform/accessibility/common/accessibility.js';
10
+ import { ITelemetryService } from 'monaco-editor/esm/vs/platform/telemetry/common/telemetry.js';
11
+ import { Barrier, timeout } from 'monaco-editor/esm/vs/base/common/async.js';
12
+ import { IWorkbenchLayoutService } from '../../layout/browser/layoutService.js';
13
+ import { IPaneCompositePartService } from '../../panecomposite/browser/panecomposite.js';
14
+ import { TelemetryTrustedValue } from '../../../../platform/telemetry/common/telemetryUtils.js';
15
+ import { isWeb } from 'monaco-editor/esm/vs/base/common/platform.js';
16
+ import { createBlobWorker } from 'monaco-editor/esm/vs/base/browser/defaultWorkerFactory.js';
17
+ import { Registry } from 'monaco-editor/esm/vs/platform/registry/common/platform.js';
18
+ import { TerminalExtensions } from '../../../../platform/terminal/common/terminal.js';
2
19
  const ITimerService = ( createDecorator('timerService'));
3
- export { ITimerService };
20
+ class PerfMarks {
21
+ constructor() {
22
+ this._entries = [];
23
+ }
24
+ setMarks(source, entries) {
25
+ this._entries.push([source, entries]);
26
+ }
27
+ getDuration(from, to) {
28
+ const fromEntry = this._findEntry(from);
29
+ if (!fromEntry) {
30
+ return 0;
31
+ }
32
+ const toEntry = this._findEntry(to);
33
+ if (!toEntry) {
34
+ return 0;
35
+ }
36
+ return toEntry.startTime - fromEntry.startTime;
37
+ }
38
+ _findEntry(name) {
39
+ for (const [, marks] of this._entries) {
40
+ for (let i = marks.length - 1; i >= 0; i--) {
41
+ if (marks[i].name === name) {
42
+ return marks[i];
43
+ }
44
+ }
45
+ }
46
+ }
47
+ getEntries() {
48
+ return this._entries.slice(0);
49
+ }
50
+ }
51
+ let AbstractTimerService = class AbstractTimerService {
52
+ constructor(_lifecycleService, _contextService, _extensionService, _updateService, _paneCompositeService, _editorService, _accessibilityService, _telemetryService, layoutService) {
53
+ this._lifecycleService = _lifecycleService;
54
+ this._contextService = _contextService;
55
+ this._extensionService = _extensionService;
56
+ this._updateService = _updateService;
57
+ this._paneCompositeService = _paneCompositeService;
58
+ this._editorService = _editorService;
59
+ this._accessibilityService = _accessibilityService;
60
+ this._telemetryService = _telemetryService;
61
+ this._barrier = ( new Barrier());
62
+ this._marks = ( new PerfMarks());
63
+ this._rndValueShouldSendTelemetry = Math.random() < .05;
64
+ Promise.all([
65
+ this._extensionService.whenInstalledExtensionsRegistered(),
66
+ _lifecycleService.when(3 ),
67
+ layoutService.whenRestored,
68
+ Promise.all(( Array.from(( ( Registry.as(TerminalExtensions.Backend)).backends.values())).map(e => e.whenReady)))
69
+ ]).then(() => {
70
+ this.setPerformanceMarks('renderer', performance$1.getMarks());
71
+ return this._computeStartupMetrics();
72
+ }).then(metrics => {
73
+ this._startupMetrics = metrics;
74
+ this._reportStartupTimes(metrics);
75
+ this._barrier.open();
76
+ });
77
+ this.perfBaseline = this._barrier.wait()
78
+ .then(() => this._lifecycleService.when(4 ))
79
+ .then(() => timeout(this._startupMetrics.timers.ellapsedRequire))
80
+ .then(() => {
81
+ const jsSrc = ( (function () {
82
+ let tooSlow = false;
83
+ function fib(n) {
84
+ if (tooSlow) {
85
+ return 0;
86
+ }
87
+ if (performance.now() - t1 >= 1000) {
88
+ tooSlow = true;
89
+ }
90
+ if (n <= 2) {
91
+ return n;
92
+ }
93
+ return fib(n - 1) + fib(n - 2);
94
+ }
95
+ const t1 = performance.now();
96
+ fib(24);
97
+ const value = Math.round(performance.now() - t1);
98
+ postMessage({ value: tooSlow ? -1 : value });
99
+ }).toString());
100
+ const blob = ( new Blob([`(${jsSrc})();`], { type: 'application/javascript' }));
101
+ const blobUrl = URL.createObjectURL(blob);
102
+ const worker = createBlobWorker(blobUrl, { name: 'perfBaseline' });
103
+ return ( new Promise(resolve => {
104
+ worker.onmessage = e => resolve(e.data.value);
105
+ })).finally(() => {
106
+ worker.terminate();
107
+ URL.revokeObjectURL(blobUrl);
108
+ });
109
+ });
110
+ }
111
+ whenReady() {
112
+ return this._barrier.wait();
113
+ }
114
+ get startupMetrics() {
115
+ if (!this._startupMetrics) {
116
+ throw new Error('illegal state, MUST NOT access startupMetrics before whenReady has resolved');
117
+ }
118
+ return this._startupMetrics;
119
+ }
120
+ setPerformanceMarks(source, marks) {
121
+ const codeMarks = marks.filter(mark => mark.name.startsWith('code/'));
122
+ this._marks.setMarks(source, codeMarks);
123
+ this._reportPerformanceMarks(source, codeMarks);
124
+ }
125
+ getPerformanceMarks() {
126
+ return this._marks.getEntries();
127
+ }
128
+ getDuration(from, to) {
129
+ return this._marks.getDuration(from, to);
130
+ }
131
+ _reportStartupTimes(metrics) {
132
+ this._telemetryService.publicLog('startupTimeVaried', metrics);
133
+ }
134
+ _shouldReportPerfMarks() {
135
+ return this._rndValueShouldSendTelemetry;
136
+ }
137
+ _reportPerformanceMarks(source, marks) {
138
+ if (!this._shouldReportPerfMarks()) {
139
+ return;
140
+ }
141
+ for (const mark of marks) {
142
+ this._telemetryService.publicLog2('startup.timer.mark', {
143
+ source,
144
+ name: ( new TelemetryTrustedValue(mark.name)),
145
+ startTime: mark.startTime
146
+ });
147
+ }
148
+ }
149
+ async _computeStartupMetrics() {
150
+ const initialStartup = this._isInitialStartup();
151
+ let startMark;
152
+ if (isWeb) {
153
+ startMark = 'code/timeOrigin';
154
+ }
155
+ else {
156
+ startMark = initialStartup ? 'code/didStartMain' : 'code/willOpenNewWindow';
157
+ }
158
+ const activeViewlet = this._paneCompositeService.getActivePaneComposite(0 );
159
+ const activePanel = this._paneCompositeService.getActivePaneComposite(1 );
160
+ const info = {
161
+ version: 2,
162
+ ellapsed: this._marks.getDuration(startMark, 'code/didStartWorkbench'),
163
+ isLatestVersion: Boolean(await this._updateService.isLatestVersion()),
164
+ didUseCachedData: this._didUseCachedData(),
165
+ windowKind: this._lifecycleService.startupKind,
166
+ windowCount: await this._getWindowCount(),
167
+ viewletId: activeViewlet?.getId(),
168
+ editorIds: ( this._editorService.visibleEditors.map(input => input.typeId)),
169
+ panelId: activePanel ? activePanel.getId() : undefined,
170
+ timers: {
171
+ ellapsedAppReady: initialStartup ? this._marks.getDuration('code/didStartMain', 'code/mainAppReady') : undefined,
172
+ ellapsedNlsGeneration: initialStartup ? this._marks.getDuration('code/willGenerateNls', 'code/didGenerateNls') : undefined,
173
+ ellapsedLoadMainBundle: initialStartup ? this._marks.getDuration('code/willLoadMainBundle', 'code/didLoadMainBundle') : undefined,
174
+ ellapsedCrashReporter: initialStartup ? this._marks.getDuration('code/willStartCrashReporter', 'code/didStartCrashReporter') : undefined,
175
+ ellapsedMainServer: initialStartup ? this._marks.getDuration('code/willStartMainServer', 'code/didStartMainServer') : undefined,
176
+ ellapsedWindowCreate: initialStartup ? this._marks.getDuration('code/willCreateCodeWindow', 'code/didCreateCodeWindow') : undefined,
177
+ ellapsedWindowRestoreState: initialStartup ? this._marks.getDuration('code/willRestoreCodeWindowState', 'code/didRestoreCodeWindowState') : undefined,
178
+ ellapsedBrowserWindowCreate: initialStartup ? this._marks.getDuration('code/willCreateCodeBrowserWindow', 'code/didCreateCodeBrowserWindow') : undefined,
179
+ ellapsedWindowMaximize: initialStartup ? this._marks.getDuration('code/willMaximizeCodeWindow', 'code/didMaximizeCodeWindow') : undefined,
180
+ ellapsedWindowLoad: initialStartup ? this._marks.getDuration('code/mainAppReady', 'code/willOpenNewWindow') : undefined,
181
+ ellapsedWindowLoadToRequire: this._marks.getDuration('code/willOpenNewWindow', 'code/willLoadWorkbenchMain'),
182
+ ellapsedRequire: this._marks.getDuration('code/willLoadWorkbenchMain', 'code/didLoadWorkbenchMain'),
183
+ ellapsedWaitForWindowConfig: this._marks.getDuration('code/willWaitForWindowConfig', 'code/didWaitForWindowConfig'),
184
+ ellapsedStorageInit: this._marks.getDuration('code/willInitStorage', 'code/didInitStorage'),
185
+ ellapsedSharedProcesConnected: this._marks.getDuration('code/willConnectSharedProcess', 'code/didConnectSharedProcess'),
186
+ ellapsedWorkspaceServiceInit: this._marks.getDuration('code/willInitWorkspaceService', 'code/didInitWorkspaceService'),
187
+ ellapsedRequiredUserDataInit: this._marks.getDuration('code/willInitRequiredUserData', 'code/didInitRequiredUserData'),
188
+ ellapsedOtherUserDataInit: this._marks.getDuration('code/willInitOtherUserData', 'code/didInitOtherUserData'),
189
+ ellapsedExtensions: this._marks.getDuration('code/willLoadExtensions', 'code/didLoadExtensions'),
190
+ ellapsedEditorRestore: this._marks.getDuration('code/willRestoreEditors', 'code/didRestoreEditors'),
191
+ ellapsedViewletRestore: this._marks.getDuration('code/willRestoreViewlet', 'code/didRestoreViewlet'),
192
+ ellapsedPanelRestore: this._marks.getDuration('code/willRestorePanel', 'code/didRestorePanel'),
193
+ ellapsedWorkbench: this._marks.getDuration('code/willStartWorkbench', 'code/didStartWorkbench'),
194
+ ellapsedExtensionsReady: this._marks.getDuration(startMark, 'code/didLoadExtensions'),
195
+ ellapsedRenderer: this._marks.getDuration('code/didStartRenderer', 'code/didStartWorkbench')
196
+ },
197
+ platform: undefined,
198
+ release: undefined,
199
+ arch: undefined,
200
+ totalmem: undefined,
201
+ freemem: undefined,
202
+ meminfo: undefined,
203
+ cpus: undefined,
204
+ loadavg: undefined,
205
+ isVMLikelyhood: undefined,
206
+ initialStartup,
207
+ hasAccessibilitySupport: this._accessibilityService.isScreenReaderOptimized(),
208
+ emptyWorkbench: this._contextService.getWorkbenchState() === 1
209
+ };
210
+ await this._extendStartupInfo(info);
211
+ return info;
212
+ }
213
+ };
214
+ AbstractTimerService = ( __decorate([
215
+ ( __param(0, ILifecycleService)),
216
+ ( __param(1, IWorkspaceContextService)),
217
+ ( __param(2, IExtensionService)),
218
+ ( __param(3, IUpdateService)),
219
+ ( __param(4, IPaneCompositePartService)),
220
+ ( __param(5, IEditorService)),
221
+ ( __param(6, IAccessibilityService)),
222
+ ( __param(7, ITelemetryService)),
223
+ ( __param(8, IWorkbenchLayoutService))
224
+ ], AbstractTimerService));
225
+ class TimerService extends AbstractTimerService {
226
+ _isInitialStartup() {
227
+ return false;
228
+ }
229
+ _didUseCachedData() {
230
+ return false;
231
+ }
232
+ async _getWindowCount() {
233
+ return 1;
234
+ }
235
+ async _extendStartupInfo(info) {
236
+ info.isVMLikelyhood = 0;
237
+ info.isARM64Emulated = false;
238
+ info.platform = navigator.userAgent;
239
+ info.release = navigator.appVersion;
240
+ }
241
+ }
242
+ export { AbstractTimerService, ITimerService, TimerService };
@@ -6,6 +6,36 @@ import { isWeb } from 'monaco-editor/esm/vs/base/common/platform.js';
6
6
  import { IExtensionService } from '../../extensions/common/extensions.js';
7
7
  import { mark } from 'monaco-editor/esm/vs/base/common/performance.js';
8
8
  const IUserDataInitializationService = ( createDecorator('IUserDataInitializationService'));
9
+ class UserDataInitializationService {
10
+ constructor(initializers = []) {
11
+ this.initializers = initializers;
12
+ }
13
+ async whenInitializationFinished() {
14
+ if (await this.requiresInitialization()) {
15
+ await Promise.all(( this.initializers.map(initializer => initializer.whenInitializationFinished())));
16
+ }
17
+ }
18
+ async requiresInitialization() {
19
+ return ( (await Promise.all(( this.initializers.map(initializer => initializer.requiresInitialization())))).some(result => result));
20
+ }
21
+ async initializeRequiredResources() {
22
+ if (await this.requiresInitialization()) {
23
+ await Promise.all(( this.initializers.map(initializer => initializer.initializeRequiredResources())));
24
+ }
25
+ }
26
+ async initializeOtherResources(instantiationService) {
27
+ if (await this.requiresInitialization()) {
28
+ await Promise.all(( this.initializers.map(initializer => initializer.initializeOtherResources(instantiationService))));
29
+ }
30
+ }
31
+ async initializeInstalledExtensions(instantiationService) {
32
+ if (await this.requiresInitialization()) {
33
+ await Promise.all(( this.initializers.map(
34
+ initializer => initializer.initializeInstalledExtensions(instantiationService)
35
+ )));
36
+ }
37
+ }
38
+ }
9
39
  let InitializeOtherResourcesContribution = class InitializeOtherResourcesContribution {
10
40
  constructor(userDataInitializeService, instantiationService, extensionService) {
11
41
  extensionService.whenInstalledExtensionsRegistered().then(() => this.initializeOtherResource(userDataInitializeService, instantiationService));
@@ -27,4 +57,4 @@ if (isWeb) {
27
57
  const workbenchRegistry = ( Registry.as(Extensions.Workbench));
28
58
  workbenchRegistry.registerWorkbenchContribution(InitializeOtherResourcesContribution, 3 );
29
59
  }
30
- export { IUserDataInitializationService };
60
+ export { IUserDataInitializationService, UserDataInitializationService };
@@ -1,14 +1,38 @@
1
1
  import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
2
2
  import { createDecorator } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
3
3
  import { RawContextKey } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkey.js';
4
+ import { URI } from 'monaco-editor/esm/vs/base/common/uri.js';
4
5
  import { registerIcon } from 'monaco-editor/esm/vs/platform/theme/common/iconRegistry.js';
5
6
  import { Codicon } from 'monaco-editor/esm/vs/base/common/codicons.js';
6
7
  const IUserDataProfileService = ( createDecorator('IUserDataProfileService'));
8
+ const IUserDataProfileManagementService = ( createDecorator('IUserDataProfileManagementService'));
9
+ const PROFILE_URL_AUTHORITY = 'profile';
10
+ function toUserDataProfileUri(path, productService) {
11
+ return ( URI.from({
12
+ scheme: productService.urlProtocol,
13
+ authority: PROFILE_URL_AUTHORITY,
14
+ path: path.startsWith('/') ? path : `/${path}`
15
+ }));
16
+ }
7
17
  const IUserDataProfileImportExportService = ( createDecorator('IUserDataProfileImportExportService'));
8
18
  const defaultUserDataProfileIcon = registerIcon('defaultProfile-icon', Codicon.settings, ( localizeWithPath(
9
19
  'vs/workbench/services/userDataProfile/common/userDataProfile',
10
20
  'defaultProfileIcon',
11
21
  'Icon for Default Profile.'
12
22
  )));
23
+ const PROFILES_TITLE = { value: ( localizeWithPath(
24
+ 'vs/workbench/services/userDataProfile/common/userDataProfile',
25
+ 'profiles',
26
+ "Profiles"
27
+ )), original: 'Profiles' };
28
+ const PROFILES_CATEGORY = { ...PROFILES_TITLE };
29
+ const PROFILE_EXTENSION = 'code-profile';
30
+ const PROFILE_FILTER = [{ name: ( localizeWithPath(
31
+ 'vs/workbench/services/userDataProfile/common/userDataProfile',
32
+ 'profile',
33
+ "Profile"
34
+ )), extensions: [PROFILE_EXTENSION] }];
13
35
  const CURRENT_PROFILE_CONTEXT = ( new RawContextKey('currentProfile', ''));
14
- export { CURRENT_PROFILE_CONTEXT, IUserDataProfileImportExportService, IUserDataProfileService, defaultUserDataProfileIcon };
36
+ const IS_PROFILE_EXPORT_IN_PROGRESS_CONTEXT = ( new RawContextKey('isProfileExportInProgress', false));
37
+ const IS_PROFILE_IMPORT_IN_PROGRESS_CONTEXT = ( new RawContextKey('isProfileImportInProgress', false));
38
+ export { CURRENT_PROFILE_CONTEXT, IS_PROFILE_EXPORT_IN_PROGRESS_CONTEXT, IS_PROFILE_IMPORT_IN_PROGRESS_CONTEXT, IUserDataProfileImportExportService, IUserDataProfileManagementService, IUserDataProfileService, PROFILES_CATEGORY, PROFILES_TITLE, PROFILE_EXTENSION, PROFILE_FILTER, PROFILE_URL_AUTHORITY, defaultUserDataProfileIcon, toUserDataProfileUri };