@codingame/monaco-vscode-api 4.1.0 → 4.1.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 (902) hide show
  1. package/missing-services.js +11 -2
  2. package/package.json +8 -8
  3. package/vscode/src/vs/base/common/objects.js +1 -1
  4. package/vscode/src/vs/editor/browser/coreCommands.js +1 -1
  5. package/vscode/src/vs/platform/telemetry/common/telemetry.js +1 -2
  6. package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +3 -7
  7. package/vscode/src/vs/workbench/common/editor.js +1 -5
  8. package/vscode/src/vs/workbench/contrib/chat/common/chatService.js +1 -2
  9. package/vscode/src/vs/workbench/contrib/logs/common/logsActions.js +6 -12
  10. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/utils.js +1 -1
  11. package/vscode/src/vs/workbench/services/issue/browser/issueTroubleshoot.js +418 -0
  12. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.js +2 -7
  13. package/override/vs/platform/userDataSync/common/extensionsSync.js +0 -4
  14. package/override/vs/platform/userDataSync/common/globalStateSync.js +0 -5
  15. package/vscode/src/vs/base/browser/hash.js +0 -15
  16. package/vscode/src/vs/base/browser/ui/icons/iconSelectBox.css.js +0 -4
  17. package/vscode/src/vs/base/browser/ui/icons/iconSelectBox.js +0 -246
  18. package/vscode/src/vs/base/common/amd.js +0 -101
  19. package/vscode/src/vs/base/common/console.js +0 -60
  20. package/vscode/src/vs/base/common/paging.js +0 -116
  21. package/vscode/src/vs/base/common/parsers.js +0 -43
  22. package/vscode/src/vs/base/common/processes.js +0 -25
  23. package/vscode/src/vs/base/parts/request/browser/request.js +0 -60
  24. package/vscode/src/vs/editor/common/services/modelUndoRedoParticipant.js +0 -56
  25. package/vscode/src/vs/editor/common/services/textResourceConfigurationService.js +0 -116
  26. package/vscode/src/vs/editor/contrib/quickAccess/browser/commandsQuickAccess.js +0 -23
  27. package/vscode/src/vs/platform/debug/common/extensionHostDebugIpc.js +0 -71
  28. package/vscode/src/vs/platform/download/common/downloadIpc.js +0 -16
  29. package/vscode/src/vs/platform/download/common/downloadService.js +0 -31
  30. package/vscode/src/vs/platform/extensionManagement/common/abstractExtensionManagementService.js +0 -748
  31. package/vscode/src/vs/platform/extensionManagement/common/extensionGalleryService.js +0 -852
  32. package/vscode/src/vs/platform/extensionManagement/common/extensionManagementCLI.js +0 -495
  33. package/vscode/src/vs/platform/extensionManagement/common/extensionManagementIpc.js +0 -120
  34. package/vscode/src/vs/platform/extensionManagement/common/extensionTipsService.js +0 -65
  35. package/vscode/src/vs/platform/extensionManagement/common/unsupportedExtensionsMigration.js +0 -56
  36. package/vscode/src/vs/platform/extensionResourceLoader/browser/extensionResourceLoaderService.js +0 -42
  37. package/vscode/src/vs/platform/externalServices/common/marketplace.js +0 -15
  38. package/vscode/src/vs/platform/externalTerminal/common/externalTerminal.js +0 -3
  39. package/vscode/src/vs/platform/files/browser/indexedDBFileSystemProvider.js +0 -404
  40. package/vscode/src/vs/platform/files/common/fileService.js +0 -986
  41. package/vscode/src/vs/platform/files/common/io.js +0 -75
  42. package/vscode/src/vs/platform/issue/common/issueReporterUtil.js +0 -15
  43. package/vscode/src/vs/platform/keyboardLayout/common/keyboardConfig.js +0 -48
  44. package/vscode/src/vs/platform/keyboardLayout/common/keyboardMapper.js +0 -23
  45. package/vscode/src/vs/platform/lifecycle/common/lifecycle.js +0 -25
  46. package/vscode/src/vs/platform/log/common/fileLog.js +0 -105
  47. package/vscode/src/vs/platform/log/common/logIpc.js +0 -26
  48. package/vscode/src/vs/platform/quickinput/browser/commandsQuickAccess.js +0 -355
  49. package/vscode/src/vs/platform/quickinput/browser/helpQuickAccess.js +0 -65
  50. package/vscode/src/vs/platform/remote/browser/remoteAuthorityResolverService.js +0 -108
  51. package/vscode/src/vs/platform/remote/common/managedSocket.js +0 -96
  52. package/vscode/src/vs/platform/request/browser/requestService.js +0 -28
  53. package/vscode/src/vs/platform/request/common/requestIpc.js +0 -18
  54. package/vscode/src/vs/platform/telemetry/common/commonProperties.js +0 -11
  55. package/vscode/src/vs/platform/terminal/common/capabilities/naiveCwdDetectionCapability.js +0 -22
  56. package/vscode/src/vs/platform/terminal/common/environmentVariable.js +0 -7
  57. package/vscode/src/vs/platform/terminal/common/environmentVariableCollection.js +0 -196
  58. package/vscode/src/vs/platform/terminal/common/terminalLogService.js +0 -49
  59. package/vscode/src/vs/platform/terminal/common/terminalPlatformConfiguration.js +0 -518
  60. package/vscode/src/vs/platform/terminal/common/terminalProfiles.js +0 -111
  61. package/vscode/src/vs/platform/terminal/common/terminalRecorder.js +0 -66
  62. package/vscode/src/vs/platform/update/common/update.config.contribution.js +0 -98
  63. package/vscode/src/vs/platform/url/common/urlService.js +0 -20
  64. package/vscode/src/vs/platform/userDataProfile/browser/userDataProfile.js +0 -93
  65. package/vscode/src/vs/platform/userDataProfile/common/userDataProfileStorageService.js +0 -8
  66. package/vscode/src/vs/platform/userDataSync/common/extensionsSync.js +0 -256
  67. package/vscode/src/vs/platform/userDataSync/common/globalStateSync.js +0 -120
  68. package/vscode/src/vs/platform/userDataSync/common/keybindingsMerge.js +0 -275
  69. package/vscode/src/vs/platform/userDataSync/common/keybindingsSync.js +0 -316
  70. package/vscode/src/vs/platform/userDataSync/common/settingsSync.js +0 -314
  71. package/vscode/src/vs/platform/userDataSync/common/snippetsMerge.js +0 -125
  72. package/vscode/src/vs/platform/userDataSync/common/snippetsSync.js +0 -474
  73. package/vscode/src/vs/platform/userDataSync/common/tasksSync.js +0 -242
  74. package/vscode/src/vs/platform/userDataSync/common/userDataAutoSyncService.js +0 -464
  75. package/vscode/src/vs/platform/userDataSync/common/userDataProfilesManifestMerge.js +0 -90
  76. package/vscode/src/vs/platform/userDataSync/common/userDataProfilesManifestSync.js +0 -257
  77. package/vscode/src/vs/platform/userDataSync/common/userDataSyncEnablementService.js +0 -75
  78. package/vscode/src/vs/platform/userDataSync/common/userDataSyncLocalStoreService.js +0 -148
  79. package/vscode/src/vs/platform/userDataSync/common/userDataSyncLog.js +0 -39
  80. package/vscode/src/vs/platform/userDataSync/common/userDataSyncResourceProvider.js +0 -447
  81. package/vscode/src/vs/platform/userDataSync/common/userDataSyncService.js +0 -781
  82. package/vscode/src/vs/workbench/api/browser/extensionHost.contribution.js +0 -103
  83. package/vscode/src/vs/workbench/api/browser/mainThreadAiEmbeddingVector.js +0 -29
  84. package/vscode/src/vs/workbench/api/browser/mainThreadAiRelatedInformation.js +0 -33
  85. package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.js +0 -252
  86. package/vscode/src/vs/workbench/api/browser/mainThreadBulkEdits.js +0 -66
  87. package/vscode/src/vs/workbench/api/browser/mainThreadCLICommands.js +0 -102
  88. package/vscode/src/vs/workbench/api/browser/mainThreadChat.js +0 -68
  89. package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.js +0 -205
  90. package/vscode/src/vs/workbench/api/browser/mainThreadChatVariables.js +0 -39
  91. package/vscode/src/vs/workbench/api/browser/mainThreadClipboard.js +0 -22
  92. package/vscode/src/vs/workbench/api/browser/mainThreadCodeInsets.js +0 -106
  93. package/vscode/src/vs/workbench/api/browser/mainThreadCommands.js +0 -96
  94. package/vscode/src/vs/workbench/api/browser/mainThreadComments.js +0 -558
  95. package/vscode/src/vs/workbench/api/browser/mainThreadConfiguration.js +0 -78
  96. package/vscode/src/vs/workbench/api/browser/mainThreadConsole.js +0 -33
  97. package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.js +0 -577
  98. package/vscode/src/vs/workbench/api/browser/mainThreadDebugService.js +0 -433
  99. package/vscode/src/vs/workbench/api/browser/mainThreadDecorations.js +0 -100
  100. package/vscode/src/vs/workbench/api/browser/mainThreadDiagnostics.js +0 -67
  101. package/vscode/src/vs/workbench/api/browser/mainThreadDialogs.js +0 -66
  102. package/vscode/src/vs/workbench/api/browser/mainThreadDocumentContentProviders.js +0 -77
  103. package/vscode/src/vs/workbench/api/browser/mainThreadDocuments.js +0 -251
  104. package/vscode/src/vs/workbench/api/browser/mainThreadDocumentsAndEditors.js +0 -368
  105. package/vscode/src/vs/workbench/api/browser/mainThreadDownloadService.js +0 -20
  106. package/vscode/src/vs/workbench/api/browser/mainThreadEditSessionIdentityParticipant.js +0 -39
  107. package/vscode/src/vs/workbench/api/browser/mainThreadEditor.js +0 -412
  108. package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.js +0 -499
  109. package/vscode/src/vs/workbench/api/browser/mainThreadEditors.js +0 -225
  110. package/vscode/src/vs/workbench/api/browser/mainThreadErrors.js +0 -22
  111. package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.js +0 -315
  112. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystem.js +0 -206
  113. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.js +0 -367
  114. package/vscode/src/vs/workbench/api/browser/mainThreadInlineChat.js +0 -70
  115. package/vscode/src/vs/workbench/api/browser/mainThreadInteractive.js +0 -26
  116. package/vscode/src/vs/workbench/api/browser/mainThreadIssueReporter.js +0 -48
  117. package/vscode/src/vs/workbench/api/browser/mainThreadLabelService.js +0 -25
  118. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.js +0 -1014
  119. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.js +0 -183
  120. package/vscode/src/vs/workbench/api/browser/mainThreadLanguages.js +0 -76
  121. package/vscode/src/vs/workbench/api/browser/mainThreadLocalization.js +0 -33
  122. package/vscode/src/vs/workbench/api/browser/mainThreadLogService.js +0 -76
  123. package/vscode/src/vs/workbench/api/browser/mainThreadManagedSockets.js +0 -91
  124. package/vscode/src/vs/workbench/api/browser/mainThreadMessageService.js +0 -135
  125. package/vscode/src/vs/workbench/api/browser/mainThreadNotebook.js +0 -192
  126. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocuments.js +0 -121
  127. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocumentsAndEditors.js +0 -186
  128. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDto.js +0 -127
  129. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookEditors.js +0 -129
  130. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookKernels.js +0 -372
  131. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookRenderers.js +0 -23
  132. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.js +0 -46
  133. package/vscode/src/vs/workbench/api/browser/mainThreadOutputService.js +0 -74
  134. package/vscode/src/vs/workbench/api/browser/mainThreadProfileContentHandlers.js +0 -36
  135. package/vscode/src/vs/workbench/api/browser/mainThreadProgress.js +0 -66
  136. package/vscode/src/vs/workbench/api/browser/mainThreadQuickDiff.js +0 -40
  137. package/vscode/src/vs/workbench/api/browser/mainThreadQuickOpen.js +0 -183
  138. package/vscode/src/vs/workbench/api/browser/mainThreadRemoteConnectionData.js +0 -28
  139. package/vscode/src/vs/workbench/api/browser/mainThreadSCM.js +0 -491
  140. package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.js +0 -47
  141. package/vscode/src/vs/workbench/api/browser/mainThreadSearch.js +0 -166
  142. package/vscode/src/vs/workbench/api/browser/mainThreadSecretState.js +0 -68
  143. package/vscode/src/vs/workbench/api/browser/mainThreadShare.js +0 -48
  144. package/vscode/src/vs/workbench/api/browser/mainThreadSpeech.js +0 -97
  145. package/vscode/src/vs/workbench/api/browser/mainThreadStatusBar.js +0 -51
  146. package/vscode/src/vs/workbench/api/browser/mainThreadStorage.js +0 -70
  147. package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +0 -729
  148. package/vscode/src/vs/workbench/api/browser/mainThreadTelemetry.js +0 -51
  149. package/vscode/src/vs/workbench/api/browser/mainThreadTerminalService.js +0 -407
  150. package/vscode/src/vs/workbench/api/browser/mainThreadTerminalShellIntegration.js +0 -49
  151. package/vscode/src/vs/workbench/api/browser/mainThreadTesting.js +0 -217
  152. package/vscode/src/vs/workbench/api/browser/mainThreadTheming.js +0 -22
  153. package/vscode/src/vs/workbench/api/browser/mainThreadTimeline.js +0 -53
  154. package/vscode/src/vs/workbench/api/browser/mainThreadTreeViews.js +0 -310
  155. package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.js +0 -221
  156. package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.js +0 -108
  157. package/vscode/src/vs/workbench/api/browser/mainThreadUrls.js +0 -59
  158. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewManager.js +0 -27
  159. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewPanels.js +0 -281
  160. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewViews.js +0 -98
  161. package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.js +0 -133
  162. package/vscode/src/vs/workbench/api/browser/mainThreadWindow.js +0 -55
  163. package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.js +0 -266
  164. package/vscode/src/vs/workbench/api/common/configurationExtensionPoint.js +0 -594
  165. package/vscode/src/vs/workbench/api/common/shared/dataTransferCache.js +0 -33
  166. package/vscode/src/vs/workbench/browser/actions/quickAccessActions.js +0 -227
  167. package/vscode/src/vs/workbench/browser/layout.js +0 -2059
  168. package/vscode/src/vs/workbench/browser/parts/banner/bannerPart.js +0 -233
  169. package/vscode/src/vs/workbench/browser/parts/banner/media/bannerpart.css.js +0 -4
  170. package/vscode/src/vs/workbench/browser/parts/dialogs/dialog.web.contribution.js +0 -74
  171. package/vscode/src/vs/workbench/browser/parts/dialogs/dialogHandler.js +0 -132
  172. package/vscode/src/vs/workbench/browser/parts/statusbar/media/statusbarpart.css.js +0 -4
  173. package/vscode/src/vs/workbench/browser/parts/statusbar/statusbarActions.js +0 -119
  174. package/vscode/src/vs/workbench/browser/parts/statusbar/statusbarItem.js +0 -250
  175. package/vscode/src/vs/workbench/browser/parts/statusbar/statusbarModel.js +0 -249
  176. package/vscode/src/vs/workbench/browser/parts/statusbar/statusbarPart.js +0 -610
  177. package/vscode/src/vs/workbench/browser/parts/titlebar/commandCenterControl.js +0 -220
  178. package/vscode/src/vs/workbench/browser/parts/titlebar/media/titlebarpart.css.js +0 -4
  179. package/vscode/src/vs/workbench/browser/parts/titlebar/titlebarActions.js +0 -259
  180. package/vscode/src/vs/workbench/browser/parts/titlebar/titlebarPart.js +0 -582
  181. package/vscode/src/vs/workbench/common/dialogs.js +0 -36
  182. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibility.contribution.js +0 -23
  183. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityStatus.js +0 -112
  184. package/vscode/src/vs/workbench/contrib/accessibility/browser/openDiffEditorAnnouncement.js +0 -50
  185. package/vscode/src/vs/workbench/contrib/accessibility/browser/saveAccessibilitySignal.js +0 -18
  186. package/vscode/src/vs/workbench/contrib/accessibility/browser/unfocusedViewDimmingContribution.js +0 -66
  187. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkEditService.js +0 -358
  188. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkFileEdits.js +0 -362
  189. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkTextEdits.js +0 -265
  190. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/conflicts.js +0 -78
  191. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/preview/bulkEdit.contribution.js +0 -364
  192. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/preview/bulkEdit.css.js +0 -4
  193. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/preview/bulkEditPane.js +0 -340
  194. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/preview/bulkEditPreview.js +0 -361
  195. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/preview/bulkEditTree.js +0 -655
  196. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClear.js +0 -15
  197. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClearActions.js +0 -113
  198. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +0 -501
  199. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +0 -80
  200. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +0 -75
  201. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +0 -108
  202. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +0 -169
  203. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +0 -269
  204. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +0 -316
  205. package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.js +0 -58
  206. package/vscode/src/vs/workbench/contrib/chat/browser/chatContributionServiceImpl.js +0 -421
  207. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.js +0 -96
  208. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.js +0 -283
  209. package/vscode/src/vs/workbench/contrib/chat/browser/chatVariables.js +0 -88
  210. package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.js +0 -183
  211. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatHistoryVariables.js +0 -25
  212. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorContrib.js +0 -617
  213. package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.js +0 -598
  214. package/vscode/src/vs/workbench/contrib/chat/common/voiceChat.js +0 -139
  215. package/vscode/src/vs/workbench/contrib/codeEditor/browser/accessibility/accessibility.css.js +0 -4
  216. package/vscode/src/vs/workbench/contrib/codeEditor/browser/accessibility/accessibility.js +0 -39
  217. package/vscode/src/vs/workbench/contrib/codeEditor/browser/emptyTextEditorHint/emptyTextEditorHint.css.js +0 -4
  218. package/vscode/src/vs/workbench/contrib/codeEditor/browser/emptyTextEditorHint/emptyTextEditorHint.js +0 -389
  219. package/vscode/src/vs/workbench/contrib/codeEditor/browser/outline/documentSymbolsOutline.js +0 -370
  220. package/vscode/src/vs/workbench/contrib/codeEditor/browser/outline/documentSymbolsTree.css.js +0 -4
  221. package/vscode/src/vs/workbench/contrib/codeEditor/browser/outline/documentSymbolsTree.js +0 -290
  222. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoLineQuickAccess.js +0 -86
  223. package/vscode/src/vs/workbench/contrib/commands/common/commands.contribution.js +0 -145
  224. package/vscode/src/vs/workbench/contrib/comments/browser/comments.contribution.js +0 -231
  225. package/vscode/src/vs/workbench/contrib/comments/browser/commentsEditorContribution.js +0 -282
  226. package/vscode/src/vs/workbench/contrib/customEditor/common/customTextEditorModel.js +0 -74
  227. package/vscode/src/vs/workbench/contrib/debug/browser/callStackView.js +0 -1024
  228. package/vscode/src/vs/workbench/contrib/debug/browser/debug.contribution.js +0 -1003
  229. package/vscode/src/vs/workbench/contrib/debug/browser/debugANSIHandling.js +0 -345
  230. package/vscode/src/vs/workbench/contrib/debug/browser/debugActionViewItems.js +0 -335
  231. package/vscode/src/vs/workbench/contrib/debug/browser/debugAdapterManager.js +0 -430
  232. package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +0 -1037
  233. package/vscode/src/vs/workbench/contrib/debug/browser/debugConfigurationManager.js +0 -647
  234. package/vscode/src/vs/workbench/contrib/debug/browser/debugConsoleQuickAccess.js +0 -62
  235. package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorActions.js +0 -634
  236. package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorContribution.js +0 -738
  237. package/vscode/src/vs/workbench/contrib/debug/browser/debugHover.js +0 -406
  238. package/vscode/src/vs/workbench/contrib/debug/browser/debugMemory.js +0 -204
  239. package/vscode/src/vs/workbench/contrib/debug/browser/debugProgress.js +0 -78
  240. package/vscode/src/vs/workbench/contrib/debug/browser/debugQuickAccess.js +0 -167
  241. package/vscode/src/vs/workbench/contrib/debug/browser/debugService.js +0 -1269
  242. package/vscode/src/vs/workbench/contrib/debug/browser/debugSession.js +0 -1328
  243. package/vscode/src/vs/workbench/contrib/debug/browser/debugSessionPicker.js +0 -113
  244. package/vscode/src/vs/workbench/contrib/debug/browser/debugStatus.js +0 -75
  245. package/vscode/src/vs/workbench/contrib/debug/browser/debugTaskRunner.js +0 -305
  246. package/vscode/src/vs/workbench/contrib/debug/browser/debugTitle.js +0 -29
  247. package/vscode/src/vs/workbench/contrib/debug/browser/debugToolBar.js +0 -385
  248. package/vscode/src/vs/workbench/contrib/debug/browser/debugViewlet.js +0 -265
  249. package/vscode/src/vs/workbench/contrib/debug/browser/disassemblyView.js +0 -815
  250. package/vscode/src/vs/workbench/contrib/debug/browser/exceptionWidget.js +0 -129
  251. package/vscode/src/vs/workbench/contrib/debug/browser/extensionHostDebugService.js +0 -140
  252. package/vscode/src/vs/workbench/contrib/debug/browser/linkDetector.js +0 -260
  253. package/vscode/src/vs/workbench/contrib/debug/browser/loadedScriptsView.js +0 -667
  254. package/vscode/src/vs/workbench/contrib/debug/browser/media/debug.contribution.css.js +0 -4
  255. package/vscode/src/vs/workbench/contrib/debug/browser/media/debugHover.css.js +0 -4
  256. package/vscode/src/vs/workbench/contrib/debug/browser/media/debugToolBar.css.js +0 -4
  257. package/vscode/src/vs/workbench/contrib/debug/browser/media/debugViewlet.css.js +0 -4
  258. package/vscode/src/vs/workbench/contrib/debug/browser/media/exceptionWidget.css.js +0 -4
  259. package/vscode/src/vs/workbench/contrib/debug/browser/media/repl.css.js +0 -4
  260. package/vscode/src/vs/workbench/contrib/debug/browser/rawDebugSession.js +0 -707
  261. package/vscode/src/vs/workbench/contrib/debug/browser/repl.js +0 -1000
  262. package/vscode/src/vs/workbench/contrib/debug/browser/replFilter.js +0 -46
  263. package/vscode/src/vs/workbench/contrib/debug/browser/replViewer.js +0 -350
  264. package/vscode/src/vs/workbench/contrib/debug/browser/statusbarColorProvider.js +0 -127
  265. package/vscode/src/vs/workbench/contrib/debug/browser/variablesView.js +0 -732
  266. package/vscode/src/vs/workbench/contrib/debug/browser/watchExpressionsView.js +0 -499
  267. package/vscode/src/vs/workbench/contrib/debug/browser/welcomeView.js +0 -160
  268. package/vscode/src/vs/workbench/contrib/debug/common/breakpoints.js +0 -19
  269. package/vscode/src/vs/workbench/contrib/debug/common/debugCompoundRoot.js +0 -15
  270. package/vscode/src/vs/workbench/contrib/debug/common/debugContentProvider.js +0 -108
  271. package/vscode/src/vs/workbench/contrib/debug/common/debugLifecycle.js +0 -60
  272. package/vscode/src/vs/workbench/contrib/debug/common/debugSchemas.js +0 -458
  273. package/vscode/src/vs/workbench/contrib/debug/common/debugStorage.js +0 -164
  274. package/vscode/src/vs/workbench/contrib/debug/common/debugTelemetry.js +0 -34
  275. package/vscode/src/vs/workbench/contrib/debug/common/debugViewModel.js +0 -148
  276. package/vscode/src/vs/workbench/contrib/debug/common/debugger.js +0 -287
  277. package/vscode/src/vs/workbench/contrib/debug/common/loadedScriptsPicker.js +0 -85
  278. package/vscode/src/vs/workbench/contrib/editSessions/browser/editSessions.contribution.js +0 -1197
  279. package/vscode/src/vs/workbench/contrib/editSessions/browser/editSessionsFileSystemProvider.js +0 -55
  280. package/vscode/src/vs/workbench/contrib/editSessions/browser/editSessionsStorageService.js +0 -455
  281. package/vscode/src/vs/workbench/contrib/editSessions/browser/editSessionsViews.js +0 -337
  282. package/vscode/src/vs/workbench/contrib/editSessions/common/editSessionsLogService.js +0 -39
  283. package/vscode/src/vs/workbench/contrib/editSessions/common/editSessionsStorageClient.js +0 -4
  284. package/vscode/src/vs/workbench/contrib/editSessions/common/workspaceStateSync.js +0 -140
  285. package/vscode/src/vs/workbench/contrib/emmet/browser/actions/expandAbbreviation.js +0 -41
  286. package/vscode/src/vs/workbench/contrib/emmet/browser/emmetActions.js +0 -88
  287. package/vscode/src/vs/workbench/contrib/extensions/browser/abstractRuntimeExtensionsEditor.js +0 -539
  288. package/vscode/src/vs/workbench/contrib/extensions/browser/browserRuntimeExtensionsEditor.js +0 -26
  289. package/vscode/src/vs/workbench/contrib/extensions/browser/configBasedRecommendations.js +0 -76
  290. package/vscode/src/vs/workbench/contrib/extensions/browser/deprecatedExtensionsChecker.js +0 -88
  291. package/vscode/src/vs/workbench/contrib/extensions/browser/exeBasedRecommendations.js +0 -58
  292. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEditor.js +0 -1171
  293. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEnablementWorkspaceTrustTransitionParticipant.js +0 -50
  294. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionFeaturesTab.js +0 -543
  295. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendationNotificationService.js +0 -464
  296. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendations.js +0 -15
  297. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendationsService.js +0 -233
  298. package/vscode/src/vs/workbench/contrib/extensions/browser/extensions.contribution.js +0 -2182
  299. package/vscode/src/vs/workbench/contrib/extensions/browser/extensions.web.contribution.js +0 -12
  300. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActivationProgress.js +0 -44
  301. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsCompletionItemsProvider.js +0 -63
  302. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsDependencyChecker.js +0 -96
  303. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsList.js +0 -219
  304. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsQuickAccess.js +0 -119
  305. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewer.js +0 -293
  306. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.js +0 -934
  307. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViews.js +0 -1349
  308. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWidgets.js +0 -858
  309. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.js +0 -2349
  310. package/vscode/src/vs/workbench/contrib/extensions/browser/fileBasedRecommendations.js +0 -328
  311. package/vscode/src/vs/workbench/contrib/extensions/browser/keymapRecommendations.js +0 -26
  312. package/vscode/src/vs/workbench/contrib/extensions/browser/languageRecommendations.js +0 -26
  313. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extension.css.js +0 -4
  314. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionEditor.css.js +0 -4
  315. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionsViewlet.css.js +0 -4
  316. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionsWidgets.css.js +0 -4
  317. package/vscode/src/vs/workbench/contrib/extensions/browser/media/runtimeExtensionsEditor.css.js +0 -4
  318. package/vscode/src/vs/workbench/contrib/extensions/browser/remoteRecommendations.js +0 -27
  319. package/vscode/src/vs/workbench/contrib/extensions/browser/unsupportedExtensionsMigrationContribution.js +0 -24
  320. package/vscode/src/vs/workbench/contrib/extensions/browser/webRecommendations.js +0 -36
  321. package/vscode/src/vs/workbench/contrib/extensions/browser/workspaceRecommendations.js +0 -160
  322. package/vscode/src/vs/workbench/contrib/extensions/common/extensionQuery.js +0 -56
  323. package/vscode/src/vs/workbench/contrib/extensions/common/reportExtensionIssueAction.js +0 -29
  324. package/vscode/src/vs/workbench/contrib/extensions/common/runtimeExtensionsInput.js +0 -49
  325. package/vscode/src/vs/workbench/contrib/externalTerminal/browser/externalTerminal.contribution.js +0 -152
  326. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/contributedOpeners.js +0 -81
  327. package/vscode/src/vs/workbench/contrib/files/browser/explorerService.js +0 -430
  328. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.contribution.js +0 -786
  329. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands.js +0 -510
  330. package/vscode/src/vs/workbench/contrib/files/browser/files.explorer.contribution.js +0 -460
  331. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +0 -39
  332. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibleView.js +0 -39
  333. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.js +0 -70
  334. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSavingServiceImpl.js +0 -234
  335. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChatServiceImpl.js +0 -31
  336. package/vscode/src/vs/workbench/contrib/interactive/browser/interactive.contribution.js +0 -737
  337. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveCommon.js +0 -6
  338. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveEditor.css.js +0 -4
  339. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveEditor.js +0 -600
  340. package/vscode/src/vs/workbench/contrib/interactive/browser/media/interactive.css.js +0 -4
  341. package/vscode/src/vs/workbench/contrib/issue/browser/issue.contribution.js +0 -27
  342. package/vscode/src/vs/workbench/contrib/issue/common/issue.contribution.js +0 -102
  343. package/vscode/src/vs/workbench/contrib/keybindings/browser/keybindings.contribution.js +0 -28
  344. package/vscode/src/vs/workbench/contrib/languageDetection/browser/languageDetection.contribution.js +0 -156
  345. package/vscode/src/vs/workbench/contrib/localHistory/browser/localHistory.contribution.js +0 -4
  346. package/vscode/src/vs/workbench/contrib/localHistory/browser/localHistory.js +0 -35
  347. package/vscode/src/vs/workbench/contrib/localHistory/browser/localHistoryCommands.js +0 -635
  348. package/vscode/src/vs/workbench/contrib/localHistory/browser/localHistoryFileSystemProvider.js +0 -87
  349. package/vscode/src/vs/workbench/contrib/localHistory/browser/localHistoryTimeline.js +0 -136
  350. package/vscode/src/vs/workbench/contrib/logs/common/logs.contribution.js +0 -225
  351. package/vscode/src/vs/workbench/contrib/markdown/browser/markdownSettingRenderer.js +0 -307
  352. package/vscode/src/vs/workbench/contrib/markers/browser/markers.contribution.js +0 -759
  353. package/vscode/src/vs/workbench/contrib/markers/browser/markersFileDecorations.js +0 -127
  354. package/vscode/src/vs/workbench/contrib/markers/browser/markersFilterOptions.js +0 -75
  355. package/vscode/src/vs/workbench/contrib/markers/browser/markersModel.js +0 -200
  356. package/vscode/src/vs/workbench/contrib/markers/browser/markersTable.js +0 -475
  357. package/vscode/src/vs/workbench/contrib/markers/browser/markersTreeViewer.js +0 -691
  358. package/vscode/src/vs/workbench/contrib/markers/browser/markersView.js +0 -900
  359. package/vscode/src/vs/workbench/contrib/markers/browser/markersViewActions.css.js +0 -4
  360. package/vscode/src/vs/workbench/contrib/markers/browser/markersViewActions.js +0 -132
  361. package/vscode/src/vs/workbench/contrib/markers/browser/media/markers.css.js +0 -4
  362. package/vscode/src/vs/workbench/contrib/markers/browser/messages.js +0 -301
  363. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/actions.js +0 -108
  364. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditor.contribution.js +0 -39
  365. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditor.js +0 -117
  366. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/scmMultiDiffSourceResolver.js +0 -146
  367. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/contributedStatusBarItemController.js +0 -107
  368. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/statusBarProviders.js +0 -172
  369. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/clipboard/notebookClipboard.js +0 -542
  370. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/debug/notebookBreakpoints.js +0 -105
  371. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/debug/notebookCellPausing.js +0 -66
  372. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/debug/notebookDebugDecorations.js +0 -163
  373. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/editorHint/emptyCellEditorHint.js +0 -65
  374. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/editorStatusBar/editorStatusBar.js +0 -318
  375. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/execute/executionEditorProgress.js +0 -70
  376. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/media/notebookFind.css.js +0 -4
  377. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFind.js +0 -167
  378. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/format/formatting.js +0 -207
  379. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/gettingStarted/notebookGettingStarted.js +0 -82
  380. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/kernelDetection/notebookKernelDetection.js +0 -81
  381. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/layout/layoutActions.js +0 -65
  382. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/marker/markerProvider.js +0 -100
  383. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/navigation/arrow.js +0 -391
  384. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/notebookVariables/notebookVariableCommands.js +0 -62
  385. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/notebookVariables/notebookVariableContextKeys.js +0 -3
  386. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/notebookVariables/notebookVariables.js +0 -95
  387. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/notebookVariables/notebookVariablesDataSource.js +0 -118
  388. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/notebookVariables/notebookVariablesTree.js +0 -58
  389. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/notebookVariables/notebookVariablesView.js +0 -148
  390. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/outline/notebookOutline.js +0 -654
  391. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/profile/notebookProfile.js +0 -75
  392. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/saveParticipants/saveParticipants.js +0 -515
  393. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/troubleshoot/layout.js +0 -157
  394. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/undoRedo/notebookUndoRedo.js +0 -55
  395. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/viewportWarmup/viewportWarmup.js +0 -93
  396. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/apiActions.js +0 -50
  397. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +0 -651
  398. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/executeActions.js +0 -719
  399. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +0 -349
  400. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/layoutActions.js +0 -314
  401. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/sectionActions.js +0 -197
  402. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffCellEditorOptions.js +0 -46
  403. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +0 -1295
  404. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +0 -282
  405. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementViewModel.js +0 -561
  406. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffNestedCellViewModel.js +0 -113
  407. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/eventDispatcher.js +0 -37
  408. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiff.css.js +0 -4
  409. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffActions.js +0 -312
  410. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +0 -909
  411. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +0 -11
  412. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +0 -393
  413. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffOverviewRuler.js +0 -183
  414. package/vscode/src/vs/workbench/contrib/notebook/browser/notebook.contribution.js +0 -1185
  415. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibility.js +0 -157
  416. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookExtensionPoint.js +0 -449
  417. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookEditorServiceImpl.js +0 -190
  418. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookExecutionServiceImpl.js +0 -104
  419. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookExecutionStateServiceImpl.js +0 -508
  420. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookKernelHistoryServiceImpl.js +0 -128
  421. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookKernelServiceImpl.js +0 -339
  422. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookKeymapServiceImpl.js +0 -109
  423. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookLoggingServiceImpl.js +0 -26
  424. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookRendererMessagingServiceImpl.js +0 -63
  425. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookServiceImpl.js +0 -639
  426. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookWorkerServiceImpl.js +0 -198
  427. package/vscode/src/vs/workbench/contrib/notebook/common/model/cellEdit.js +0 -89
  428. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookTextModel.js +0 -1000
  429. package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiffEditorInput.js +0 -101
  430. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModelResolverServiceImpl.js +0 -201
  431. package/vscode/src/vs/workbench/contrib/notebook/common/notebookOutputRenderer.js +0 -78
  432. package/vscode/src/vs/workbench/contrib/notebook/common/notebookProvider.js +0 -96
  433. package/vscode/src/vs/workbench/contrib/outline/browser/outline.contribution.js +0 -367
  434. package/vscode/src/vs/workbench/contrib/outline/browser/outlineActions.js +0 -172
  435. package/vscode/src/vs/workbench/contrib/outline/browser/outlinePane.css.js +0 -4
  436. package/vscode/src/vs/workbench/contrib/outline/browser/outlinePane.js +0 -316
  437. package/vscode/src/vs/workbench/contrib/outline/browser/outlineViewState.js +0 -66
  438. package/vscode/src/vs/workbench/contrib/output/browser/output.contribution.js +0 -613
  439. package/vscode/src/vs/workbench/contrib/output/browser/output.css.js +0 -4
  440. package/vscode/src/vs/workbench/contrib/output/browser/outputLinkProvider.js +0 -76
  441. package/vscode/src/vs/workbench/contrib/output/browser/outputServices.js +0 -200
  442. package/vscode/src/vs/workbench/contrib/output/browser/outputView.js +0 -224
  443. package/vscode/src/vs/workbench/contrib/performance/browser/inputLatencyContrib.js +0 -43
  444. package/vscode/src/vs/workbench/contrib/performance/browser/performance.contribution.js +0 -116
  445. package/vscode/src/vs/workbench/contrib/performance/browser/performance.web.contribution.js +0 -5
  446. package/vscode/src/vs/workbench/contrib/performance/browser/perfviewEditor.js +0 -340
  447. package/vscode/src/vs/workbench/contrib/performance/browser/startupTimings.js +0 -114
  448. package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingsEditor.js +0 -1237
  449. package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingsEditorContribution.js +0 -248
  450. package/vscode/src/vs/workbench/contrib/preferences/browser/media/keybindingsEditor.css.js +0 -4
  451. package/vscode/src/vs/workbench/contrib/preferences/browser/media/preferences.css.js +0 -4
  452. package/vscode/src/vs/workbench/contrib/preferences/browser/media/settingsEditor2.css.js +0 -4
  453. package/vscode/src/vs/workbench/contrib/preferences/browser/media/settingsWidgets.css.js +0 -4
  454. package/vscode/src/vs/workbench/contrib/preferences/browser/preferences.contribution.js +0 -1374
  455. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesActions.js +0 -104
  456. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesEditor.js +0 -47
  457. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesRenderers.js +0 -784
  458. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesSearch.js +0 -461
  459. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsEditor2.js +0 -1578
  460. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsEditorSettingIndicators.js +0 -624
  461. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsSearchMenu.js +0 -135
  462. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsTree.js +0 -2122
  463. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsWidgets.js +0 -1158
  464. package/vscode/src/vs/workbench/contrib/preferences/browser/tocTree.js +0 -217
  465. package/vscode/src/vs/workbench/contrib/preferences/common/preferencesContribution.js +0 -160
  466. package/vscode/src/vs/workbench/contrib/preferences/common/smartSnippetInserter.js +0 -124
  467. package/vscode/src/vs/workbench/contrib/quickaccess/browser/commandsQuickAccess.js +0 -293
  468. package/vscode/src/vs/workbench/contrib/quickaccess/browser/quickAccess.contribution.js +0 -167
  469. package/vscode/src/vs/workbench/contrib/quickaccess/browser/viewQuickAccess.js +0 -264
  470. package/vscode/src/vs/workbench/contrib/relauncher/browser/relauncher.contribution.js +0 -206
  471. package/vscode/src/vs/workbench/contrib/remote/browser/explorerViewItems.js +0 -133
  472. package/vscode/src/vs/workbench/contrib/remote/browser/media/remoteViewlet.css.js +0 -4
  473. package/vscode/src/vs/workbench/contrib/remote/browser/remote.contribution.js +0 -18
  474. package/vscode/src/vs/workbench/contrib/remote/browser/remote.js +0 -829
  475. package/vscode/src/vs/workbench/contrib/remote/browser/remoteConnectionHealth.js +0 -164
  476. package/vscode/src/vs/workbench/contrib/remote/browser/remoteIndicator.js +0 -800
  477. package/vscode/src/vs/workbench/contrib/remote/browser/remoteStartEntry.contribution.js +0 -5
  478. package/vscode/src/vs/workbench/contrib/remote/browser/remoteStartEntry.js +0 -95
  479. package/vscode/src/vs/workbench/contrib/remote/browser/showCandidate.js +0 -33
  480. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelFactory.js +0 -108
  481. package/vscode/src/vs/workbench/contrib/remote/common/remote.contribution.js +0 -513
  482. package/vscode/src/vs/workbench/contrib/scm/browser/activity.js +0 -306
  483. package/vscode/src/vs/workbench/contrib/scm/browser/media/scm.css.js +0 -4
  484. package/vscode/src/vs/workbench/contrib/scm/browser/menus.js +0 -278
  485. package/vscode/src/vs/workbench/contrib/scm/browser/scm.contribution.js +0 -701
  486. package/vscode/src/vs/workbench/contrib/scm/browser/scmRepositoriesViewPane.js +0 -172
  487. package/vscode/src/vs/workbench/contrib/scm/browser/scmRepositoryRenderer.js +0 -134
  488. package/vscode/src/vs/workbench/contrib/scm/browser/scmViewPane.js +0 -3365
  489. package/vscode/src/vs/workbench/contrib/scm/browser/scmViewPaneContainer.js +0 -52
  490. package/vscode/src/vs/workbench/contrib/scm/browser/scmViewService.js +0 -303
  491. package/vscode/src/vs/workbench/contrib/scm/browser/util.js +0 -119
  492. package/vscode/src/vs/workbench/contrib/scm/common/quickDiffService.js +0 -74
  493. package/vscode/src/vs/workbench/contrib/scm/common/scmService.js +0 -310
  494. package/vscode/src/vs/workbench/contrib/search/browser/anythingQuickAccess.js +0 -794
  495. package/vscode/src/vs/workbench/contrib/search/browser/media/anythingQuickAccess.css.js +0 -4
  496. package/vscode/src/vs/workbench/contrib/search/browser/media/searchview.css.js +0 -4
  497. package/vscode/src/vs/workbench/contrib/search/browser/patternInputWidget.js +0 -232
  498. package/vscode/src/vs/workbench/contrib/search/browser/quickTextSearch/textSearchQuickAccess.js +0 -339
  499. package/vscode/src/vs/workbench/contrib/search/browser/replaceContributions.js +0 -7
  500. package/vscode/src/vs/workbench/contrib/search/browser/replaceService.js +0 -230
  501. package/vscode/src/vs/workbench/contrib/search/browser/search.contribution.js +0 -646
  502. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsCopy.js +0 -207
  503. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsNav.js +0 -510
  504. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsRemoveReplace.js +0 -372
  505. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsSymbol.js +0 -42
  506. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsTextQuickAccess.js +0 -43
  507. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsTopBar.js +0 -322
  508. package/vscode/src/vs/workbench/contrib/search/browser/searchFindInput.js +0 -101
  509. package/vscode/src/vs/workbench/contrib/search/browser/searchIcons.js +0 -104
  510. package/vscode/src/vs/workbench/contrib/search/browser/searchMessage.js +0 -64
  511. package/vscode/src/vs/workbench/contrib/search/browser/searchResultsView.js +0 -435
  512. package/vscode/src/vs/workbench/contrib/search/browser/searchView.js +0 -2175
  513. package/vscode/src/vs/workbench/contrib/search/browser/searchWidget.js +0 -672
  514. package/vscode/src/vs/workbench/contrib/search/browser/symbolsQuickAccess.js +0 -232
  515. package/vscode/src/vs/workbench/contrib/search/common/cacheState.js +0 -85
  516. package/vscode/src/vs/workbench/contrib/searchEditor/browser/media/searchEditor.css.js +0 -4
  517. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditor.contribution.js +0 -585
  518. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditor.js +0 -758
  519. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorActions.js +0 -187
  520. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorInput.js +0 -318
  521. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorModel.js +0 -136
  522. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorSerialization.js +0 -291
  523. package/vscode/src/vs/workbench/contrib/share/browser/share.contribution.js +0 -167
  524. package/vscode/src/vs/workbench/contrib/share/browser/share.css.js +0 -4
  525. package/vscode/src/vs/workbench/contrib/share/browser/shareService.js +0 -70
  526. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/configureSnippets.js +0 -331
  527. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/insertSnippet.js +0 -127
  528. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/surroundWithSnippet.js +0 -57
  529. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCodeActionProvider.js +0 -154
  530. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetPicker.js +0 -111
  531. package/vscode/src/vs/workbench/contrib/snippets/browser/snippets.contribution.js +0 -141
  532. package/vscode/src/vs/workbench/contrib/speech/browser/speechService.js +0 -271
  533. package/vscode/src/vs/workbench/contrib/surveys/browser/ces.contribution.js +0 -137
  534. package/vscode/src/vs/workbench/contrib/surveys/browser/languageSurveys.contribution.js +0 -50
  535. package/vscode/src/vs/workbench/contrib/surveys/browser/nps.contribution.js +0 -92
  536. package/vscode/src/vs/workbench/contrib/tasks/browser/abstractTaskService.js +0 -3857
  537. package/vscode/src/vs/workbench/contrib/tasks/browser/runAutomaticTasks.js +0 -183
  538. package/vscode/src/vs/workbench/contrib/tasks/browser/task.contribution.js +0 -682
  539. package/vscode/src/vs/workbench/contrib/tasks/browser/taskQuickPick.js +0 -450
  540. package/vscode/src/vs/workbench/contrib/tasks/browser/taskService.js +0 -36
  541. package/vscode/src/vs/workbench/contrib/tasks/browser/taskTerminalStatus.js +0 -189
  542. package/vscode/src/vs/workbench/contrib/tasks/browser/tasksQuickAccess.js +0 -119
  543. package/vscode/src/vs/workbench/contrib/tasks/browser/terminalTaskSystem.js +0 -1711
  544. package/vscode/src/vs/workbench/contrib/tasks/common/jsonSchemaCommon.js +0 -437
  545. package/vscode/src/vs/workbench/contrib/tasks/common/jsonSchema_v1.js +0 -123
  546. package/vscode/src/vs/workbench/contrib/tasks/common/jsonSchema_v2.js +0 -899
  547. package/vscode/src/vs/workbench/contrib/tasks/common/problemCollectors.js +0 -463
  548. package/vscode/src/vs/workbench/contrib/tasks/common/problemMatcher.js +0 -1794
  549. package/vscode/src/vs/workbench/contrib/tasks/common/taskConfiguration.js +0 -1579
  550. package/vscode/src/vs/workbench/contrib/tasks/common/taskSystem.js +0 -14
  551. package/vscode/src/vs/workbench/contrib/tasks/common/taskTemplates.js +0 -143
  552. package/vscode/src/vs/workbench/contrib/terminal/browser/baseTerminalBackend.js +0 -114
  553. package/vscode/src/vs/workbench/contrib/terminal/browser/environmentVariableInfo.js +0 -133
  554. package/vscode/src/vs/workbench/contrib/terminal/browser/media/scrollbar.css.js +0 -4
  555. package/vscode/src/vs/workbench/contrib/terminal/browser/media/terminal.css.js +0 -4
  556. package/vscode/src/vs/workbench/contrib/terminal/browser/media/terminalVoice.css.js +0 -4
  557. package/vscode/src/vs/workbench/contrib/terminal/browser/media/widgets.css.js +0 -4
  558. package/vscode/src/vs/workbench/contrib/terminal/browser/media/xterm.css.js +0 -4
  559. package/vscode/src/vs/workbench/contrib/terminal/browser/remotePty.js +0 -91
  560. package/vscode/src/vs/workbench/contrib/terminal/browser/remoteTerminalBackend.js +0 -312
  561. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.contribution.js +0 -267
  562. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.web.contribution.js +0 -11
  563. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalActions.js +0 -2070
  564. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalCommands.js +0 -22
  565. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalConfigHelper.js +0 -221
  566. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalContextMenu.js +0 -40
  567. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditor.js +0 -193
  568. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorSerializer.js +0 -40
  569. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorService.js +0 -239
  570. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEscapeSequences.js +0 -12
  571. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalGroup.js +0 -501
  572. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalGroupService.js +0 -368
  573. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalInstance.js +0 -2180
  574. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalInstanceService.js +0 -81
  575. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalMainContribution.js +0 -94
  576. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalMenus.js +0 -840
  577. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProcessManager.js +0 -619
  578. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProfileQuickpick.js +0 -312
  579. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProfileResolverService.js +0 -285
  580. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProfileService.js +0 -225
  581. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalQuickAccess.js +0 -155
  582. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalRunRecentQuickPick.js +0 -335
  583. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalService.js +0 -1156
  584. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalStatusList.js +0 -121
  585. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalTabbedView.js +0 -439
  586. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalTabsList.js +0 -690
  587. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalTooltip.js +0 -84
  588. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalUri.js +0 -39
  589. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalView.js +0 -628
  590. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalVoice.js +0 -199
  591. package/vscode/src/vs/workbench/contrib/terminal/browser/widgets/terminalHoverWidget.js +0 -91
  592. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/lineDataEventAddon.js +0 -56
  593. package/vscode/src/vs/workbench/contrib/terminal/common/basePty.js +0 -91
  594. package/vscode/src/vs/workbench/contrib/terminal/common/environmentVariableService.js +0 -96
  595. package/vscode/src/vs/workbench/contrib/terminal/common/history.js +0 -375
  596. package/vscode/src/vs/workbench/contrib/terminal/common/remote/remoteTerminalChannel.js +0 -253
  597. package/vscode/src/vs/workbench/contrib/terminal/common/terminalClipboard.js +0 -98
  598. package/vscode/src/vs/workbench/contrib/terminal/common/terminalConfiguration.js +0 -1351
  599. package/vscode/src/vs/workbench/contrib/terminal/common/terminalEnvironment.js +0 -282
  600. package/vscode/src/vs/workbench/contrib/terminal/common/terminalStrings.js +0 -145
  601. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/browser/bufferContentTracker.js +0 -112
  602. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/browser/terminal.accessibility.contribution.js +0 -389
  603. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/browser/terminalAccessibilityHelp.js +0 -190
  604. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/browser/terminalAccessibleBufferProvider.js +0 -102
  605. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/browser/textAreaSyncAddon.js +0 -106
  606. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/media/terminalChatWidget.css.js +0 -4
  607. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminal.chat.contribution.js +0 -9
  608. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat.js +0 -84
  609. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +0 -125
  610. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.js +0 -31
  611. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +0 -344
  612. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.js +0 -335
  613. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +0 -154
  614. package/vscode/src/vs/workbench/contrib/terminalContrib/developer/browser/media/developer.css.js +0 -4
  615. package/vscode/src/vs/workbench/contrib/terminalContrib/developer/browser/terminal.developer.contribution.js +0 -237
  616. package/vscode/src/vs/workbench/contrib/terminalContrib/environmentChanges/browser/terminal.environmentChanges.contribution.js +0 -114
  617. package/vscode/src/vs/workbench/contrib/terminalContrib/find/browser/terminal.find.contribution.js +0 -264
  618. package/vscode/src/vs/workbench/contrib/terminalContrib/find/browser/terminalFindWidget.js +0 -165
  619. package/vscode/src/vs/workbench/contrib/terminalContrib/find/browser/textInputContextMenu.js +0 -61
  620. package/vscode/src/vs/workbench/contrib/terminalContrib/highlight/browser/terminal.highlight.contribution.js +0 -36
  621. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminal.links.contribution.js +0 -132
  622. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalExternalLinkDetector.js +0 -38
  623. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalLink.js +0 -120
  624. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalLinkDetectorAdapter.js +0 -108
  625. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalLinkHelpers.js +0 -175
  626. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalLinkManager.js +0 -394
  627. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalLinkOpeners.js +0 -240
  628. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalLinkParsing.js +0 -206
  629. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalLinkQuickpick.js +0 -264
  630. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalLinkResolver.js +0 -141
  631. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalLocalLinkDetector.js +0 -220
  632. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalMultiLineLinkDetector.js +0 -182
  633. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalUriLinkDetector.js +0 -119
  634. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalWordLinkDetector.js +0 -94
  635. package/vscode/src/vs/workbench/contrib/terminalContrib/quickFix/browser/media/terminalQuickFix.css.js +0 -4
  636. package/vscode/src/vs/workbench/contrib/terminalContrib/quickFix/browser/quickFixAddon.js +0 -451
  637. package/vscode/src/vs/workbench/contrib/terminalContrib/quickFix/browser/terminal.quickFix.contribution.js +0 -61
  638. package/vscode/src/vs/workbench/contrib/terminalContrib/quickFix/browser/terminalQuickFixBuiltinActions.js +0 -323
  639. package/vscode/src/vs/workbench/contrib/terminalContrib/quickFix/browser/terminalQuickFixService.js +0 -168
  640. package/vscode/src/vs/workbench/contrib/terminalContrib/stickyScroll/browser/media/stickyScroll.css.js +0 -4
  641. package/vscode/src/vs/workbench/contrib/terminalContrib/stickyScroll/browser/terminal.stickyScroll.contribution.js +0 -5
  642. package/vscode/src/vs/workbench/contrib/terminalContrib/stickyScroll/browser/terminalStickyScrollColorRegistry.js +0 -35
  643. package/vscode/src/vs/workbench/contrib/terminalContrib/stickyScroll/browser/terminalStickyScrollContribution.js +0 -91
  644. package/vscode/src/vs/workbench/contrib/terminalContrib/stickyScroll/browser/terminalStickyScrollOverlay.js +0 -379
  645. package/vscode/src/vs/workbench/contrib/terminalContrib/suggest/browser/terminal.suggest.contribution.js +0 -181
  646. package/vscode/src/vs/workbench/contrib/terminalContrib/suggest/browser/terminalSuggestAddon.js +0 -406
  647. package/vscode/src/vs/workbench/contrib/terminalContrib/typeAhead/browser/terminal.typeAhead.contribution.js +0 -54
  648. package/vscode/src/vs/workbench/contrib/terminalContrib/typeAhead/browser/terminalTypeAheadAddon.js +0 -1047
  649. package/vscode/src/vs/workbench/contrib/terminalContrib/zoom/browser/terminal.zoom.contribution.js +0 -130
  650. package/vscode/src/vs/workbench/contrib/testing/browser/codeCoverageDecorations.js +0 -589
  651. package/vscode/src/vs/workbench/contrib/testing/browser/explorerProjections/display.js +0 -2
  652. package/vscode/src/vs/workbench/contrib/testing/browser/explorerProjections/index.js +0 -81
  653. package/vscode/src/vs/workbench/contrib/testing/browser/explorerProjections/listProjection.js +0 -184
  654. package/vscode/src/vs/workbench/contrib/testing/browser/explorerProjections/testItemContextOverlay.js +0 -16
  655. package/vscode/src/vs/workbench/contrib/testing/browser/explorerProjections/testingObjectTree.js +0 -44
  656. package/vscode/src/vs/workbench/contrib/testing/browser/explorerProjections/testingViewState.js +0 -15
  657. package/vscode/src/vs/workbench/contrib/testing/browser/explorerProjections/treeProjection.js +0 -222
  658. package/vscode/src/vs/workbench/contrib/testing/browser/icons.js +0 -182
  659. package/vscode/src/vs/workbench/contrib/testing/browser/media/testMessageColorizer.css.js +0 -4
  660. package/vscode/src/vs/workbench/contrib/testing/browser/media/testing.css.js +0 -4
  661. package/vscode/src/vs/workbench/contrib/testing/browser/testCoverageBars.js +0 -238
  662. package/vscode/src/vs/workbench/contrib/testing/browser/testCoverageView.js +0 -562
  663. package/vscode/src/vs/workbench/contrib/testing/browser/testExplorerActions.js +0 -1671
  664. package/vscode/src/vs/workbench/contrib/testing/browser/testMessageColorizer.js +0 -71
  665. package/vscode/src/vs/workbench/contrib/testing/browser/testing.contribution.js +0 -224
  666. package/vscode/src/vs/workbench/contrib/testing/browser/testingConfigurationUi.js +0 -119
  667. package/vscode/src/vs/workbench/contrib/testing/browser/testingDecorations.js +0 -968
  668. package/vscode/src/vs/workbench/contrib/testing/browser/testingExplorerFilter.js +0 -234
  669. package/vscode/src/vs/workbench/contrib/testing/browser/testingExplorerView.js +0 -1239
  670. package/vscode/src/vs/workbench/contrib/testing/browser/testingOutputPeek.css.js +0 -4
  671. package/vscode/src/vs/workbench/contrib/testing/browser/testingOutputPeek.js +0 -2108
  672. package/vscode/src/vs/workbench/contrib/testing/browser/testingProgressUiService.js +0 -140
  673. package/vscode/src/vs/workbench/contrib/testing/browser/testingViewPaneContainer.js +0 -45
  674. package/vscode/src/vs/workbench/contrib/testing/browser/theme.js +0 -335
  675. package/vscode/src/vs/workbench/contrib/testing/common/configuration.js +0 -274
  676. package/vscode/src/vs/workbench/contrib/testing/common/constants.js +0 -57
  677. package/vscode/src/vs/workbench/contrib/testing/common/mainThreadTestCollection.js +0 -127
  678. package/vscode/src/vs/workbench/contrib/testing/common/observableUtils.js +0 -19
  679. package/vscode/src/vs/workbench/contrib/testing/common/testExclusions.js +0 -46
  680. package/vscode/src/vs/workbench/contrib/testing/common/testServiceImpl.js +0 -294
  681. package/vscode/src/vs/workbench/contrib/testing/common/testingContentProvider.js +0 -123
  682. package/vscode/src/vs/workbench/contrib/testing/common/testingUri.js +0 -65
  683. package/vscode/src/vs/workbench/contrib/themes/browser/themes.contribution.js +0 -955
  684. package/vscode/src/vs/workbench/contrib/timeline/browser/media/timelinePane.css.js +0 -4
  685. package/vscode/src/vs/workbench/contrib/timeline/browser/timeline.contribution.js +0 -118
  686. package/vscode/src/vs/workbench/contrib/timeline/browser/timelinePane.js +0 -1161
  687. package/vscode/src/vs/workbench/contrib/timeline/common/timelineService.js +0 -106
  688. package/vscode/src/vs/workbench/contrib/update/browser/media/releasenoteseditor.css.js +0 -4
  689. package/vscode/src/vs/workbench/contrib/update/browser/releaseNotesEditor.js +0 -411
  690. package/vscode/src/vs/workbench/contrib/update/browser/update.contribution.js +0 -252
  691. package/vscode/src/vs/workbench/contrib/update/browser/update.js +0 -676
  692. package/vscode/src/vs/workbench/contrib/url/browser/externalUriResolver.js +0 -26
  693. package/vscode/src/vs/workbench/contrib/url/browser/trustedDomains.js +0 -198
  694. package/vscode/src/vs/workbench/contrib/url/browser/trustedDomainsFileSystemProvider.js +0 -135
  695. package/vscode/src/vs/workbench/contrib/url/browser/trustedDomainsValidator.js +0 -203
  696. package/vscode/src/vs/workbench/contrib/url/browser/url.contribution.js +0 -66
  697. package/vscode/src/vs/workbench/contrib/userDataSync/browser/userDataSync.contribution.js +0 -110
  698. package/vscode/src/vs/workbench/contrib/userDataSync/browser/userDataSync.js +0 -1466
  699. package/vscode/src/vs/workbench/contrib/userDataSync/browser/userDataSyncConflictsView.js +0 -223
  700. package/vscode/src/vs/workbench/contrib/userDataSync/browser/userDataSyncTrigger.js +0 -59
  701. package/vscode/src/vs/workbench/contrib/userDataSync/browser/userDataSyncViews.js +0 -858
  702. package/vscode/src/vs/workbench/contrib/welcomeBanner/browser/welcomeBanner.contribution.js +0 -45
  703. package/vscode/src/vs/workbench/contrib/welcomeDialog/browser/media/welcomeWidget.css.js +0 -4
  704. package/vscode/src/vs/workbench/contrib/welcomeDialog/browser/welcomeDialog.contribution.js +0 -102
  705. package/vscode/src/vs/workbench/contrib/welcomeDialog/browser/welcomeWidget.js +0 -187
  706. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.js +0 -380
  707. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.js +0 -1526
  708. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedColors.js +0 -47
  709. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedDetailsRenderer.js +0 -261
  710. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedIcons.js +0 -14
  711. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedInput.js +0 -51
  712. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedList.js +0 -95
  713. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/media/gettingStarted.css.js +0 -4
  714. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/startupPage.js +0 -216
  715. package/vscode/src/vs/workbench/contrib/welcomeViews/common/newFile.contribution.js +0 -237
  716. package/vscode/src/vs/workbench/contrib/welcomeViews/common/viewsWelcome.contribution.js +0 -18
  717. package/vscode/src/vs/workbench/contrib/welcomeViews/common/viewsWelcomeContribution.js +0 -73
  718. package/vscode/src/vs/workbench/contrib/welcomeViews/common/viewsWelcomeExtensionPoint.js +0 -97
  719. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/editor/editorWalkThrough.js +0 -61
  720. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/media/walkThroughPart.css.js +0 -4
  721. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThrough.contribution.js +0 -38
  722. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThroughActions.js +0 -57
  723. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThroughInput.js +0 -113
  724. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThroughPart.js +0 -429
  725. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/common/walkThroughContentProvider.js +0 -74
  726. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/common/walkThroughUtils.js +0 -18
  727. package/vscode/src/vs/workbench/contrib/workspace/browser/media/workspaceTrustEditor.css.js +0 -4
  728. package/vscode/src/vs/workbench/contrib/workspace/browser/workspace.contribution.js +0 -976
  729. package/vscode/src/vs/workbench/contrib/workspace/browser/workspaceTrustEditor.js +0 -1243
  730. package/vscode/src/vs/workbench/contrib/workspaces/browser/workspaces.contribution.js +0 -132
  731. package/vscode/src/vs/workbench/services/actions/common/menusExtensionPoint.js +0 -1595
  732. package/vscode/src/vs/workbench/services/aiRelatedInformation/common/aiRelatedInformationService.js +0 -82
  733. package/vscode/src/vs/workbench/services/authentication/browser/authenticationExtensionsService.js +0 -369
  734. package/vscode/src/vs/workbench/services/commands/common/commandService.js +0 -77
  735. package/vscode/src/vs/workbench/services/configuration/browser/configuration.js +0 -850
  736. package/vscode/src/vs/workbench/services/configuration/browser/configurationService.js +0 -1199
  737. package/vscode/src/vs/workbench/services/configuration/common/configurationEditing.js +0 -666
  738. package/vscode/src/vs/workbench/services/configuration/common/configurationModels.js +0 -119
  739. package/vscode/src/vs/workbench/services/configuration/common/jsonEditingService.js +0 -120
  740. package/vscode/src/vs/workbench/services/configurationResolver/browser/baseConfigurationResolverService.js +0 -309
  741. package/vscode/src/vs/workbench/services/configurationResolver/browser/configurationResolverService.js +0 -27
  742. package/vscode/src/vs/workbench/services/decorations/browser/decorationsService.js +0 -330
  743. package/vscode/src/vs/workbench/services/dialogs/browser/abstractFileDialogService.js +0 -377
  744. package/vscode/src/vs/workbench/services/dialogs/browser/simpleFileDialog.js +0 -1037
  745. package/vscode/src/vs/workbench/services/dialogs/common/dialogService.js +0 -70
  746. package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionEnablementService.js +0 -638
  747. package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionsProfileScannerService.js +0 -22
  748. package/vscode/src/vs/workbench/services/extensionManagement/browser/webExtensionsScannerService.js +0 -892
  749. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionFeaturesManagemetService.js +0 -232
  750. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagementChannelClient.js +0 -107
  751. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagementServerService.js +0 -61
  752. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagementService.js +0 -1043
  753. package/vscode/src/vs/workbench/services/extensionManagement/common/remoteExtensionManagementService.js +0 -56
  754. package/vscode/src/vs/workbench/services/extensionManagement/common/webExtensionManagementService.js +0 -279
  755. package/vscode/src/vs/workbench/services/extensionRecommendations/common/extensionIgnoredRecommendationsService.js +0 -82
  756. package/vscode/src/vs/workbench/services/extensions/browser/extensionService.js +0 -283
  757. package/vscode/src/vs/workbench/services/extensions/browser/extensionsScannerService.js +0 -31
  758. package/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.js +0 -274
  759. package/vscode/src/vs/workbench/services/extensions/browser/webWorkerFileSystemProvider.js +0 -50
  760. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +0 -1147
  761. package/vscode/src/vs/workbench/services/extensions/common/extHostCustomers.js +0 -40
  762. package/vscode/src/vs/workbench/services/extensions/common/extensionDevOptions.js +0 -23
  763. package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +0 -510
  764. package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.js +0 -272
  765. package/vscode/src/vs/workbench/services/extensions/common/extensionStorageMigration.js +0 -56
  766. package/vscode/src/vs/workbench/services/extensions/common/extensionsProposedApi.js +0 -78
  767. package/vscode/src/vs/workbench/services/extensions/common/extensionsUtil.js +0 -62
  768. package/vscode/src/vs/workbench/services/extensions/common/lazyCreateExtensionHostManager.js +0 -159
  769. package/vscode/src/vs/workbench/services/extensions/common/remoteConsoleUtil.js +0 -47
  770. package/vscode/src/vs/workbench/services/extensions/common/remoteExtensionHost.js +0 -220
  771. package/vscode/src/vs/workbench/services/host/browser/browserHostService.js +0 -428
  772. package/vscode/src/vs/workbench/services/issue/browser/issueService.js +0 -97
  773. package/vscode/src/vs/workbench/services/keybinding/browser/keybindingService.js +0 -945
  774. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayoutService.js +0 -500
  775. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/_.contribution.js +0 -13
  776. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/cz.win.js +0 -162
  777. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de-swiss.win.js +0 -162
  778. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de.darwin.js +0 -125
  779. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de.linux.js +0 -180
  780. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de.win.js +0 -162
  781. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/dk.win.js +0 -162
  782. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/dvorak.darwin.js +0 -125
  783. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-belgian.win.js +0 -162
  784. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-ext.darwin.js +0 -125
  785. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-in.win.js +0 -162
  786. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-intl.darwin.js +0 -125
  787. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-intl.win.js +0 -162
  788. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-uk.darwin.js +0 -125
  789. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-uk.win.js +0 -162
  790. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en.darwin.js +0 -133
  791. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en.linux.js +0 -182
  792. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en.win.js +0 -167
  793. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es-latin.win.js +0 -162
  794. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es.darwin.js +0 -125
  795. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es.linux.js +0 -180
  796. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es.win.js +0 -162
  797. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/fr.darwin.js +0 -125
  798. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/fr.linux.js +0 -180
  799. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/fr.win.js +0 -162
  800. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/hu.win.js +0 -162
  801. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/it.darwin.js +0 -125
  802. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/it.win.js +0 -162
  803. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/jp-roman.darwin.js +0 -125
  804. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/jp.darwin.js +0 -125
  805. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ko.darwin.js +0 -125
  806. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.darwin.js +0 -17
  807. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.linux.js +0 -6
  808. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.win.js +0 -23
  809. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/no.win.js +0 -162
  810. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pl.darwin.js +0 -125
  811. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pl.win.js +0 -162
  812. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pt-br.win.js +0 -162
  813. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pt.darwin.js +0 -125
  814. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pt.win.js +0 -162
  815. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ru.darwin.js +0 -125
  816. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ru.linux.js +0 -180
  817. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ru.win.js +0 -162
  818. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/sv.win.js +0 -164
  819. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/thai.win.js +0 -162
  820. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/tr.win.js +0 -162
  821. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/zh-hans.darwin.js +0 -125
  822. package/vscode/src/vs/workbench/services/keybinding/common/keybindingIO.js +0 -72
  823. package/vscode/src/vs/workbench/services/keybinding/common/keymapInfo.js +0 -108
  824. package/vscode/src/vs/workbench/services/keybinding/common/macLinuxKeyboardMapper.js +0 -886
  825. package/vscode/src/vs/workbench/services/keybinding/common/windowsKeyboardMapper.js +0 -350
  826. package/vscode/src/vs/workbench/services/label/common/labelService.js +0 -435
  827. package/vscode/src/vs/workbench/services/languageDetection/browser/languageDetectionWorkerServiceImpl.js +0 -259
  828. package/vscode/src/vs/workbench/services/lifecycle/browser/lifecycleService.js +0 -135
  829. package/vscode/src/vs/workbench/services/notification/common/notificationService.js +0 -251
  830. package/vscode/src/vs/workbench/services/preferences/browser/preferencesService.js +0 -551
  831. package/vscode/src/vs/workbench/services/quickinput/browser/quickInputService.js +0 -37
  832. package/vscode/src/vs/workbench/services/remote/browser/browserRemoteResourceHandler.js +0 -47
  833. package/vscode/src/vs/workbench/services/remote/browser/remoteAgentService.js +0 -76
  834. package/vscode/src/vs/workbench/services/remote/common/abstractRemoteAgentService.js +0 -177
  835. package/vscode/src/vs/workbench/services/remote/common/remoteAgentEnvironmentChannel.js +0 -52
  836. package/vscode/src/vs/workbench/services/remote/common/remoteExtensionsScanner.js +0 -71
  837. package/vscode/src/vs/workbench/services/request/browser/requestService.js +0 -48
  838. package/vscode/src/vs/workbench/services/search/common/searchService.js +0 -414
  839. package/vscode/src/vs/workbench/services/storage/browser/storageService.js +0 -290
  840. package/vscode/src/vs/workbench/services/suggest/browser/media/suggest.css.js +0 -4
  841. package/vscode/src/vs/workbench/services/suggest/browser/simpleCompletionItem.js +0 -9
  842. package/vscode/src/vs/workbench/services/suggest/browser/simpleCompletionModel.js +0 -97
  843. package/vscode/src/vs/workbench/services/suggest/browser/simpleSuggestWidget.js +0 -428
  844. package/vscode/src/vs/workbench/services/suggest/browser/simpleSuggestWidgetRenderer.js +0 -83
  845. package/vscode/src/vs/workbench/services/textMate/browser/arrayOperation.js +0 -62
  846. package/vscode/src/vs/workbench/services/textMate/browser/backgroundTokenization/textMateWorkerTokenizerController.js +0 -160
  847. package/vscode/src/vs/workbench/services/textMate/browser/backgroundTokenization/threadedBackgroundTokenizerFactory.js +0 -200
  848. package/vscode/src/vs/workbench/services/textMate/browser/textMateTokenizationFeatureImpl.js +0 -482
  849. package/vscode/src/vs/workbench/services/textMate/browser/tokenizationSupport/textMateTokenizationSupport.js +0 -72
  850. package/vscode/src/vs/workbench/services/textMate/browser/tokenizationSupport/tokenizationSupportWithLineLimit.js +0 -39
  851. package/vscode/src/vs/workbench/services/textMate/common/TMGrammarFactory.js +0 -118
  852. package/vscode/src/vs/workbench/services/textMate/common/TMScopeRegistry.js +0 -15
  853. package/vscode/src/vs/workbench/services/textfile/browser/browserTextFileService.js +0 -57
  854. package/vscode/src/vs/workbench/services/textfile/browser/textFileService.js +0 -652
  855. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModelManager.js +0 -402
  856. package/vscode/src/vs/workbench/services/textfile/common/textFileSaveParticipant.js +0 -62
  857. package/vscode/src/vs/workbench/services/textmodelResolver/common/textModelResolverService.js +0 -191
  858. package/vscode/src/vs/workbench/services/textresourceProperties/common/textResourcePropertiesService.js +0 -44
  859. package/vscode/src/vs/workbench/services/themes/browser/fileIconThemeData.js +0 -372
  860. package/vscode/src/vs/workbench/services/themes/browser/productIconThemeData.js +0 -305
  861. package/vscode/src/vs/workbench/services/themes/browser/workbenchThemeService.js +0 -768
  862. package/vscode/src/vs/workbench/services/themes/common/colorThemeData.js +0 -886
  863. package/vscode/src/vs/workbench/services/themes/common/colorThemeSchema.js +0 -309
  864. package/vscode/src/vs/workbench/services/themes/common/fileIconThemeSchema.js +0 -432
  865. package/vscode/src/vs/workbench/services/themes/common/plistParser.js +0 -439
  866. package/vscode/src/vs/workbench/services/themes/common/productIconThemeSchema.js +0 -114
  867. package/vscode/src/vs/workbench/services/themes/common/textMateScopeMatcher.js +0 -120
  868. package/vscode/src/vs/workbench/services/themes/common/themeCompatibility.js +0 -76
  869. package/vscode/src/vs/workbench/services/themes/common/themeConfiguration.js +0 -469
  870. package/vscode/src/vs/workbench/services/themes/common/themeExtensionPoints.js +0 -340
  871. package/vscode/src/vs/workbench/services/tunnel/browser/tunnelService.js +0 -34
  872. package/vscode/src/vs/workbench/services/url/browser/urlService.js +0 -48
  873. package/vscode/src/vs/workbench/services/userDataProfile/browser/extensionsResource.js +0 -340
  874. package/vscode/src/vs/workbench/services/userDataProfile/browser/globalStateResource.js +0 -145
  875. package/vscode/src/vs/workbench/services/userDataProfile/browser/iconSelectBox.js +0 -96
  876. package/vscode/src/vs/workbench/services/userDataProfile/browser/keybindingsResource.js +0 -117
  877. package/vscode/src/vs/workbench/services/userDataProfile/browser/media/userDataProfileView.css.js +0 -4
  878. package/vscode/src/vs/workbench/services/userDataProfile/browser/settingsResource.js +0 -138
  879. package/vscode/src/vs/workbench/services/userDataProfile/browser/snippetsResource.js +0 -153
  880. package/vscode/src/vs/workbench/services/userDataProfile/browser/tasksResource.js +0 -116
  881. package/vscode/src/vs/workbench/services/userDataProfile/browser/userDataProfileImportExportService.js +0 -1752
  882. package/vscode/src/vs/workbench/services/userDataProfile/browser/userDataProfileInit.js +0 -148
  883. package/vscode/src/vs/workbench/services/userDataProfile/browser/userDataProfileManagement.js +0 -188
  884. package/vscode/src/vs/workbench/services/userDataSync/browser/userDataSyncInit.js +0 -445
  885. package/vscode/src/vs/workbench/services/userDataSync/browser/userDataSyncWorkbenchService.js +0 -786
  886. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSyncUtil.js +0 -46
  887. package/vscode/src/vs/workbench/services/workingCopy/browser/workingCopyBackupService.js +0 -23
  888. package/vscode/src/vs/workbench/services/workingCopy/browser/workingCopyBackupTracker.js +0 -43
  889. package/vscode/src/vs/workbench/services/workingCopy/browser/workingCopyHistoryService.js +0 -28
  890. package/vscode/src/vs/workbench/services/workingCopy/common/abstractFileWorkingCopyManager.js +0 -87
  891. package/vscode/src/vs/workbench/services/workingCopy/common/fileWorkingCopyManager.js +0 -384
  892. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopyManager.js +0 -406
  893. package/vscode/src/vs/workbench/services/workingCopy/common/untitledFileWorkingCopy.js +0 -142
  894. package/vscode/src/vs/workbench/services/workingCopy/common/untitledFileWorkingCopyManager.js +0 -127
  895. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyBackupService.js +0 -452
  896. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyBackupTracker.js +0 -253
  897. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyHistoryService.js +0 -616
  898. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyHistoryTracker.js +0 -162
  899. package/vscode/src/vs/workbench/services/workspaces/browser/abstractWorkspaceEditingService.js +0 -335
  900. package/vscode/src/vs/workbench/services/workspaces/browser/workspaceTrustEditorInput.js +0 -41
  901. package/vscode/src/vs/workbench/services/workspaces/browser/workspacesService.js +0 -151
  902. package/vscode/src/vs/workbench/services/workspaces/common/editSessionIdentityService.js +0 -60
@@ -1,2349 +0,0 @@
1
- import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
2
- import { localizeWithPath } from '../../../../nls.js';
3
- import { semverExports } from '../../../../../../../external/vscode-semver/semver.js';
4
- import { Emitter, Event } from '../../../../base/common/event.js';
5
- import { firstOrDefault, index } from '../../../../base/common/arrays.js';
6
- import { ThrottledDelayer, Promises, createCancelablePromise } from '../../../../base/common/async.js';
7
- import { CancellationError, isCancellationError } from '../../../../base/common/errors.js';
8
- import { Disposable, toDisposable } from '../../../../base/common/lifecycle.js';
9
- import { singlePagePager } from '../../../../base/common/paging.js';
10
- import { ITelemetryService } from '../../../../platform/telemetry/common/telemetry.js';
11
- import { WEB_EXTENSION_TAG, EXTENSION_IDENTIFIER_REGEX, isTargetPlatformCompatible, IExtensionGalleryService } from '../../../../platform/extensionManagement/common/extensionManagement.js';
12
- import { getDefaultIconPath, IWorkbenchExtensionEnablementService, IWorkbenchExtensionManagementService, IExtensionManagementServerService } from '../../../services/extensionManagement/common/extensionManagement.js';
13
- import { areSameExtensions, groupByExtension, getGalleryExtensionId, getGalleryExtensionTelemetryData, getLocalExtensionTelemetryData } from '../../../../platform/extensionManagement/common/extensionManagementUtil.js';
14
- import { IInstantiationService } from '../../../../platform/instantiation/common/instantiation.js';
15
- import { IConfigurationService } from '../../../../platform/configuration/common/configuration.js';
16
- import { IHostService } from '../../../services/host/browser/host.js';
17
- import { URI } from '../../../../base/common/uri.js';
18
- import { HasOutdatedExtensionsContext, AutoUpdateConfigurationKey, AutoCheckUpdatesConfigurationKey } from '../common/extensions.js';
19
- import { SIDE_GROUP, ACTIVE_GROUP, IEditorService } from '../../../services/editor/common/editorService.js';
20
- import { IURLService } from '../../../../platform/url/common/url.js';
21
- import { ExtensionsInput } from '../common/extensionsInput.js';
22
- import { ILogService } from '../../../../platform/log/common/log.js';
23
- import { IProgressService } from '../../../../platform/progress/common/progress.js';
24
- import { Severity, INotificationService } from '../../../../platform/notification/common/notification.js';
25
- import { joinPath } from '../../../../base/common/resources.js';
26
- import { CancellationToken } from '../../../../base/common/cancellation.js';
27
- import { IStorageService } from '../../../../platform/storage/common/storage.js';
28
- import { IFileService } from '../../../../platform/files/common/files.js';
29
- import { isApplicationScopedExtension, ExtensionIdentifier } from '../../../../platform/extensions/common/extensions.js';
30
- import { ILanguageService } from '../../../../editor/common/languages/language.js';
31
- import { IProductService } from '../../../../platform/product/common/productService.js';
32
- import { FileAccess } from '../../../../base/common/network.js';
33
- import { IIgnoredExtensionsManagementService } from '../../../../platform/userDataSync/common/ignoredExtensions.js';
34
- import { IUserDataAutoSyncService, IUserDataSyncEnablementService } from '../../../../platform/userDataSync/common/userDataSync.js';
35
- import { IContextKeyService } from '../../../../platform/contextkey/common/contextkey.js';
36
- import { isUndefined, isBoolean, isString } from '../../../../base/common/types.js';
37
- import { IExtensionManifestPropertiesService } from '../../../services/extensions/common/extensionManifestPropertiesService.js';
38
- import { toExtension, toExtensionDescription, IExtensionService } from '../../../services/extensions/common/extensions.js';
39
- import { isWeb, language } from '../../../../base/common/platform.js';
40
- import { getLocale } from '../../../../platform/languagePacks/common/languagePacks.js';
41
- import { ILocaleService } from '../../../services/localization/common/locale.js';
42
- import { TelemetryTrustedValue } from '../../../../platform/telemetry/common/telemetryUtils.js';
43
- import { ILifecycleService } from '../../../services/lifecycle/common/lifecycle.js';
44
- import { IUserDataProfileService } from '../../../services/userDataProfile/common/userDataProfile.js';
45
- import { mainWindow } from '../../../../base/browser/window.js';
46
- import '../../../../../../../override/vs/platform/dialogs/common/dialogs.js';
47
- import { IUpdateService } from '../../../../platform/update/common/update.js';
48
- import { isEngineValid } from '../../../../platform/extensions/common/extensionValidator.js';
49
- import { IUriIdentityService } from '../../../../platform/uriIdentity/common/uriIdentity.js';
50
- import { IDialogService } from '../../../../platform/dialogs/common/dialogs.js';
51
- var Extensions_1, ExtensionsWorkbenchService_1;
52
- let Extension = class Extension {
53
- constructor(stateProvider, runtimeStateProvider, server, local, gallery, resourceExtensionInfo, galleryService, telemetryService, logService, fileService, productService) {
54
- this.stateProvider = stateProvider;
55
- this.runtimeStateProvider = runtimeStateProvider;
56
- this.server = server;
57
- this.local = local;
58
- this.gallery = gallery;
59
- this.resourceExtensionInfo = resourceExtensionInfo;
60
- this.galleryService = galleryService;
61
- this.telemetryService = telemetryService;
62
- this.logService = logService;
63
- this.fileService = fileService;
64
- this.productService = productService;
65
- this.enablementState = 8 ;
66
- this.isMalicious = false;
67
- this.resourceExtension = resourceExtensionInfo?.resourceExtension;
68
- }
69
- get type() {
70
- return this.local ? this.local.type : 1 ;
71
- }
72
- get isBuiltin() {
73
- return this.local ? this.local.isBuiltin : false;
74
- }
75
- get isWorkspaceScoped() {
76
- if (this.local) {
77
- return this.local.isWorkspaceScoped;
78
- }
79
- if (this.resourceExtensionInfo) {
80
- return this.resourceExtensionInfo.isWorkspaceScoped;
81
- }
82
- return false;
83
- }
84
- get name() {
85
- if (this.gallery) {
86
- return this.gallery.name;
87
- }
88
- return this.getManifestFromLocalOrResource()?.name ?? '';
89
- }
90
- get displayName() {
91
- if (this.gallery) {
92
- return this.gallery.displayName || this.gallery.name;
93
- }
94
- return this.getManifestFromLocalOrResource()?.displayName ?? this.name;
95
- }
96
- get identifier() {
97
- if (this.gallery) {
98
- return this.gallery.identifier;
99
- }
100
- if (this.resourceExtension) {
101
- return this.resourceExtension.identifier;
102
- }
103
- return this.local.identifier;
104
- }
105
- get uuid() {
106
- return this.gallery ? this.gallery.identifier.uuid : this.local?.identifier.uuid;
107
- }
108
- get publisher() {
109
- if (this.gallery) {
110
- return this.gallery.publisher;
111
- }
112
- return this.getManifestFromLocalOrResource()?.publisher ?? '';
113
- }
114
- get publisherDisplayName() {
115
- if (this.gallery) {
116
- return this.gallery.publisherDisplayName || this.gallery.publisher;
117
- }
118
- if (this.local?.publisherDisplayName) {
119
- return this.local.publisherDisplayName;
120
- }
121
- return this.publisher;
122
- }
123
- get publisherUrl() {
124
- if (!this.productService.extensionsGallery || !this.gallery) {
125
- return undefined;
126
- }
127
- return joinPath(( URI.parse(this.productService.extensionsGallery.publisherUrl)), this.publisher);
128
- }
129
- get publisherDomain() {
130
- return this.gallery?.publisherDomain;
131
- }
132
- get publisherSponsorLink() {
133
- return this.gallery?.publisherSponsorLink ? ( URI.parse(this.gallery.publisherSponsorLink)) : undefined;
134
- }
135
- get version() {
136
- return this.local ? this.local.manifest.version : this.latestVersion;
137
- }
138
- get pinned() {
139
- return !!this.local?.pinned;
140
- }
141
- get latestVersion() {
142
- return this.gallery ? this.gallery.version : this.getManifestFromLocalOrResource()?.version ?? '';
143
- }
144
- get description() {
145
- return this.gallery ? this.gallery.description : this.getManifestFromLocalOrResource()?.description ?? '';
146
- }
147
- get url() {
148
- if (!this.productService.extensionsGallery || !this.gallery) {
149
- return undefined;
150
- }
151
- return `${this.productService.extensionsGallery.itemUrl}?itemName=${this.publisher}.${this.name}`;
152
- }
153
- get iconUrl() {
154
- return this.galleryIconUrl || this.resourceExtensionIconUrl || this.localIconUrl || this.defaultIconUrl;
155
- }
156
- get iconUrlFallback() {
157
- return this.galleryIconUrlFallback || this.resourceExtensionIconUrl || this.localIconUrl || this.defaultIconUrl;
158
- }
159
- get localIconUrl() {
160
- if (this.local && this.local.manifest.icon) {
161
- return ( FileAccess.uriToBrowserUri(joinPath(this.local.location, this.local.manifest.icon)).toString(true));
162
- }
163
- return null;
164
- }
165
- get resourceExtensionIconUrl() {
166
- if (this.resourceExtension?.manifest.icon) {
167
- return ( FileAccess.uriToBrowserUri(joinPath(this.resourceExtension.location, this.resourceExtension.manifest.icon)).toString(true));
168
- }
169
- return null;
170
- }
171
- get galleryIconUrl() {
172
- return this.gallery?.assets.icon ? this.gallery.assets.icon.uri : null;
173
- }
174
- get galleryIconUrlFallback() {
175
- return this.gallery?.assets.icon ? this.gallery.assets.icon.fallbackUri : null;
176
- }
177
- get defaultIconUrl() {
178
- if (this.type === 0 && this.local) {
179
- if (this.local.manifest && this.local.manifest.contributes) {
180
- if (Array.isArray(this.local.manifest.contributes.themes) && this.local.manifest.contributes.themes.length) {
181
- return ( ( FileAccess.asBrowserUri('vs/workbench/contrib/extensions/browser/media/theme-icon.png')).toString(true));
182
- }
183
- if (Array.isArray(this.local.manifest.contributes.grammars) && this.local.manifest.contributes.grammars.length) {
184
- return ( ( FileAccess.asBrowserUri('vs/workbench/contrib/extensions/browser/media/language-icon.svg')).toString(true));
185
- }
186
- }
187
- }
188
- return getDefaultIconPath();
189
- }
190
- get repository() {
191
- return this.gallery && this.gallery.assets.repository ? this.gallery.assets.repository.uri : undefined;
192
- }
193
- get licenseUrl() {
194
- return this.gallery && this.gallery.assets.license ? this.gallery.assets.license.uri : undefined;
195
- }
196
- get supportUrl() {
197
- return this.gallery && this.gallery.supportLink ? this.gallery.supportLink : undefined;
198
- }
199
- get state() {
200
- return this.stateProvider(this);
201
- }
202
- get installCount() {
203
- return this.gallery ? this.gallery.installCount : undefined;
204
- }
205
- get rating() {
206
- return this.gallery ? this.gallery.rating : undefined;
207
- }
208
- get ratingCount() {
209
- return this.gallery ? this.gallery.ratingCount : undefined;
210
- }
211
- get outdated() {
212
- try {
213
- if (!this.gallery || !this.local) {
214
- return false;
215
- }
216
- if (this.type === 0 && this.productService.quality === 'stable') {
217
- return false;
218
- }
219
- if (!this.local.preRelease && this.gallery.properties.isPreReleaseVersion) {
220
- return false;
221
- }
222
- if (semverExports.gt(this.latestVersion, this.version)) {
223
- return true;
224
- }
225
- if (this.outdatedTargetPlatform) {
226
- return true;
227
- }
228
- }
229
- catch (error) {
230
- }
231
- return false;
232
- }
233
- get outdatedTargetPlatform() {
234
- return !!this.local && !!this.gallery
235
- && !["undefined" , "web" ].includes(this.local.targetPlatform)
236
- && this.gallery.properties.targetPlatform !== "web"
237
- && this.local.targetPlatform !== this.gallery.properties.targetPlatform
238
- && semverExports.eq(this.latestVersion, this.version);
239
- }
240
- get runtimeState() {
241
- return this.runtimeStateProvider(this);
242
- }
243
- get telemetryData() {
244
- const { local, gallery } = this;
245
- if (gallery) {
246
- return getGalleryExtensionTelemetryData(gallery);
247
- }
248
- else if (local) {
249
- return getLocalExtensionTelemetryData(local);
250
- }
251
- else {
252
- return {};
253
- }
254
- }
255
- get preview() {
256
- return this.local?.manifest.preview ?? this.gallery?.preview ?? false;
257
- }
258
- get preRelease() {
259
- return !!this.local?.preRelease;
260
- }
261
- get isPreReleaseVersion() {
262
- if (this.local) {
263
- return this.local.isPreReleaseVersion;
264
- }
265
- return !!this.gallery?.properties.isPreReleaseVersion;
266
- }
267
- get hasPreReleaseVersion() {
268
- return !!this.gallery?.hasPreReleaseVersion || !!this.local?.hasPreReleaseVersion;
269
- }
270
- get hasReleaseVersion() {
271
- return !!this.resourceExtension || !!this.gallery?.hasReleaseVersion;
272
- }
273
- getLocal() {
274
- return this.local && !this.outdated ? this.local : undefined;
275
- }
276
- async getManifest(token) {
277
- const local = this.getLocal();
278
- if (local) {
279
- return local.manifest;
280
- }
281
- if (this.gallery) {
282
- if (this.gallery.assets.manifest) {
283
- return this.galleryService.getManifest(this.gallery, token);
284
- }
285
- this.logService.error(( localizeWithPath(
286
- 'vs/workbench/contrib/extensions/browser/extensionsWorkbenchService',
287
- 'Manifest is not found',
288
- "Manifest is not found"
289
- )), this.identifier.id);
290
- return null;
291
- }
292
- if (this.resourceExtension) {
293
- return this.resourceExtension.manifest;
294
- }
295
- return null;
296
- }
297
- hasReadme() {
298
- if (this.local && this.local.readmeUrl) {
299
- return true;
300
- }
301
- if (this.gallery && this.gallery.assets.readme) {
302
- return true;
303
- }
304
- if (this.resourceExtension?.readmeUri) {
305
- return true;
306
- }
307
- return this.type === 0 ;
308
- }
309
- async getReadme(token) {
310
- const local = this.getLocal();
311
- if (local?.readmeUrl) {
312
- const content = await this.fileService.readFile(local.readmeUrl);
313
- return ( content.value.toString());
314
- }
315
- if (this.gallery) {
316
- if (this.gallery.assets.readme) {
317
- return this.galleryService.getReadme(this.gallery, token);
318
- }
319
- this.telemetryService.publicLog('extensions:NotFoundReadMe', this.telemetryData);
320
- }
321
- if (this.type === 0 ) {
322
- return Promise.resolve(`# ${this.displayName || this.name}
323
- **Notice:** This extension is bundled with Visual Studio Code. It can be disabled but not uninstalled.
324
- ## Features
325
- ${this.description}
326
- `);
327
- }
328
- if (this.resourceExtension?.readmeUri) {
329
- const content = await this.fileService.readFile(this.resourceExtension?.readmeUri);
330
- return ( content.value.toString());
331
- }
332
- return Promise.reject(( new Error('not available')));
333
- }
334
- hasChangelog() {
335
- if (this.local && this.local.changelogUrl) {
336
- return true;
337
- }
338
- if (this.gallery && this.gallery.assets.changelog) {
339
- return true;
340
- }
341
- return this.type === 0 ;
342
- }
343
- async getChangelog(token) {
344
- const local = this.getLocal();
345
- if (local?.changelogUrl) {
346
- const content = await this.fileService.readFile(local.changelogUrl);
347
- return ( content.value.toString());
348
- }
349
- if (this.gallery?.assets.changelog) {
350
- return this.galleryService.getChangelog(this.gallery, token);
351
- }
352
- if (this.type === 0 ) {
353
- return Promise.resolve('Please check the [VS Code Release Notes](command:update.showCurrentReleaseNotes) for changes to the built-in extensions.');
354
- }
355
- return Promise.reject(( new Error('not available')));
356
- }
357
- get categories() {
358
- const { local, gallery, resourceExtension } = this;
359
- if (local && local.manifest.categories && !this.outdated) {
360
- return local.manifest.categories;
361
- }
362
- if (gallery) {
363
- return gallery.categories;
364
- }
365
- if (resourceExtension) {
366
- return resourceExtension.manifest.categories ?? [];
367
- }
368
- return [];
369
- }
370
- get tags() {
371
- const { gallery } = this;
372
- if (gallery) {
373
- return gallery.tags.filter(tag => !tag.startsWith('_'));
374
- }
375
- return [];
376
- }
377
- get dependencies() {
378
- const { local, gallery, resourceExtension } = this;
379
- if (local && local.manifest.extensionDependencies && !this.outdated) {
380
- return local.manifest.extensionDependencies;
381
- }
382
- if (gallery) {
383
- return gallery.properties.dependencies || [];
384
- }
385
- if (resourceExtension) {
386
- return resourceExtension.manifest.extensionDependencies || [];
387
- }
388
- return [];
389
- }
390
- get extensionPack() {
391
- const { local, gallery, resourceExtension } = this;
392
- if (local && local.manifest.extensionPack && !this.outdated) {
393
- return local.manifest.extensionPack;
394
- }
395
- if (gallery) {
396
- return gallery.properties.extensionPack || [];
397
- }
398
- if (resourceExtension) {
399
- return resourceExtension.manifest.extensionPack || [];
400
- }
401
- return [];
402
- }
403
- getManifestFromLocalOrResource() {
404
- if (this.local) {
405
- return this.local.manifest;
406
- }
407
- if (this.resourceExtension) {
408
- return this.resourceExtension.manifest;
409
- }
410
- return null;
411
- }
412
- };
413
- Extension = ( __decorate([
414
- ( __param(6, IExtensionGalleryService)),
415
- ( __param(7, ITelemetryService)),
416
- ( __param(8, ILogService)),
417
- ( __param(9, IFileService)),
418
- ( __param(10, IProductService))
419
- ], Extension));
420
- const EXTENSIONS_AUTO_UPDATE_KEY = 'extensions.autoUpdate';
421
- let Extensions = Extensions_1 = class Extensions extends Disposable {
422
- static updateExtensionFromControlManifest(extension, extensionsControlManifest) {
423
- extension.isMalicious = ( extensionsControlManifest.malicious.some(identifier => areSameExtensions(extension.identifier, identifier)));
424
- extension.deprecationInfo = extensionsControlManifest.deprecated ? extensionsControlManifest.deprecated[extension.identifier.id.toLowerCase()] : undefined;
425
- }
426
- get onChange() { return this._onChange.event; }
427
- get onReset() { return this._onReset.event; }
428
- constructor(server, stateProvider, runtimeStateProvider, isWorkspaceServer, galleryService, extensionEnablementService, workbenchExtensionManagementService, telemetryService, instantiationService) {
429
- super();
430
- this.server = server;
431
- this.stateProvider = stateProvider;
432
- this.runtimeStateProvider = runtimeStateProvider;
433
- this.isWorkspaceServer = isWorkspaceServer;
434
- this.galleryService = galleryService;
435
- this.extensionEnablementService = extensionEnablementService;
436
- this.workbenchExtensionManagementService = workbenchExtensionManagementService;
437
- this.telemetryService = telemetryService;
438
- this.instantiationService = instantiationService;
439
- this._onChange = this._register(( new Emitter()));
440
- this._onReset = this._register(( new Emitter()));
441
- this.installing = [];
442
- this.uninstalling = [];
443
- this.installed = [];
444
- this._register(server.extensionManagementService.onInstallExtension(e => this.onInstallExtension(e)));
445
- this._register(server.extensionManagementService.onDidInstallExtensions(e => this.onDidInstallExtensions(e)));
446
- this._register(server.extensionManagementService.onUninstallExtension(e => this.onUninstallExtension(e.identifier)));
447
- this._register(server.extensionManagementService.onDidUninstallExtension(e => this.onDidUninstallExtension(e)));
448
- this._register(server.extensionManagementService.onDidUpdateExtensionMetadata(e => this.onDidUpdateExtensionMetadata(e)));
449
- this._register(server.extensionManagementService.onDidChangeProfile(() => this.reset()));
450
- this._register(extensionEnablementService.onEnablementChanged(e => this.onEnablementChanged(e)));
451
- this._register(Event.any(this.onChange, this.onReset)(() => this._local = undefined));
452
- if (this.isWorkspaceServer) {
453
- this._register(this.workbenchExtensionManagementService.onInstallExtension(e => {
454
- if (e.workspaceScoped) {
455
- this.onInstallExtension(e);
456
- }
457
- }));
458
- this._register(this.workbenchExtensionManagementService.onDidInstallExtensions(e => {
459
- const result = e.filter(e => e.workspaceScoped);
460
- if (result.length) {
461
- this.onDidInstallExtensions(result);
462
- }
463
- }));
464
- this._register(this.workbenchExtensionManagementService.onUninstallExtension(e => {
465
- if (e.workspaceScoped) {
466
- this.onUninstallExtension(e.identifier);
467
- }
468
- }));
469
- this._register(this.workbenchExtensionManagementService.onDidUninstallExtension(e => {
470
- if (e.workspaceScoped) {
471
- this.onDidUninstallExtension(e);
472
- }
473
- }));
474
- }
475
- }
476
- get local() {
477
- if (!this._local) {
478
- this._local = [];
479
- for (const extension of this.installed) {
480
- this._local.push(extension);
481
- }
482
- for (const extension of this.installing) {
483
- if (!( this.installed.some(installed => areSameExtensions(installed.identifier, extension.identifier)))) {
484
- this._local.push(extension);
485
- }
486
- }
487
- }
488
- return this._local;
489
- }
490
- async queryInstalled(productVersion) {
491
- await this.fetchInstalledExtensions(productVersion);
492
- this._onChange.fire(undefined);
493
- return this.local;
494
- }
495
- async syncInstalledExtensionsWithGallery(galleryExtensions, productVersion) {
496
- const extensions = await this.mapInstalledExtensionWithCompatibleGalleryExtension(galleryExtensions, productVersion);
497
- for (const [extension, gallery] of extensions) {
498
- if (extension.local && !extension.local.identifier.uuid) {
499
- extension.local = await this.updateMetadata(extension.local, gallery);
500
- }
501
- if (!extension.gallery || extension.gallery.version !== gallery.version || extension.gallery.properties.targetPlatform !== gallery.properties.targetPlatform) {
502
- extension.gallery = gallery;
503
- this._onChange.fire({ extension });
504
- }
505
- }
506
- }
507
- async mapInstalledExtensionWithCompatibleGalleryExtension(galleryExtensions, productVersion) {
508
- const mappedExtensions = this.mapInstalledExtensionWithGalleryExtension(galleryExtensions);
509
- const targetPlatform = await this.server.extensionManagementService.getTargetPlatform();
510
- const compatibleGalleryExtensions = [];
511
- const compatibleGalleryExtensionsToFetch = [];
512
- await Promise.allSettled(( mappedExtensions.map(async ([extension, gallery]) => {
513
- if (extension.local) {
514
- if (await this.galleryService.isExtensionCompatible(gallery, extension.local.preRelease, targetPlatform, productVersion)) {
515
- compatibleGalleryExtensions.push(gallery);
516
- }
517
- else {
518
- compatibleGalleryExtensionsToFetch.push({ ...extension.local.identifier, preRelease: extension.local.preRelease });
519
- }
520
- }
521
- })));
522
- if (compatibleGalleryExtensionsToFetch.length) {
523
- const result = await this.galleryService.getExtensions(compatibleGalleryExtensionsToFetch, { targetPlatform, compatible: true, queryAllVersions: true, productVersion }, CancellationToken.None);
524
- compatibleGalleryExtensions.push(...result);
525
- }
526
- return this.mapInstalledExtensionWithGalleryExtension(compatibleGalleryExtensions);
527
- }
528
- mapInstalledExtensionWithGalleryExtension(galleryExtensions) {
529
- const mappedExtensions = [];
530
- const byUUID = ( new Map()), byID = ( new Map());
531
- for (const gallery of galleryExtensions) {
532
- byUUID.set(gallery.identifier.uuid, gallery);
533
- byID.set(gallery.identifier.id.toLowerCase(), gallery);
534
- }
535
- for (const installed of this.installed) {
536
- if (installed.uuid) {
537
- const gallery = byUUID.get(installed.uuid);
538
- if (gallery) {
539
- mappedExtensions.push([installed, gallery]);
540
- continue;
541
- }
542
- }
543
- if (installed.local?.source !== 'resource') {
544
- const gallery = byID.get(installed.identifier.id.toLowerCase());
545
- if (gallery) {
546
- mappedExtensions.push([installed, gallery]);
547
- }
548
- }
549
- }
550
- return mappedExtensions;
551
- }
552
- async updateMetadata(localExtension, gallery) {
553
- let isPreReleaseVersion = false;
554
- if (localExtension.manifest.version !== gallery.version) {
555
- this.telemetryService.publicLog2('galleryService:updateMetadata');
556
- const galleryWithLocalVersion = (await this.galleryService.getExtensions([{ ...localExtension.identifier, version: localExtension.manifest.version }], CancellationToken.None))[0];
557
- isPreReleaseVersion = !!galleryWithLocalVersion?.properties?.isPreReleaseVersion;
558
- }
559
- return this.server.extensionManagementService.updateMetadata(localExtension, { id: gallery.identifier.uuid, publisherDisplayName: gallery.publisherDisplayName, publisherId: gallery.publisherId, isPreReleaseVersion });
560
- }
561
- canInstall(galleryExtension) {
562
- return this.server.extensionManagementService.canInstall(galleryExtension);
563
- }
564
- onInstallExtension(event) {
565
- const { source } = event;
566
- if (source && !URI.isUri(source)) {
567
- const extension = this.installed.find(e => areSameExtensions(e.identifier, source.identifier))
568
- ?? this.instantiationService.createInstance(Extension, this.stateProvider, this.runtimeStateProvider, this.server, undefined, source, undefined);
569
- this.installing.push(extension);
570
- this._onChange.fire({ extension });
571
- }
572
- }
573
- async fetchInstalledExtensions(productVersion) {
574
- const extensionsControlManifest = await this.server.extensionManagementService.getExtensionsControlManifest();
575
- const all = await this.server.extensionManagementService.getInstalled(undefined, undefined, productVersion);
576
- if (this.isWorkspaceServer) {
577
- all.push(...(await this.workbenchExtensionManagementService.getInstalledWorkspaceExtensions(true)));
578
- }
579
- const installed = groupByExtension(all, r => r.identifier).reduce((result, extensions) => {
580
- const extension = extensions.length === 1 ? extensions[0]
581
- : extensions.find(e => e.type === 1 ) || extensions.find(e => e.type === 0 );
582
- result.push(extension);
583
- return result;
584
- }, []);
585
- const byId = index(this.installed, e => e.local ? e.local.identifier.id : e.identifier.id);
586
- this.installed = ( installed.map(local => {
587
- const extension = byId[local.identifier.id] || this.instantiationService.createInstance(Extension, this.stateProvider, this.runtimeStateProvider, this.server, local, undefined, undefined);
588
- extension.local = local;
589
- extension.enablementState = this.extensionEnablementService.getEnablementState(local);
590
- Extensions_1.updateExtensionFromControlManifest(extension, extensionsControlManifest);
591
- return extension;
592
- }));
593
- }
594
- async reset() {
595
- this.installed = [];
596
- this.installing = [];
597
- this.uninstalling = [];
598
- await this.fetchInstalledExtensions();
599
- this._onReset.fire();
600
- }
601
- async onDidInstallExtensions(results) {
602
- for (const event of results) {
603
- const { local, source } = event;
604
- const gallery = source && !URI.isUri(source) ? source : undefined;
605
- const location = source && URI.isUri(source) ? source : undefined;
606
- const installingExtension = gallery ? this.installing.filter(e => areSameExtensions(e.identifier, gallery.identifier))[0] : null;
607
- this.installing = installingExtension ? this.installing.filter(e => e !== installingExtension) : this.installing;
608
- let extension = installingExtension ? installingExtension
609
- : (location || local) ? this.instantiationService.createInstance(Extension, this.stateProvider, this.runtimeStateProvider, this.server, local, undefined, undefined)
610
- : undefined;
611
- if (extension) {
612
- if (local) {
613
- const installed = this.installed.filter(e => areSameExtensions(e.identifier, extension.identifier))[0];
614
- if (installed) {
615
- extension = installed;
616
- }
617
- else {
618
- this.installed.push(extension);
619
- }
620
- extension.local = local;
621
- if (!extension.gallery) {
622
- extension.gallery = gallery;
623
- }
624
- Extensions_1.updateExtensionFromControlManifest(extension, await this.server.extensionManagementService.getExtensionsControlManifest());
625
- extension.enablementState = this.extensionEnablementService.getEnablementState(local);
626
- }
627
- }
628
- this._onChange.fire(!local || !extension ? undefined : { extension, operation: event.operation });
629
- if (extension && extension.local && !extension.gallery && extension.local.source !== 'resource') {
630
- await this.syncInstalledExtensionWithGallery(extension);
631
- }
632
- }
633
- }
634
- async onDidUpdateExtensionMetadata(local) {
635
- const extension = this.installed.find(e => areSameExtensions(e.identifier, local.identifier));
636
- if (extension?.local) {
637
- const hasChanged = extension.local.pinned !== local.pinned
638
- || extension.local.preRelease !== local.preRelease;
639
- extension.local = local;
640
- if (hasChanged) {
641
- this._onChange.fire({ extension });
642
- }
643
- }
644
- }
645
- async syncInstalledExtensionWithGallery(extension) {
646
- if (!this.galleryService.isEnabled()) {
647
- return;
648
- }
649
- this.telemetryService.publicLog2('galleryService:matchInstalledExtension');
650
- const [compatible] = await this.galleryService.getExtensions([{ ...extension.identifier, preRelease: extension.local?.preRelease }], { compatible: true, targetPlatform: await this.server.extensionManagementService.getTargetPlatform() }, CancellationToken.None);
651
- if (compatible) {
652
- extension.gallery = compatible;
653
- this._onChange.fire({ extension });
654
- }
655
- }
656
- onUninstallExtension(identifier) {
657
- const extension = this.installed.filter(e => areSameExtensions(e.identifier, identifier))[0];
658
- if (extension) {
659
- const uninstalling = this.uninstalling.filter(e => areSameExtensions(e.identifier, identifier))[0] || extension;
660
- this.uninstalling = [uninstalling, ...this.uninstalling.filter(e => !areSameExtensions(e.identifier, identifier))];
661
- this._onChange.fire(uninstalling ? { extension: uninstalling } : undefined);
662
- }
663
- }
664
- onDidUninstallExtension({ identifier, error }) {
665
- const uninstalled = this.uninstalling.find(e => areSameExtensions(e.identifier, identifier)) || this.installed.find(e => areSameExtensions(e.identifier, identifier));
666
- this.uninstalling = this.uninstalling.filter(e => !areSameExtensions(e.identifier, identifier));
667
- if (!error) {
668
- this.installed = this.installed.filter(e => !areSameExtensions(e.identifier, identifier));
669
- }
670
- if (uninstalled) {
671
- this._onChange.fire({ extension: uninstalled });
672
- }
673
- }
674
- onEnablementChanged(platformExtensions) {
675
- const extensions = this.local.filter(e => ( platformExtensions.some(p => areSameExtensions(e.identifier, p.identifier))));
676
- for (const extension of extensions) {
677
- if (extension.local) {
678
- const enablementState = this.extensionEnablementService.getEnablementState(extension.local);
679
- if (enablementState !== extension.enablementState) {
680
- extension.enablementState = enablementState;
681
- this._onChange.fire({ extension: extension });
682
- }
683
- }
684
- }
685
- }
686
- getExtensionState(extension) {
687
- if (extension.gallery && ( this.installing.some(
688
- e => !!e.gallery && areSameExtensions(e.gallery.identifier, extension.gallery.identifier)
689
- ))) {
690
- return 0 ;
691
- }
692
- if (( this.uninstalling.some(e => areSameExtensions(e.identifier, extension.identifier)))) {
693
- return 2 ;
694
- }
695
- const local = this.installed.filter(e => e === extension || (e.gallery && extension.gallery && areSameExtensions(e.gallery.identifier, extension.gallery.identifier)))[0];
696
- return local ? 1 : 3 ;
697
- }
698
- };
699
- Extensions = Extensions_1 = ( __decorate([
700
- ( __param(4, IExtensionGalleryService)),
701
- ( __param(5, IWorkbenchExtensionEnablementService)),
702
- ( __param(6, IWorkbenchExtensionManagementService)),
703
- ( __param(7, ITelemetryService)),
704
- ( __param(8, IInstantiationService))
705
- ], Extensions));
706
- let ExtensionsWorkbenchService = class ExtensionsWorkbenchService extends Disposable {
707
- static { ExtensionsWorkbenchService_1 = this; }
708
- static { this.UpdatesCheckInterval = 1000 * 60 * 60 * 12; }
709
- get onChange() { return this._onChange.event; }
710
- get onReset() { return this._onReset.event; }
711
- constructor(instantiationService, editorService, extensionManagementService, galleryService, configurationService, telemetryService, notificationService, urlService, extensionEnablementService, hostService, progressService, extensionManagementServerService, languageService, extensionsSyncManagementService, userDataAutoSyncService, productService, contextKeyService, extensionManifestPropertiesService, logService, extensionService, localeService, lifecycleService, fileService, userDataProfileService, storageService, dialogService, userDataSyncEnablementService, updateService, uriIdentityService) {
712
- super();
713
- this.instantiationService = instantiationService;
714
- this.editorService = editorService;
715
- this.extensionManagementService = extensionManagementService;
716
- this.galleryService = galleryService;
717
- this.configurationService = configurationService;
718
- this.telemetryService = telemetryService;
719
- this.notificationService = notificationService;
720
- this.extensionEnablementService = extensionEnablementService;
721
- this.hostService = hostService;
722
- this.progressService = progressService;
723
- this.extensionManagementServerService = extensionManagementServerService;
724
- this.languageService = languageService;
725
- this.extensionsSyncManagementService = extensionsSyncManagementService;
726
- this.userDataAutoSyncService = userDataAutoSyncService;
727
- this.productService = productService;
728
- this.extensionManifestPropertiesService = extensionManifestPropertiesService;
729
- this.logService = logService;
730
- this.extensionService = extensionService;
731
- this.localeService = localeService;
732
- this.lifecycleService = lifecycleService;
733
- this.fileService = fileService;
734
- this.userDataProfileService = userDataProfileService;
735
- this.storageService = storageService;
736
- this.dialogService = dialogService;
737
- this.userDataSyncEnablementService = userDataSyncEnablementService;
738
- this.updateService = updateService;
739
- this.uriIdentityService = uriIdentityService;
740
- this.localExtensions = null;
741
- this.remoteExtensions = null;
742
- this.webExtensions = null;
743
- this.extensionsServers = [];
744
- this._onChange = ( new Emitter());
745
- this._onReset = ( new Emitter());
746
- this.preferPreReleases = this.productService.quality !== 'stable';
747
- this.installing = [];
748
- this.tasksInProgress = [];
749
- const preferPreReleasesValue = configurationService.getValue('_extensions.preferPreReleases');
750
- if (!isUndefined(preferPreReleasesValue)) {
751
- this.preferPreReleases = !!preferPreReleasesValue;
752
- }
753
- this.hasOutdatedExtensionsContextKey = HasOutdatedExtensionsContext.bindTo(contextKeyService);
754
- if (extensionManagementServerService.localExtensionManagementServer) {
755
- this.localExtensions = this._register(instantiationService.createInstance(Extensions, extensionManagementServerService.localExtensionManagementServer, ext => this.getExtensionState(ext), ext => this.getRuntimeState(ext), !extensionManagementServerService.remoteExtensionManagementServer));
756
- this._register(this.localExtensions.onChange(e => this.onDidChangeExtensions(e?.extension)));
757
- this._register(this.localExtensions.onReset(e => this.reset()));
758
- this.extensionsServers.push(this.localExtensions);
759
- }
760
- if (extensionManagementServerService.remoteExtensionManagementServer) {
761
- this.remoteExtensions = this._register(instantiationService.createInstance(Extensions, extensionManagementServerService.remoteExtensionManagementServer, ext => this.getExtensionState(ext), ext => this.getRuntimeState(ext), true));
762
- this._register(this.remoteExtensions.onChange(e => this.onDidChangeExtensions(e?.extension)));
763
- this._register(this.remoteExtensions.onReset(e => this.reset()));
764
- this.extensionsServers.push(this.remoteExtensions);
765
- }
766
- if (extensionManagementServerService.webExtensionManagementServer) {
767
- this.webExtensions = this._register(instantiationService.createInstance(Extensions, extensionManagementServerService.webExtensionManagementServer, ext => this.getExtensionState(ext), ext => this.getRuntimeState(ext), !(extensionManagementServerService.remoteExtensionManagementServer || extensionManagementServerService.localExtensionManagementServer)));
768
- this._register(this.webExtensions.onChange(e => this.onDidChangeExtensions(e?.extension)));
769
- this._register(this.webExtensions.onReset(e => this.reset()));
770
- this.extensionsServers.push(this.webExtensions);
771
- }
772
- this.updatesCheckDelayer = ( new ThrottledDelayer(ExtensionsWorkbenchService_1.UpdatesCheckInterval));
773
- this.autoUpdateDelayer = ( new ThrottledDelayer(1000));
774
- this._register(toDisposable(() => {
775
- this.updatesCheckDelayer.cancel();
776
- this.autoUpdateDelayer.cancel();
777
- }));
778
- urlService.registerHandler(this);
779
- this.whenInitialized = this.initialize();
780
- }
781
- async initialize() {
782
- await Promise.all([this.queryLocal(), this.extensionService.whenInstalledExtensionsRegistered()]);
783
- if (this._store.isDisposed) {
784
- return;
785
- }
786
- this.onDidChangeRunningExtensions(this.extensionService.extensions, []);
787
- this._register(this.extensionService.onDidChangeExtensions(({ added, removed }) => this.onDidChangeRunningExtensions(added, removed)));
788
- await this.lifecycleService.when(4 );
789
- if (this._store.isDisposed) {
790
- return;
791
- }
792
- this.initializeAutoUpdate();
793
- this.reportInstalledExtensionsTelemetry();
794
- this._register(Event.debounce(this.onChange, () => undefined, 100)(() => this.reportProgressFromOtherSources()));
795
- this._register(this.storageService.onDidChangeValue(-1 , EXTENSIONS_AUTO_UPDATE_KEY, this._store)(e => this.onDidSelectedExtensionToAutoUpdateValueChange(false)));
796
- }
797
- initializeAutoUpdate() {
798
- this._register(this.configurationService.onDidChangeConfiguration(e => {
799
- if (e.affectsConfiguration(AutoUpdateConfigurationKey)) {
800
- this.onDidAutoUpdateConfigurationChange();
801
- }
802
- if (e.affectsConfiguration(AutoCheckUpdatesConfigurationKey)) {
803
- if (this.isAutoCheckUpdatesEnabled()) {
804
- this.checkForUpdates();
805
- }
806
- }
807
- }));
808
- this._register(this.extensionEnablementService.onEnablementChanged(platformExtensions => {
809
- if (this.getAutoUpdateValue() === 'onlyEnabledExtensions' && ( platformExtensions.some(e => this.extensionEnablementService.isEnabled(e)))) {
810
- this.checkForUpdates();
811
- }
812
- }));
813
- this._register(Event.debounce(this.onChange, () => undefined, 100)(() => this.hasOutdatedExtensionsContextKey.set(this.outdated.length > 0)));
814
- this._register(this.updateService.onStateChange(e => {
815
- if (!this.isAutoUpdateEnabled()) {
816
- return;
817
- }
818
- if ((e.type === "checking for updates" && e.explicit) || e.type === "available for download" || e.type === "downloaded" ) {
819
- this.eventuallyCheckForUpdates(true);
820
- }
821
- }));
822
- this.hasOutdatedExtensionsContextKey.set(this.outdated.length > 0);
823
- this.eventuallyCheckForUpdates(true);
824
- if (isWeb) {
825
- this.syncPinnedBuiltinExtensions();
826
- if (!this.isAutoUpdateEnabled()) {
827
- this.autoUpdateBuiltinExtensions();
828
- }
829
- }
830
- }
831
- reportInstalledExtensionsTelemetry() {
832
- const extensionIds = ( this.installed.filter(extension => !extension.isBuiltin &&
833
- ((extension.enablementState === 9 || extension.enablementState === 8) ))
834
- .map(extension => ExtensionIdentifier.toKey(extension.identifier.id)));
835
- this.telemetryService.publicLog2('installedExtensions', { extensionIds: ( new TelemetryTrustedValue(extensionIds.join(';'))), count: extensionIds.length });
836
- }
837
- async onDidChangeRunningExtensions(added, removed) {
838
- const changedExtensions = [];
839
- const extsNotInstalled = [];
840
- for (const desc of added) {
841
- const extension = this.installed.find(e => areSameExtensions({ id: desc.identifier.value, uuid: desc.uuid }, e.identifier));
842
- if (extension) {
843
- changedExtensions.push(extension);
844
- }
845
- else {
846
- extsNotInstalled.push({ id: desc.identifier.value, uuid: desc.uuid });
847
- }
848
- }
849
- if (extsNotInstalled.length) {
850
- const extensions = await this.getExtensions(extsNotInstalled, CancellationToken.None);
851
- for (const extension of extensions) {
852
- changedExtensions.push(extension);
853
- }
854
- }
855
- for (const changedExtension of changedExtensions) {
856
- this._onChange.fire(changedExtension);
857
- }
858
- }
859
- reset() {
860
- for (const task of this.tasksInProgress) {
861
- task.cancel();
862
- }
863
- this.tasksInProgress = [];
864
- this.installing = [];
865
- this.onDidChangeExtensions();
866
- this._onReset.fire();
867
- }
868
- onDidChangeExtensions(extension) {
869
- this._installed = undefined;
870
- this._local = undefined;
871
- this._onChange.fire(extension);
872
- }
873
- get local() {
874
- if (!this._local) {
875
- if (this.extensionsServers.length === 1) {
876
- this._local = this.installed;
877
- }
878
- else {
879
- this._local = [];
880
- const byId = groupByExtension(this.installed, r => r.identifier);
881
- for (const extensions of byId) {
882
- this._local.push(this.getPrimaryExtension(extensions));
883
- }
884
- }
885
- }
886
- return this._local;
887
- }
888
- get installed() {
889
- if (!this._installed) {
890
- this._installed = [];
891
- for (const extensions of this.extensionsServers) {
892
- for (const extension of extensions.local) {
893
- this._installed.push(extension);
894
- }
895
- }
896
- }
897
- return this._installed;
898
- }
899
- get outdated() {
900
- return this.installed.filter(e => e.outdated && e.local && e.state === 1 );
901
- }
902
- async queryLocal(server) {
903
- if (server) {
904
- if (this.localExtensions && this.extensionManagementServerService.localExtensionManagementServer === server) {
905
- return this.localExtensions.queryInstalled(this.getProductVersion());
906
- }
907
- if (this.remoteExtensions && this.extensionManagementServerService.remoteExtensionManagementServer === server) {
908
- return this.remoteExtensions.queryInstalled(this.getProductVersion());
909
- }
910
- if (this.webExtensions && this.extensionManagementServerService.webExtensionManagementServer === server) {
911
- return this.webExtensions.queryInstalled(this.getProductVersion());
912
- }
913
- }
914
- if (this.localExtensions) {
915
- try {
916
- await this.localExtensions.queryInstalled(this.getProductVersion());
917
- }
918
- catch (error) {
919
- this.logService.error(error);
920
- }
921
- }
922
- if (this.remoteExtensions) {
923
- try {
924
- await this.remoteExtensions.queryInstalled(this.getProductVersion());
925
- }
926
- catch (error) {
927
- this.logService.error(error);
928
- }
929
- }
930
- if (this.webExtensions) {
931
- try {
932
- await this.webExtensions.queryInstalled(this.getProductVersion());
933
- }
934
- catch (error) {
935
- this.logService.error(error);
936
- }
937
- }
938
- return this.local;
939
- }
940
- async queryGallery(arg1, arg2) {
941
- if (!this.galleryService.isEnabled()) {
942
- return singlePagePager([]);
943
- }
944
- const options = CancellationToken.isCancellationToken(arg1) ? {} : arg1;
945
- const token = CancellationToken.isCancellationToken(arg1) ? arg1 : arg2;
946
- options.text = options.text ? this.resolveQueryText(options.text) : options.text;
947
- options.includePreRelease = isUndefined(options.includePreRelease) ? this.preferPreReleases : options.includePreRelease;
948
- const extensionsControlManifest = await this.extensionManagementService.getExtensionsControlManifest();
949
- const pager = await this.galleryService.query(options, token);
950
- this.syncInstalledExtensionsWithGallery(pager.firstPage);
951
- return {
952
- firstPage: ( pager.firstPage.map(gallery => this.fromGallery(gallery, extensionsControlManifest))),
953
- total: pager.total,
954
- pageSize: pager.pageSize,
955
- getPage: async (pageIndex, token) => {
956
- const page = await pager.getPage(pageIndex, token);
957
- this.syncInstalledExtensionsWithGallery(page);
958
- return ( page.map(gallery => this.fromGallery(gallery, extensionsControlManifest)));
959
- }
960
- };
961
- }
962
- async getExtensions(extensionInfos, arg1, arg2) {
963
- if (!this.galleryService.isEnabled()) {
964
- return [];
965
- }
966
- extensionInfos.forEach(e => e.preRelease = e.preRelease ?? this.preferPreReleases);
967
- const extensionsControlManifest = await this.extensionManagementService.getExtensionsControlManifest();
968
- const galleryExtensions = await this.galleryService.getExtensions(extensionInfos, arg1, arg2);
969
- this.syncInstalledExtensionsWithGallery(galleryExtensions);
970
- return ( galleryExtensions.map(gallery => this.fromGallery(gallery, extensionsControlManifest)));
971
- }
972
- async getResourceExtensions(locations, isWorkspaceScoped) {
973
- const resourceExtensions = await this.extensionManagementService.getExtensions(locations);
974
- return ( resourceExtensions.map(
975
- resourceExtension => this.getInstalledExtensionMatchingLocation(resourceExtension.location)
976
- ?? this.instantiationService.createInstance(Extension, ext => this.getExtensionState(ext), ext => this.getRuntimeState(ext), undefined, undefined, undefined, { resourceExtension, isWorkspaceScoped })
977
- ));
978
- }
979
- resolveQueryText(text) {
980
- text = text.replace(/@web/g, `tag:"${WEB_EXTENSION_TAG}"`);
981
- const extensionRegex = /\bext:([^\s]+)\b/g;
982
- if (extensionRegex.test(text)) {
983
- text = text.replace(extensionRegex, (m, ext) => {
984
- const lookup = this.productService.extensionKeywords || {};
985
- const keywords = lookup[ext] || [];
986
- const languageId = this.languageService.guessLanguageIdByFilepathOrFirstLine(URI.file(`.${ext}`));
987
- const languageName = languageId && this.languageService.getLanguageName(languageId);
988
- const languageTag = languageName ? ` tag:"${languageName}"` : '';
989
- return `tag:"__ext_${ext}" tag:"__ext_.${ext}" ${( keywords.map(tag => `tag:"${tag}"`)).join(' ')}${languageTag} tag:"${ext}"`;
990
- });
991
- }
992
- return text.substr(0, 350);
993
- }
994
- fromGallery(gallery, extensionsControlManifest) {
995
- let extension = this.getInstalledExtensionMatchingGallery(gallery);
996
- if (!extension) {
997
- extension = this.instantiationService.createInstance(Extension, ext => this.getExtensionState(ext), ext => this.getRuntimeState(ext), undefined, undefined, gallery, undefined);
998
- Extensions.updateExtensionFromControlManifest(extension, extensionsControlManifest);
999
- }
1000
- return extension;
1001
- }
1002
- getInstalledExtensionMatchingGallery(gallery) {
1003
- for (const installed of this.local) {
1004
- if (installed.identifier.uuid) {
1005
- if (installed.identifier.uuid === gallery.identifier.uuid) {
1006
- return installed;
1007
- }
1008
- }
1009
- else if (installed.local?.source !== 'resource') {
1010
- if (areSameExtensions(installed.identifier, gallery.identifier)) {
1011
- return installed;
1012
- }
1013
- }
1014
- }
1015
- return null;
1016
- }
1017
- getInstalledExtensionMatchingLocation(location) {
1018
- return this.local.find(e => e.local && this.uriIdentityService.extUri.isEqualOrParent(location, e.local?.location)) ?? null;
1019
- }
1020
- async open(extension, options) {
1021
- if (typeof extension === 'string') {
1022
- const id = extension;
1023
- extension = this.installed.find(e => areSameExtensions(e.identifier, { id })) ?? (await this.getExtensions([{ id: extension }], CancellationToken.None))[0];
1024
- }
1025
- if (!extension) {
1026
- throw new Error(`Extension not found. ${extension}`);
1027
- }
1028
- await this.editorService.openEditor(this.instantiationService.createInstance(ExtensionsInput, extension), options, options?.sideByside ? SIDE_GROUP : ACTIVE_GROUP);
1029
- }
1030
- getExtensionStatus(extension) {
1031
- const extensionsStatus = this.extensionService.getExtensionsStatus();
1032
- for (const id of ( Object.keys(extensionsStatus))) {
1033
- if (areSameExtensions({ id }, extension.identifier)) {
1034
- return extensionsStatus[id];
1035
- }
1036
- }
1037
- return undefined;
1038
- }
1039
- async updateRunningExtensions() {
1040
- const toAdd = [];
1041
- const toRemove = [];
1042
- const extensionsToCheck = [...this.local];
1043
- const notExistingRunningExtensions = this.extensionService.extensions.filter(e => !( this.local.some(
1044
- local => areSameExtensions({ id: e.identifier.value, uuid: e.uuid }, local.identifier)
1045
- )));
1046
- if (notExistingRunningExtensions.length) {
1047
- const extensions = await this.getExtensions(( notExistingRunningExtensions.map(e => ({ id: e.identifier.value }))), CancellationToken.None);
1048
- extensionsToCheck.push(...extensions);
1049
- }
1050
- for (const extension of extensionsToCheck) {
1051
- const runtimeState = extension.runtimeState;
1052
- if (!runtimeState || runtimeState.action !== "restartExtensions" ) {
1053
- continue;
1054
- }
1055
- if (extension.state === 3 ) {
1056
- toRemove.push(extension.identifier.id);
1057
- continue;
1058
- }
1059
- if (!extension.local) {
1060
- continue;
1061
- }
1062
- const isEnabled = this.extensionEnablementService.isEnabled(extension.local);
1063
- if (isEnabled) {
1064
- const runningExtension = this.extensionService.extensions.find(e => areSameExtensions({ id: e.identifier.value, uuid: e.uuid }, extension.identifier));
1065
- if (runningExtension) {
1066
- toRemove.push(runningExtension.identifier.value);
1067
- }
1068
- toAdd.push(extension.local);
1069
- }
1070
- else {
1071
- toRemove.push(extension.identifier.id);
1072
- }
1073
- }
1074
- if (toAdd.length || toRemove.length) {
1075
- if (await this.extensionService.stopExtensionHosts(( localizeWithPath(
1076
- 'vs/workbench/contrib/extensions/browser/extensionsWorkbenchService',
1077
- 'restart',
1078
- "Enable or Disable extensions"
1079
- )))) {
1080
- await this.extensionService.startExtensionHosts({ toAdd, toRemove });
1081
- }
1082
- }
1083
- }
1084
- getRuntimeState(extension) {
1085
- const isUninstalled = extension.state === 3 ;
1086
- const runningExtension = this.extensionService.extensions.find(e => areSameExtensions({ id: e.identifier.value, uuid: e.uuid }, extension.identifier));
1087
- const reloadAction = this.extensionManagementServerService.remoteExtensionManagementServer ? "reloadWindow" : "restartExtensions" ;
1088
- const reloadActionLabel = reloadAction === "reloadWindow" ? ( localizeWithPath(
1089
- 'vs/workbench/contrib/extensions/browser/extensionsWorkbenchService',
1090
- 'reload',
1091
- "reload window"
1092
- )) : ( localizeWithPath(
1093
- 'vs/workbench/contrib/extensions/browser/extensionsWorkbenchService',
1094
- 'restart extensions',
1095
- "restart extensions"
1096
- ));
1097
- if (isUninstalled) {
1098
- const canRemoveRunningExtension = runningExtension && this.extensionService.canRemoveExtension(runningExtension);
1099
- const isSameExtensionRunning = runningExtension && (!extension.server || extension.server === this.extensionManagementServerService.getExtensionManagementServer(toExtension(runningExtension)));
1100
- if (!canRemoveRunningExtension && isSameExtensionRunning && !runningExtension.isUnderDevelopment) {
1101
- return { action: reloadAction, reason: ( localizeWithPath(
1102
- 'vs/workbench/contrib/extensions/browser/extensionsWorkbenchService',
1103
- 'postUninstallTooltip',
1104
- "Please {0} to complete the uninstallation of this extension.",
1105
- reloadActionLabel
1106
- )) };
1107
- }
1108
- return undefined;
1109
- }
1110
- if (extension.local) {
1111
- const isSameExtensionRunning = runningExtension && extension.server === this.extensionManagementServerService.getExtensionManagementServer(toExtension(runningExtension));
1112
- const isEnabled = this.extensionEnablementService.isEnabled(extension.local);
1113
- if (runningExtension) {
1114
- if (isEnabled) {
1115
- if (this.extensionService.canAddExtension(toExtensionDescription(extension.local))) {
1116
- return undefined;
1117
- }
1118
- const runningExtensionServer = this.extensionManagementServerService.getExtensionManagementServer(toExtension(runningExtension));
1119
- if (isSameExtensionRunning) {
1120
- if (!runningExtension.isUnderDevelopment && (extension.version !== runningExtension.version || extension.local.targetPlatform !== runningExtension.targetPlatform)) {
1121
- const productCurrentVersion = this.getProductCurrentVersion();
1122
- const productUpdateVersion = this.getProductUpdateVersion();
1123
- if (productUpdateVersion
1124
- && !isEngineValid(extension.local.manifest.engines.vscode, productCurrentVersion.version, productCurrentVersion.date)
1125
- && isEngineValid(extension.local.manifest.engines.vscode, productUpdateVersion.version, productUpdateVersion.date)) {
1126
- const state = this.updateService.state;
1127
- if (state.type === "available for download" ) {
1128
- return { action: "downloadUpdate" , reason: ( localizeWithPath(
1129
- 'vs/workbench/contrib/extensions/browser/extensionsWorkbenchService',
1130
- 'postUpdateDownloadTooltip',
1131
- "Please update {0} to enable the updated extension.",
1132
- this.productService.nameLong
1133
- )) };
1134
- }
1135
- if (state.type === "downloaded" ) {
1136
- return { action: "applyUpdate" , reason: ( localizeWithPath(
1137
- 'vs/workbench/contrib/extensions/browser/extensionsWorkbenchService',
1138
- 'postUpdateUpdateTooltip',
1139
- "Please update {0} to enable the updated extension.",
1140
- this.productService.nameLong
1141
- )) };
1142
- }
1143
- if (state.type === "ready" ) {
1144
- return { action: "quitAndInstall" , reason: ( localizeWithPath(
1145
- 'vs/workbench/contrib/extensions/browser/extensionsWorkbenchService',
1146
- 'postUpdateRestartTooltip',
1147
- "Please restart {0} to enable the updated extension.",
1148
- this.productService.nameLong
1149
- )) };
1150
- }
1151
- return undefined;
1152
- }
1153
- return { action: reloadAction, reason: ( localizeWithPath(
1154
- 'vs/workbench/contrib/extensions/browser/extensionsWorkbenchService',
1155
- 'postUpdateTooltip',
1156
- "Please {0} to enable the updated extension.",
1157
- reloadActionLabel
1158
- )) };
1159
- }
1160
- if (this.extensionsServers.length > 1) {
1161
- const extensionInOtherServer = this.installed.filter(e => areSameExtensions(e.identifier, extension.identifier) && e.server !== extension.server)[0];
1162
- if (extensionInOtherServer) {
1163
- if (runningExtensionServer === this.extensionManagementServerService.remoteExtensionManagementServer && this.extensionManifestPropertiesService.prefersExecuteOnUI(extension.local.manifest) && extensionInOtherServer.server === this.extensionManagementServerService.localExtensionManagementServer) {
1164
- return { action: reloadAction, reason: ( localizeWithPath(
1165
- 'vs/workbench/contrib/extensions/browser/extensionsWorkbenchService',
1166
- 'enable locally',
1167
- "Please {0} to enable this extension locally.",
1168
- reloadActionLabel
1169
- )) };
1170
- }
1171
- if (runningExtensionServer === this.extensionManagementServerService.localExtensionManagementServer && this.extensionManifestPropertiesService.prefersExecuteOnWorkspace(extension.local.manifest) && extensionInOtherServer.server === this.extensionManagementServerService.remoteExtensionManagementServer) {
1172
- return { action: reloadAction, reason: ( localizeWithPath(
1173
- 'vs/workbench/contrib/extensions/browser/extensionsWorkbenchService',
1174
- 'enable remote',
1175
- "Please {0} to enable this extension in {1}.",
1176
- reloadActionLabel,
1177
- this.extensionManagementServerService.remoteExtensionManagementServer?.label
1178
- )) };
1179
- }
1180
- }
1181
- }
1182
- }
1183
- else {
1184
- if (extension.server === this.extensionManagementServerService.localExtensionManagementServer && runningExtensionServer === this.extensionManagementServerService.remoteExtensionManagementServer) {
1185
- if (this.extensionManifestPropertiesService.prefersExecuteOnUI(extension.local.manifest)) {
1186
- return { action: reloadAction, reason: ( localizeWithPath(
1187
- 'vs/workbench/contrib/extensions/browser/extensionsWorkbenchService',
1188
- 'postEnableTooltip',
1189
- "Please {0} to enable this extension.",
1190
- reloadActionLabel
1191
- )) };
1192
- }
1193
- }
1194
- if (extension.server === this.extensionManagementServerService.remoteExtensionManagementServer && runningExtensionServer === this.extensionManagementServerService.localExtensionManagementServer) {
1195
- if (this.extensionManifestPropertiesService.prefersExecuteOnWorkspace(extension.local.manifest)) {
1196
- return { action: reloadAction, reason: ( localizeWithPath(
1197
- 'vs/workbench/contrib/extensions/browser/extensionsWorkbenchService',
1198
- 'postEnableTooltip',
1199
- "Please {0} to enable this extension.",
1200
- reloadActionLabel
1201
- )) };
1202
- }
1203
- }
1204
- }
1205
- return undefined;
1206
- }
1207
- else {
1208
- if (isSameExtensionRunning) {
1209
- return { action: reloadAction, reason: ( localizeWithPath(
1210
- 'vs/workbench/contrib/extensions/browser/extensionsWorkbenchService',
1211
- 'postDisableTooltip',
1212
- "Please {0} to disable this extension.",
1213
- reloadActionLabel
1214
- )) };
1215
- }
1216
- }
1217
- return undefined;
1218
- }
1219
- else {
1220
- if (isEnabled && !this.extensionService.canAddExtension(toExtensionDescription(extension.local))) {
1221
- return { action: reloadAction, reason: ( localizeWithPath(
1222
- 'vs/workbench/contrib/extensions/browser/extensionsWorkbenchService',
1223
- 'postEnableTooltip',
1224
- "Please {0} to enable this extension.",
1225
- reloadActionLabel
1226
- )) };
1227
- }
1228
- const otherServer = extension.server ? extension.server === this.extensionManagementServerService.localExtensionManagementServer ? this.extensionManagementServerService.remoteExtensionManagementServer : this.extensionManagementServerService.localExtensionManagementServer : null;
1229
- if (otherServer && extension.enablementState === 1 ) {
1230
- const extensionInOtherServer = this.local.filter(e => areSameExtensions(e.identifier, extension.identifier) && e.server === otherServer)[0];
1231
- if (extensionInOtherServer && extensionInOtherServer.local && this.extensionEnablementService.isEnabled(extensionInOtherServer.local)) {
1232
- return { action: reloadAction, reason: ( localizeWithPath(
1233
- 'vs/workbench/contrib/extensions/browser/extensionsWorkbenchService',
1234
- 'postEnableTooltip',
1235
- "Please {0} to enable this extension.",
1236
- reloadActionLabel
1237
- )) };
1238
- }
1239
- }
1240
- }
1241
- }
1242
- return undefined;
1243
- }
1244
- getPrimaryExtension(extensions) {
1245
- if (extensions.length === 1) {
1246
- return extensions[0];
1247
- }
1248
- const enabledExtensions = extensions.filter(e => e.local && this.extensionEnablementService.isEnabled(e.local));
1249
- if (enabledExtensions.length === 1) {
1250
- return enabledExtensions[0];
1251
- }
1252
- const extensionsToChoose = enabledExtensions.length ? enabledExtensions : extensions;
1253
- const manifest = extensionsToChoose.find(e => e.local && e.local.manifest)?.local?.manifest;
1254
- if (!manifest) {
1255
- return extensionsToChoose[0];
1256
- }
1257
- const extensionKinds = this.extensionManifestPropertiesService.getExtensionKind(manifest);
1258
- let extension = extensionsToChoose.find(extension => {
1259
- for (const extensionKind of extensionKinds) {
1260
- switch (extensionKind) {
1261
- case 'ui':
1262
- if (extension.server === this.extensionManagementServerService.localExtensionManagementServer) {
1263
- return true;
1264
- }
1265
- return false;
1266
- case 'workspace':
1267
- if (extension.server === this.extensionManagementServerService.remoteExtensionManagementServer) {
1268
- return true;
1269
- }
1270
- return false;
1271
- case 'web':
1272
- if (extension.server === this.extensionManagementServerService.webExtensionManagementServer) {
1273
- return true;
1274
- }
1275
- return false;
1276
- }
1277
- }
1278
- return false;
1279
- });
1280
- if (!extension && this.extensionManagementServerService.localExtensionManagementServer) {
1281
- extension = extensionsToChoose.find(extension => {
1282
- for (const extensionKind of extensionKinds) {
1283
- switch (extensionKind) {
1284
- case 'workspace':
1285
- if (extension.server === this.extensionManagementServerService.localExtensionManagementServer) {
1286
- return true;
1287
- }
1288
- return false;
1289
- case 'web':
1290
- if (extension.server === this.extensionManagementServerService.localExtensionManagementServer) {
1291
- return true;
1292
- }
1293
- return false;
1294
- }
1295
- }
1296
- return false;
1297
- });
1298
- }
1299
- if (!extension && this.extensionManagementServerService.webExtensionManagementServer) {
1300
- extension = extensionsToChoose.find(extension => {
1301
- for (const extensionKind of extensionKinds) {
1302
- switch (extensionKind) {
1303
- case 'web':
1304
- if (extension.server === this.extensionManagementServerService.webExtensionManagementServer) {
1305
- return true;
1306
- }
1307
- return false;
1308
- }
1309
- }
1310
- return false;
1311
- });
1312
- }
1313
- if (!extension && this.extensionManagementServerService.remoteExtensionManagementServer) {
1314
- extension = extensionsToChoose.find(extension => {
1315
- for (const extensionKind of extensionKinds) {
1316
- switch (extensionKind) {
1317
- case 'web':
1318
- if (extension.server === this.extensionManagementServerService.remoteExtensionManagementServer) {
1319
- return true;
1320
- }
1321
- return false;
1322
- }
1323
- }
1324
- return false;
1325
- });
1326
- }
1327
- return extension || extensions[0];
1328
- }
1329
- getExtensionState(extension) {
1330
- if (( this.installing.some(
1331
- i => areSameExtensions(i.identifier, extension.identifier) && (!extension.server || i.server === extension.server)
1332
- ))) {
1333
- return 0 ;
1334
- }
1335
- if (this.remoteExtensions) {
1336
- const state = this.remoteExtensions.getExtensionState(extension);
1337
- if (state !== 3 ) {
1338
- return state;
1339
- }
1340
- }
1341
- if (this.webExtensions) {
1342
- const state = this.webExtensions.getExtensionState(extension);
1343
- if (state !== 3 ) {
1344
- return state;
1345
- }
1346
- }
1347
- if (this.localExtensions) {
1348
- return this.localExtensions.getExtensionState(extension);
1349
- }
1350
- return 3 ;
1351
- }
1352
- async onDidAutoUpdateConfigurationChange() {
1353
- await this.updateExtensionsPinnedState();
1354
- if (this.isAutoUpdateEnabled()) {
1355
- this.checkForUpdates();
1356
- }
1357
- else {
1358
- this.setSelectedExtensionsToAutoUpdate([]);
1359
- }
1360
- }
1361
- async checkForUpdates(onlyBuiltin) {
1362
- if (!this.galleryService.isEnabled()) {
1363
- return;
1364
- }
1365
- const extensions = [];
1366
- if (this.localExtensions) {
1367
- extensions.push(this.localExtensions);
1368
- }
1369
- if (this.remoteExtensions) {
1370
- extensions.push(this.remoteExtensions);
1371
- }
1372
- if (this.webExtensions) {
1373
- extensions.push(this.webExtensions);
1374
- }
1375
- if (!extensions.length) {
1376
- return;
1377
- }
1378
- const infos = [];
1379
- for (const installed of this.local) {
1380
- if (onlyBuiltin && !installed.isBuiltin) {
1381
- continue;
1382
- }
1383
- if (installed.isBuiltin && !installed.local?.pinned && (installed.type === 0 || !installed.local?.identifier.uuid)) {
1384
- continue;
1385
- }
1386
- if (installed.local?.source === 'resource') {
1387
- continue;
1388
- }
1389
- infos.push({ ...installed.identifier, preRelease: !!installed.local?.preRelease });
1390
- }
1391
- if (infos.length) {
1392
- const targetPlatform = await extensions[0].server.extensionManagementService.getTargetPlatform();
1393
- this.telemetryService.publicLog2('galleryService:checkingForUpdates', {
1394
- count: infos.length,
1395
- });
1396
- const galleryExtensions = await this.galleryService.getExtensions(infos, { targetPlatform, compatible: true, productVersion: this.getProductVersion() }, CancellationToken.None);
1397
- if (galleryExtensions.length) {
1398
- await this.syncInstalledExtensionsWithGallery(galleryExtensions);
1399
- }
1400
- }
1401
- }
1402
- async updateAll() {
1403
- const toUpdate = [];
1404
- this.outdated.forEach((extension) => {
1405
- if (extension.gallery) {
1406
- toUpdate.push({
1407
- extension: extension.gallery,
1408
- options: {
1409
- operation: 3 ,
1410
- installPreReleaseVersion: extension.local?.isPreReleaseVersion,
1411
- profileLocation: this.userDataProfileService.currentProfile.extensionsResource,
1412
- }
1413
- });
1414
- }
1415
- });
1416
- return this.extensionManagementService.installGalleryExtensions(toUpdate);
1417
- }
1418
- async syncInstalledExtensionsWithGallery(gallery) {
1419
- const extensions = [];
1420
- if (this.localExtensions) {
1421
- extensions.push(this.localExtensions);
1422
- }
1423
- if (this.remoteExtensions) {
1424
- extensions.push(this.remoteExtensions);
1425
- }
1426
- if (this.webExtensions) {
1427
- extensions.push(this.webExtensions);
1428
- }
1429
- if (!extensions.length) {
1430
- return;
1431
- }
1432
- await Promise.allSettled(( extensions.map(
1433
- extensions => extensions.syncInstalledExtensionsWithGallery(gallery, this.getProductVersion())
1434
- )));
1435
- if (this.isAutoUpdateEnabled()) {
1436
- this.eventuallyAutoUpdateExtensions();
1437
- }
1438
- }
1439
- getAutoUpdateValue() {
1440
- const autoUpdate = this.configurationService.getValue(AutoUpdateConfigurationKey);
1441
- return isBoolean(autoUpdate) || autoUpdate === 'onlyEnabledExtensions' || autoUpdate === 'onlySelectedExtensions' ? autoUpdate : true;
1442
- }
1443
- isAutoUpdateEnabled() {
1444
- return this.getAutoUpdateValue() !== false;
1445
- }
1446
- isAutoCheckUpdatesEnabled() {
1447
- return this.configurationService.getValue(AutoCheckUpdatesConfigurationKey);
1448
- }
1449
- eventuallyCheckForUpdates(immediate = false) {
1450
- this.updatesCheckDelayer.cancel();
1451
- this.updatesCheckDelayer.trigger(async () => {
1452
- if (this.isAutoUpdateEnabled() || this.isAutoCheckUpdatesEnabled()) {
1453
- await this.checkForUpdates();
1454
- }
1455
- this.eventuallyCheckForUpdates();
1456
- }, immediate ? 0 : this.getUpdatesCheckInterval()).then(undefined, err => null);
1457
- }
1458
- getUpdatesCheckInterval() {
1459
- if (this.productService.quality === 'insider' && this.getProductUpdateVersion()) {
1460
- return 1000 * 60 * 60 * 1;
1461
- }
1462
- return ExtensionsWorkbenchService_1.UpdatesCheckInterval;
1463
- }
1464
- eventuallyAutoUpdateExtensions() {
1465
- this.autoUpdateDelayer.trigger(() => this.autoUpdateExtensions())
1466
- .then(undefined, err => null);
1467
- }
1468
- async autoUpdateBuiltinExtensions() {
1469
- await this.checkForUpdates(true);
1470
- const toUpdate = this.outdated.filter(e => e.isBuiltin);
1471
- await Promises.settled(( toUpdate.map(
1472
- e => this.install(e, e.local?.preRelease ? { installPreReleaseVersion: true } : undefined)
1473
- )));
1474
- }
1475
- async syncPinnedBuiltinExtensions() {
1476
- const infos = [];
1477
- for (const installed of this.local) {
1478
- if (installed.isBuiltin && installed.local?.pinned && installed.local?.identifier.uuid) {
1479
- infos.push({ ...installed.identifier, version: installed.version });
1480
- }
1481
- }
1482
- if (infos.length) {
1483
- const galleryExtensions = await this.galleryService.getExtensions(infos, CancellationToken.None);
1484
- if (galleryExtensions.length) {
1485
- await this.syncInstalledExtensionsWithGallery(galleryExtensions);
1486
- }
1487
- }
1488
- }
1489
- async autoUpdateExtensions() {
1490
- if (!this.isAutoUpdateEnabled()) {
1491
- return;
1492
- }
1493
- const toUpdate = this.outdated.filter(e => !e.local?.pinned && this.shouldAutoUpdateExtension(e));
1494
- if (!toUpdate.length) {
1495
- return;
1496
- }
1497
- const productVersion = this.getProductVersion();
1498
- await Promises.settled(( toUpdate.map(
1499
- e => this.install(e, e.local?.preRelease ? { installPreReleaseVersion: true, productVersion } : { productVersion })
1500
- )));
1501
- }
1502
- getProductVersion() {
1503
- return this.getProductUpdateVersion() ?? this.getProductCurrentVersion();
1504
- }
1505
- getProductCurrentVersion() {
1506
- return { version: this.productService.version, date: this.productService.date };
1507
- }
1508
- getProductUpdateVersion() {
1509
- switch (this.updateService.state.type) {
1510
- case "available for download" :
1511
- case "downloaded" :
1512
- case "updating" :
1513
- case "ready" : {
1514
- const version = this.updateService.state.update.productVersion;
1515
- if (version && semverExports.valid(version)) {
1516
- return { version, date: this.updateService.state.update.timestamp ? ( new Date(this.updateService.state.update.timestamp)).toISOString() : undefined };
1517
- }
1518
- }
1519
- }
1520
- return undefined;
1521
- }
1522
- async updateExtensionsPinnedState() {
1523
- await Promise.all(( this.installed.map(async (e) => {
1524
- if (e.isBuiltin) {
1525
- return;
1526
- }
1527
- const shouldBePinned = !this.shouldAutoUpdateExtension(e);
1528
- if (e.local && e.local.pinned !== shouldBePinned) {
1529
- await this.extensionManagementService.updateMetadata(e.local, { pinned: shouldBePinned });
1530
- }
1531
- })));
1532
- }
1533
- shouldAutoUpdateExtension(extension) {
1534
- const autoUpdate = this.getAutoUpdateValue();
1535
- if (isBoolean(autoUpdate)) {
1536
- return autoUpdate;
1537
- }
1538
- if (autoUpdate === 'onlyEnabledExtensions') {
1539
- return this.extensionEnablementService.isEnabledEnablementState(extension.enablementState);
1540
- }
1541
- const extensionsToAutoUpdate = this.getSelectedExtensionsToAutoUpdate();
1542
- const extensionId = extension.identifier.id.toLowerCase();
1543
- return extensionsToAutoUpdate.includes(extensionId) ||
1544
- (!extensionsToAutoUpdate.includes(`-${extensionId}`) && this.isAutoUpdateEnabledForPublisher(extension.publisher));
1545
- }
1546
- isAutoUpdateEnabledFor(extensionOrPublisher) {
1547
- if (isString(extensionOrPublisher)) {
1548
- if (EXTENSION_IDENTIFIER_REGEX.test(extensionOrPublisher)) {
1549
- throw new Error('Expected publisher string, found extension identifier');
1550
- }
1551
- const autoUpdate = this.getAutoUpdateValue();
1552
- if (isBoolean(autoUpdate)) {
1553
- return autoUpdate;
1554
- }
1555
- if (autoUpdate === 'onlyEnabledExtensions') {
1556
- return false;
1557
- }
1558
- return this.isAutoUpdateEnabledForPublisher(extensionOrPublisher);
1559
- }
1560
- return !extensionOrPublisher.local?.pinned && this.shouldAutoUpdateExtension(extensionOrPublisher);
1561
- }
1562
- isAutoUpdateEnabledForPublisher(publisher) {
1563
- const publishersToAutoUpdate = this.getPublishersToAutoUpdate();
1564
- return publishersToAutoUpdate.includes(publisher.toLowerCase());
1565
- }
1566
- async updateAutoUpdateEnablementFor(extensionOrPublisher, enable) {
1567
- const autoUpdateValue = this.getAutoUpdateValue();
1568
- if (autoUpdateValue === true || autoUpdateValue === 'onlyEnabledExtensions') {
1569
- if (isString(extensionOrPublisher)) {
1570
- throw new Error('Expected extension, found publisher string');
1571
- }
1572
- if (!extensionOrPublisher.local) {
1573
- throw new Error('Only installed extensions can be pinned');
1574
- }
1575
- await this.extensionManagementService.updateMetadata(extensionOrPublisher.local, { pinned: !enable });
1576
- if (enable) {
1577
- this.eventuallyAutoUpdateExtensions();
1578
- }
1579
- return;
1580
- }
1581
- if (autoUpdateValue === false && enable) {
1582
- await this.configurationService.updateValue(AutoUpdateConfigurationKey, 'onlySelectedExtensions');
1583
- }
1584
- let update = false;
1585
- const autoUpdateExtensions = this.getSelectedExtensionsToAutoUpdate();
1586
- if (isString(extensionOrPublisher)) {
1587
- if (EXTENSION_IDENTIFIER_REGEX.test(extensionOrPublisher)) {
1588
- throw new Error('Expected publisher string, found extension identifier');
1589
- }
1590
- extensionOrPublisher = extensionOrPublisher.toLowerCase();
1591
- if (this.isAutoUpdateEnabledFor(extensionOrPublisher) !== enable) {
1592
- update = true;
1593
- if (enable) {
1594
- autoUpdateExtensions.push(extensionOrPublisher);
1595
- }
1596
- else {
1597
- if (autoUpdateExtensions.includes(extensionOrPublisher)) {
1598
- autoUpdateExtensions.splice(autoUpdateExtensions.indexOf(extensionOrPublisher), 1);
1599
- }
1600
- }
1601
- }
1602
- }
1603
- else {
1604
- const extensionId = extensionOrPublisher.identifier.id.toLowerCase();
1605
- const enableAutoUpdatesForPublisher = this.isAutoUpdateEnabledFor(extensionOrPublisher.publisher.toLowerCase());
1606
- const enableAutoUpdatesForExtension = autoUpdateExtensions.includes(extensionId);
1607
- const disableAutoUpdatesForExtension = autoUpdateExtensions.includes(`-${extensionId}`);
1608
- if (enable) {
1609
- if (disableAutoUpdatesForExtension) {
1610
- autoUpdateExtensions.splice(autoUpdateExtensions.indexOf(`-${extensionId}`), 1);
1611
- update = true;
1612
- }
1613
- if (enableAutoUpdatesForPublisher) {
1614
- if (enableAutoUpdatesForExtension) {
1615
- autoUpdateExtensions.splice(autoUpdateExtensions.indexOf(extensionId), 1);
1616
- update = true;
1617
- }
1618
- }
1619
- else {
1620
- if (!enableAutoUpdatesForExtension) {
1621
- autoUpdateExtensions.push(extensionId);
1622
- update = true;
1623
- }
1624
- }
1625
- }
1626
- else {
1627
- if (enableAutoUpdatesForExtension) {
1628
- autoUpdateExtensions.splice(autoUpdateExtensions.indexOf(extensionId), 1);
1629
- update = true;
1630
- }
1631
- if (enableAutoUpdatesForPublisher) {
1632
- if (!disableAutoUpdatesForExtension) {
1633
- autoUpdateExtensions.push(`-${extensionId}`);
1634
- update = true;
1635
- }
1636
- }
1637
- else {
1638
- if (disableAutoUpdatesForExtension) {
1639
- autoUpdateExtensions.splice(autoUpdateExtensions.indexOf(`-${extensionId}`), 1);
1640
- update = true;
1641
- }
1642
- }
1643
- }
1644
- }
1645
- if (update) {
1646
- this.setSelectedExtensionsToAutoUpdate(autoUpdateExtensions);
1647
- await this.onDidSelectedExtensionToAutoUpdateValueChange(true);
1648
- if (autoUpdateValue === 'onlySelectedExtensions' && autoUpdateExtensions.length === 0) {
1649
- await this.configurationService.updateValue(AutoUpdateConfigurationKey, false);
1650
- }
1651
- }
1652
- }
1653
- async onDidSelectedExtensionToAutoUpdateValueChange(forceUpdate) {
1654
- if (forceUpdate || this.selectedExtensionsToAutoUpdateValue !== this.getSelectedExtensionsToAutoUpdateValue() ) {
1655
- await this.updateExtensionsPinnedState();
1656
- this.eventuallyAutoUpdateExtensions();
1657
- }
1658
- }
1659
- async canInstall(extension) {
1660
- if (!(extension instanceof Extension)) {
1661
- return false;
1662
- }
1663
- if (extension.isMalicious) {
1664
- return false;
1665
- }
1666
- if (extension.deprecationInfo?.disallowInstall) {
1667
- return false;
1668
- }
1669
- if (extension.gallery) {
1670
- if (this.localExtensions && (await this.localExtensions.canInstall(extension.gallery))) {
1671
- return true;
1672
- }
1673
- if (this.remoteExtensions && (await this.remoteExtensions.canInstall(extension.gallery))) {
1674
- return true;
1675
- }
1676
- if (this.webExtensions && (await this.webExtensions.canInstall(extension.gallery))) {
1677
- return true;
1678
- }
1679
- return false;
1680
- }
1681
- if (extension.resourceExtension) {
1682
- return true;
1683
- }
1684
- return false;
1685
- }
1686
- async install(arg, installOptions = {}, progressLocation) {
1687
- let installable;
1688
- let extension;
1689
- if (arg instanceof URI) {
1690
- installable = arg;
1691
- }
1692
- else {
1693
- let installableInfo;
1694
- let gallery;
1695
- if (isString(arg)) {
1696
- extension = this.local.find(e => areSameExtensions(e.identifier, { id: arg }));
1697
- if (!extension?.isBuiltin) {
1698
- installableInfo = { id: arg, version: installOptions.version, preRelease: installOptions.installPreReleaseVersion ?? this.preferPreReleases };
1699
- }
1700
- }
1701
- else if (arg.gallery) {
1702
- extension = arg;
1703
- gallery = arg.gallery;
1704
- if (installOptions.version && installOptions.version !== gallery?.version) {
1705
- installableInfo = { id: extension.identifier.id, version: installOptions.version };
1706
- }
1707
- }
1708
- else if (arg.resourceExtension) {
1709
- extension = arg;
1710
- installable = arg.resourceExtension;
1711
- }
1712
- if (installableInfo) {
1713
- const targetPlatform = extension?.server ? await extension.server.extensionManagementService.getTargetPlatform() : undefined;
1714
- gallery = firstOrDefault(await this.galleryService.getExtensions([installableInfo], { targetPlatform }, CancellationToken.None));
1715
- }
1716
- if (!extension && gallery) {
1717
- extension = this.instantiationService.createInstance(Extension, ext => this.getExtensionState(ext), ext => this.getRuntimeState(ext), undefined, undefined, gallery, undefined);
1718
- Extensions.updateExtensionFromControlManifest(extension, await this.extensionManagementService.getExtensionsControlManifest());
1719
- }
1720
- if (extension?.isMalicious) {
1721
- throw new Error(localizeWithPath('vs/workbench/contrib/extensions/browser/extensionsWorkbenchService', 'malicious', "This extension is reported to be problematic."));
1722
- }
1723
- if (!(installOptions.enable && extension?.local)) {
1724
- if (!installable) {
1725
- if (!gallery) {
1726
- const id = isString(arg) ? arg : arg.identifier.id;
1727
- if (installOptions.version) {
1728
- throw new Error(localizeWithPath('vs/workbench/contrib/extensions/browser/extensionsWorkbenchService', 'not found version', "Unable to install extension '{0}' because the requested version '{1}' is not found.", id, installOptions.version));
1729
- }
1730
- else {
1731
- throw new Error(localizeWithPath('vs/workbench/contrib/extensions/browser/extensionsWorkbenchService', 'not found', "Unable to install extension '{0}' because it is not found.", id));
1732
- }
1733
- }
1734
- installable = gallery;
1735
- }
1736
- if (installOptions.version) {
1737
- installOptions.installGivenVersion = true;
1738
- }
1739
- if (extension?.isWorkspaceScoped) {
1740
- installOptions.isWorkspaceScoped = true;
1741
- }
1742
- }
1743
- }
1744
- if (installable) {
1745
- if (installOptions.justification) {
1746
- const syncCheck = isUndefined(installOptions.isMachineScoped) && this.userDataSyncEnablementService.isEnabled() && this.userDataSyncEnablementService.isResourceEnabled("extensions" );
1747
- const buttons = [];
1748
- buttons.push({
1749
- label: isString(installOptions.justification) || !installOptions.justification.action
1750
- ? ( localizeWithPath(
1751
- 'vs/workbench/contrib/extensions/browser/extensionsWorkbenchService',
1752
- { key: 'installButtonLabel', comment: ['&& denotes a mnemonic'] },
1753
- "&&Install Extension"
1754
- ))
1755
- : ( localizeWithPath(
1756
- 'vs/workbench/contrib/extensions/browser/extensionsWorkbenchService',
1757
- { key: 'installButtonLabelWithAction', comment: ['&& denotes a mnemonic'] },
1758
- "&&Install Extension and {0}",
1759
- installOptions.justification.action
1760
- )), run: () => true
1761
- });
1762
- if (!extension) {
1763
- buttons.push({ label: ( localizeWithPath(
1764
- 'vs/workbench/contrib/extensions/browser/extensionsWorkbenchService',
1765
- 'open',
1766
- "Open Extension"
1767
- )), run: () => { this.open(extension); return false; } });
1768
- }
1769
- const result = await this.dialogService.prompt({
1770
- title: ( localizeWithPath(
1771
- 'vs/workbench/contrib/extensions/browser/extensionsWorkbenchService',
1772
- 'installExtensionTitle',
1773
- "Install Extension"
1774
- )),
1775
- message: extension ? ( localizeWithPath(
1776
- 'vs/workbench/contrib/extensions/browser/extensionsWorkbenchService',
1777
- 'installExtensionMessage',
1778
- "Would you like to install '{0}' extension from '{1}'?",
1779
- extension.displayName,
1780
- extension.publisherDisplayName
1781
- )) : ( localizeWithPath(
1782
- 'vs/workbench/contrib/extensions/browser/extensionsWorkbenchService',
1783
- 'installVSIXMessage',
1784
- "Would you like to install the extension?"
1785
- )),
1786
- detail: isString(installOptions.justification) ? installOptions.justification : installOptions.justification.reason,
1787
- cancelButton: true,
1788
- buttons,
1789
- checkbox: syncCheck ? {
1790
- label: ( localizeWithPath(
1791
- 'vs/workbench/contrib/extensions/browser/extensionsWorkbenchService',
1792
- 'sync extension',
1793
- "Sync this extension"
1794
- )),
1795
- checked: true,
1796
- } : undefined,
1797
- });
1798
- if (!result.result) {
1799
- throw new CancellationError();
1800
- }
1801
- if (syncCheck) {
1802
- installOptions.isMachineScoped = !result.checkboxChecked;
1803
- }
1804
- }
1805
- if (installable instanceof URI) {
1806
- extension = await this.doInstall(undefined, () => this.installFromVSIX(installable, installOptions), progressLocation);
1807
- }
1808
- else if (extension) {
1809
- if (extension.resourceExtension) {
1810
- extension = await this.doInstall(extension, () => this.extensionManagementService.installResourceExtension(installable, installOptions), progressLocation);
1811
- }
1812
- else {
1813
- extension = await this.doInstall(extension, () => this.installFromGallery(extension, installable, installOptions), progressLocation);
1814
- }
1815
- }
1816
- }
1817
- if (!extension) {
1818
- throw new Error(localizeWithPath('vs/workbench/contrib/extensions/browser/extensionsWorkbenchService', 'unknown', "Unable to install extension"));
1819
- }
1820
- if (installOptions.version) {
1821
- await this.updateAutoUpdateEnablementFor(extension, false);
1822
- }
1823
- if (installOptions.enable) {
1824
- if (extension.enablementState === 7 || extension.enablementState === 6 ) {
1825
- if (installOptions.justification) {
1826
- const result = await this.dialogService.confirm({
1827
- title: ( localizeWithPath(
1828
- 'vs/workbench/contrib/extensions/browser/extensionsWorkbenchService',
1829
- 'enableExtensionTitle',
1830
- "Enable Extension"
1831
- )),
1832
- message: ( localizeWithPath(
1833
- 'vs/workbench/contrib/extensions/browser/extensionsWorkbenchService',
1834
- 'enableExtensionMessage',
1835
- "Would you like to enable '{0}' extension?",
1836
- extension.displayName
1837
- )),
1838
- detail: isString(installOptions.justification) ? installOptions.justification : installOptions.justification.reason,
1839
- primaryButton: isString(installOptions.justification) ? ( localizeWithPath(
1840
- 'vs/workbench/contrib/extensions/browser/extensionsWorkbenchService',
1841
- { key: 'enableButtonLabel', comment: ['&& denotes a mnemonic'] },
1842
- "&&Enable Extension"
1843
- )) : ( localizeWithPath(
1844
- 'vs/workbench/contrib/extensions/browser/extensionsWorkbenchService',
1845
- { key: 'enableButtonLabelWithAction', comment: ['&& denotes a mnemonic'] },
1846
- "&&Enable Extension and {0}",
1847
- installOptions.justification.action
1848
- )),
1849
- });
1850
- if (!result.confirmed) {
1851
- throw new CancellationError();
1852
- }
1853
- }
1854
- await this.setEnablement(extension, extension.enablementState === 7 ? 9 : 8 );
1855
- }
1856
- await this.waitUntilExtensionIsEnabled(extension);
1857
- }
1858
- return extension;
1859
- }
1860
- async installInServer(extension, server) {
1861
- await this.doInstall(extension, async () => {
1862
- const local = extension.local;
1863
- if (!local) {
1864
- throw new Error('Extension not found');
1865
- }
1866
- if (!extension.gallery) {
1867
- extension = (await this.getExtensions([{ ...extension.identifier, preRelease: local.preRelease }], CancellationToken.None))[0] ?? extension;
1868
- }
1869
- if (extension.gallery) {
1870
- return server.extensionManagementService.installFromGallery(extension.gallery, { installPreReleaseVersion: local.preRelease });
1871
- }
1872
- const targetPlatform = await server.extensionManagementService.getTargetPlatform();
1873
- if (!isTargetPlatformCompatible(local.targetPlatform, [local.targetPlatform], targetPlatform)) {
1874
- throw new Error(localizeWithPath('vs/workbench/contrib/extensions/browser/extensionsWorkbenchService', 'incompatible', "Can't install '{0}' extension because it is not compatible.", extension.identifier.id));
1875
- }
1876
- const vsix = await this.extensionManagementService.zip(local);
1877
- try {
1878
- return await server.extensionManagementService.install(vsix);
1879
- }
1880
- finally {
1881
- try {
1882
- await this.fileService.del(vsix);
1883
- }
1884
- catch (error) {
1885
- this.logService.error(error);
1886
- }
1887
- }
1888
- });
1889
- }
1890
- canSetLanguage(extension) {
1891
- if (!isWeb) {
1892
- return false;
1893
- }
1894
- if (!extension.gallery) {
1895
- return false;
1896
- }
1897
- const locale = getLocale(extension.gallery);
1898
- if (!locale) {
1899
- return false;
1900
- }
1901
- return true;
1902
- }
1903
- async setLanguage(extension) {
1904
- if (!this.canSetLanguage(extension)) {
1905
- throw new Error('Can not set language');
1906
- }
1907
- const locale = getLocale(extension.gallery);
1908
- if (locale === language) {
1909
- return;
1910
- }
1911
- const localizedLanguageName = extension.gallery?.properties?.localizedLanguages?.[0];
1912
- return this.localeService.setLocale({ id: locale, galleryExtension: extension.gallery, extensionId: extension.identifier.id, label: localizedLanguageName ?? extension.displayName });
1913
- }
1914
- setEnablement(extensions, enablementState) {
1915
- extensions = Array.isArray(extensions) ? extensions : [extensions];
1916
- return this.promptAndSetEnablement(extensions, enablementState);
1917
- }
1918
- uninstall(extension) {
1919
- const ext = extension.local ? extension : this.local.filter(e => areSameExtensions(e.identifier, extension.identifier))[0];
1920
- const toUninstall = ext && ext.local ? ext.local : null;
1921
- if (!toUninstall) {
1922
- return Promise.reject(( new Error('Missing local')));
1923
- }
1924
- return this.withProgress({
1925
- location: 5 ,
1926
- title: ( localizeWithPath(
1927
- 'vs/workbench/contrib/extensions/browser/extensionsWorkbenchService',
1928
- 'uninstallingExtension',
1929
- 'Uninstalling extension....'
1930
- )),
1931
- source: `${toUninstall.identifier.id}`
1932
- }, () => this.extensionManagementService.uninstall(toUninstall).then(() => undefined));
1933
- }
1934
- reinstall(extension) {
1935
- return this.doInstall(extension, () => {
1936
- const ext = extension.local ? extension : this.local.filter(e => areSameExtensions(e.identifier, extension.identifier))[0];
1937
- const toReinstall = ext && ext.local ? ext.local : null;
1938
- if (!toReinstall) {
1939
- throw new Error('Missing local');
1940
- }
1941
- return this.extensionManagementService.reinstallFromGallery(toReinstall);
1942
- });
1943
- }
1944
- isExtensionIgnoredToSync(extension) {
1945
- return extension.local ? !this.isInstalledExtensionSynced(extension.local)
1946
- : this.extensionsSyncManagementService.hasToNeverSyncExtension(extension.identifier.id);
1947
- }
1948
- async togglePreRelease(extension) {
1949
- if (!extension.local) {
1950
- return;
1951
- }
1952
- if (extension.preRelease !== extension.isPreReleaseVersion) {
1953
- await this.extensionManagementService.updateMetadata(extension.local, { preRelease: !extension.preRelease });
1954
- return;
1955
- }
1956
- await this.install(extension, { installPreReleaseVersion: !extension.preRelease, preRelease: !extension.preRelease });
1957
- }
1958
- async toggleExtensionIgnoredToSync(extension) {
1959
- const isIgnored = this.isExtensionIgnoredToSync(extension);
1960
- if (extension.local && isIgnored) {
1961
- extension.local = await this.updateSynchronizingInstalledExtension(extension.local, true);
1962
- this._onChange.fire(extension);
1963
- }
1964
- else {
1965
- this.extensionsSyncManagementService.updateIgnoredExtensions(extension.identifier.id, !isIgnored);
1966
- }
1967
- await this.userDataAutoSyncService.triggerSync(['IgnoredExtensionsUpdated'], false, false);
1968
- }
1969
- async toggleApplyExtensionToAllProfiles(extension) {
1970
- if (!extension.local || isApplicationScopedExtension(extension.local.manifest) || extension.isBuiltin) {
1971
- return;
1972
- }
1973
- await this.extensionManagementService.toggleAppliationScope(extension.local, this.userDataProfileService.currentProfile.extensionsResource);
1974
- }
1975
- isInstalledExtensionSynced(extension) {
1976
- if (extension.isMachineScoped) {
1977
- return false;
1978
- }
1979
- if (this.extensionsSyncManagementService.hasToAlwaysSyncExtension(extension.identifier.id)) {
1980
- return true;
1981
- }
1982
- return !this.extensionsSyncManagementService.hasToNeverSyncExtension(extension.identifier.id);
1983
- }
1984
- async updateSynchronizingInstalledExtension(extension, sync) {
1985
- const isMachineScoped = !sync;
1986
- if (extension.isMachineScoped !== isMachineScoped) {
1987
- extension = await this.extensionManagementService.updateMetadata(extension, { isMachineScoped });
1988
- }
1989
- if (sync) {
1990
- this.extensionsSyncManagementService.updateIgnoredExtensions(extension.identifier.id, false);
1991
- }
1992
- return extension;
1993
- }
1994
- doInstall(extension, installTask, progressLocation) {
1995
- const title = extension ? ( localizeWithPath(
1996
- 'vs/workbench/contrib/extensions/browser/extensionsWorkbenchService',
1997
- 'installing named extension',
1998
- "Installing '{0}' extension....",
1999
- extension.displayName
2000
- )) : ( localizeWithPath(
2001
- 'vs/workbench/contrib/extensions/browser/extensionsWorkbenchService',
2002
- 'installing extension',
2003
- 'Installing extension....'
2004
- ));
2005
- return this.withProgress({
2006
- location: progressLocation ?? 5 ,
2007
- title
2008
- }, async () => {
2009
- try {
2010
- if (extension) {
2011
- this.installing.push(extension);
2012
- this._onChange.fire(extension);
2013
- }
2014
- const local = await installTask();
2015
- return await this.waitAndGetInstalledExtension(local.identifier);
2016
- }
2017
- finally {
2018
- if (extension) {
2019
- this.installing = this.installing.filter(e => e !== extension);
2020
- this._onChange.fire(undefined);
2021
- }
2022
- }
2023
- });
2024
- }
2025
- async installFromVSIX(vsix, installOptions) {
2026
- const manifest = await this.extensionManagementService.getManifest(vsix);
2027
- const existingExtension = this.local.find(local => areSameExtensions(local.identifier, { id: getGalleryExtensionId(manifest.publisher, manifest.name) }));
2028
- if (existingExtension) {
2029
- installOptions = installOptions || {};
2030
- if (existingExtension.latestVersion === manifest.version) {
2031
- installOptions.pinned = existingExtension.local?.pinned || !this.shouldAutoUpdateExtension(existingExtension);
2032
- }
2033
- else {
2034
- installOptions.installGivenVersion = true;
2035
- }
2036
- }
2037
- return this.extensionManagementService.installVSIX(vsix, manifest, installOptions);
2038
- }
2039
- installFromGallery(extension, gallery, installOptions) {
2040
- installOptions = installOptions ?? {};
2041
- installOptions.pinned = extension.local?.pinned || !this.shouldAutoUpdateExtension(extension);
2042
- if (extension.local) {
2043
- installOptions.productVersion = this.getProductVersion();
2044
- return this.extensionManagementService.updateFromGallery(gallery, extension.local, installOptions);
2045
- }
2046
- else {
2047
- return this.extensionManagementService.installFromGallery(gallery, installOptions);
2048
- }
2049
- }
2050
- async waitAndGetInstalledExtension(identifier) {
2051
- let installedExtension = this.local.find(local => areSameExtensions(local.identifier, identifier));
2052
- if (!installedExtension) {
2053
- await Event.toPromise(Event.filter(this.onChange, e => !!e && ( this.local.some(local => areSameExtensions(local.identifier, identifier)))));
2054
- }
2055
- installedExtension = this.local.find(local => areSameExtensions(local.identifier, identifier));
2056
- if (!installedExtension) {
2057
- throw new Error('Extension should have been installed');
2058
- }
2059
- return installedExtension;
2060
- }
2061
- async waitUntilExtensionIsEnabled(extension) {
2062
- if (this.extensionService.extensions.find(e => ExtensionIdentifier.equals(e.identifier, extension.identifier.id))) {
2063
- return;
2064
- }
2065
- if (!extension.local || !this.extensionService.canAddExtension(toExtensionDescription(extension.local))) {
2066
- return;
2067
- }
2068
- await ( new Promise((c, e) => {
2069
- const disposable = this.extensionService.onDidChangeExtensions(() => {
2070
- try {
2071
- if (this.extensionService.extensions.find(e => ExtensionIdentifier.equals(e.identifier, extension.identifier.id))) {
2072
- disposable.dispose();
2073
- c();
2074
- }
2075
- }
2076
- catch (error) {
2077
- e(error);
2078
- }
2079
- });
2080
- }));
2081
- }
2082
- promptAndSetEnablement(extensions, enablementState) {
2083
- const enable = enablementState === 8 || enablementState === 9 ;
2084
- if (enable) {
2085
- const allDependenciesAndPackedExtensions = this.getExtensionsRecursively(extensions, this.local, enablementState, { dependencies: true, pack: true });
2086
- return this.checkAndSetEnablement(extensions, allDependenciesAndPackedExtensions, enablementState);
2087
- }
2088
- else {
2089
- const packedExtensions = this.getExtensionsRecursively(extensions, this.local, enablementState, { dependencies: false, pack: true });
2090
- if (packedExtensions.length) {
2091
- return this.checkAndSetEnablement(extensions, packedExtensions, enablementState);
2092
- }
2093
- return this.checkAndSetEnablement(extensions, [], enablementState);
2094
- }
2095
- }
2096
- checkAndSetEnablement(extensions, otherExtensions, enablementState) {
2097
- const allExtensions = [...extensions, ...otherExtensions];
2098
- const enable = enablementState === 8 || enablementState === 9 ;
2099
- if (!enable) {
2100
- for (const extension of extensions) {
2101
- const dependents = this.getDependentsAfterDisablement(extension, allExtensions, this.local);
2102
- if (dependents.length) {
2103
- return ( new Promise((resolve, reject) => {
2104
- this.notificationService.prompt(Severity.Error, this.getDependentsErrorMessage(extension, allExtensions, dependents), [
2105
- {
2106
- label: ( localizeWithPath(
2107
- 'vs/workbench/contrib/extensions/browser/extensionsWorkbenchService',
2108
- 'disable all',
2109
- 'Disable All'
2110
- )),
2111
- run: async () => {
2112
- try {
2113
- await this.checkAndSetEnablement(dependents, [extension], enablementState);
2114
- resolve();
2115
- }
2116
- catch (error) {
2117
- reject(error);
2118
- }
2119
- }
2120
- }
2121
- ], {
2122
- onCancel: () => reject(( new CancellationError()))
2123
- });
2124
- }));
2125
- }
2126
- }
2127
- }
2128
- return this.doSetEnablement(allExtensions, enablementState);
2129
- }
2130
- getExtensionsRecursively(extensions, installed, enablementState, options, checked = []) {
2131
- const toCheck = extensions.filter(e => checked.indexOf(e) === -1);
2132
- if (toCheck.length) {
2133
- for (const extension of toCheck) {
2134
- checked.push(extension);
2135
- }
2136
- const extensionsToEanbleOrDisable = installed.filter(i => {
2137
- if (checked.indexOf(i) !== -1) {
2138
- return false;
2139
- }
2140
- const enable = enablementState === 8 || enablementState === 9 ;
2141
- const isExtensionEnabled = i.enablementState === 8 || i.enablementState === 9 ;
2142
- if (enable === isExtensionEnabled) {
2143
- return false;
2144
- }
2145
- return (enable || !i.isBuiltin)
2146
- && (options.dependencies || options.pack)
2147
- && ( extensions.some(extension => (options.dependencies && ( extension.dependencies.some(id => areSameExtensions({ id }, i.identifier))))
2148
- || (options.pack && ( extension.extensionPack.some(id => areSameExtensions({ id }, i.identifier))))));
2149
- });
2150
- if (extensionsToEanbleOrDisable.length) {
2151
- extensionsToEanbleOrDisable.push(...this.getExtensionsRecursively(extensionsToEanbleOrDisable, installed, enablementState, options, checked));
2152
- }
2153
- return extensionsToEanbleOrDisable;
2154
- }
2155
- return [];
2156
- }
2157
- getDependentsAfterDisablement(extension, extensionsToDisable, installed) {
2158
- return installed.filter(i => {
2159
- if (i.dependencies.length === 0) {
2160
- return false;
2161
- }
2162
- if (i === extension) {
2163
- return false;
2164
- }
2165
- if (!this.extensionEnablementService.isEnabledEnablementState(i.enablementState)) {
2166
- return false;
2167
- }
2168
- if (extensionsToDisable.indexOf(i) !== -1) {
2169
- return false;
2170
- }
2171
- return ( i.dependencies.some(dep => ( [extension, ...extensionsToDisable].some(d => areSameExtensions(d.identifier, { id: dep })))));
2172
- });
2173
- }
2174
- getDependentsErrorMessage(extension, allDisabledExtensions, dependents) {
2175
- for (const e of [extension, ...allDisabledExtensions]) {
2176
- const dependentsOfTheExtension = dependents.filter(d => ( d.dependencies.some(id => areSameExtensions({ id }, e.identifier))));
2177
- if (dependentsOfTheExtension.length) {
2178
- return this.getErrorMessageForDisablingAnExtensionWithDependents(e, dependentsOfTheExtension);
2179
- }
2180
- }
2181
- return '';
2182
- }
2183
- getErrorMessageForDisablingAnExtensionWithDependents(extension, dependents) {
2184
- if (dependents.length === 1) {
2185
- return ( localizeWithPath(
2186
- 'vs/workbench/contrib/extensions/browser/extensionsWorkbenchService',
2187
- 'singleDependentError',
2188
- "Cannot disable '{0}' extension alone. '{1}' extension depends on this. Do you want to disable all these extensions?",
2189
- extension.displayName,
2190
- dependents[0].displayName
2191
- ));
2192
- }
2193
- if (dependents.length === 2) {
2194
- return ( localizeWithPath(
2195
- 'vs/workbench/contrib/extensions/browser/extensionsWorkbenchService',
2196
- 'twoDependentsError',
2197
- "Cannot disable '{0}' extension alone. '{1}' and '{2}' extensions depend on this. Do you want to disable all these extensions?",
2198
- extension.displayName,
2199
- dependents[0].displayName,
2200
- dependents[1].displayName
2201
- ));
2202
- }
2203
- return ( localizeWithPath(
2204
- 'vs/workbench/contrib/extensions/browser/extensionsWorkbenchService',
2205
- 'multipleDependentsError',
2206
- "Cannot disable '{0}' extension alone. '{1}', '{2}' and other extensions depend on this. Do you want to disable all these extensions?",
2207
- extension.displayName,
2208
- dependents[0].displayName,
2209
- dependents[1].displayName
2210
- ));
2211
- }
2212
- async doSetEnablement(extensions, enablementState) {
2213
- const changed = await this.extensionEnablementService.setEnablement(( extensions.map(e => e.local)), enablementState);
2214
- for (let i = 0; i < changed.length; i++) {
2215
- if (changed[i]) {
2216
- this.telemetryService.publicLog(enablementState === 8 || enablementState === 9 ? 'extension:enable' : 'extension:disable', extensions[i].telemetryData);
2217
- }
2218
- }
2219
- return changed;
2220
- }
2221
- reportProgressFromOtherSources() {
2222
- if (( this.installed.some(
2223
- e => e.state === 0 || e.state === 2
2224
- ))) {
2225
- if (!this._activityCallBack) {
2226
- this.withProgress({ location: 5 }, () => ( new Promise(resolve => this._activityCallBack = resolve)));
2227
- }
2228
- }
2229
- else {
2230
- this._activityCallBack?.();
2231
- this._activityCallBack = undefined;
2232
- }
2233
- }
2234
- withProgress(options, task) {
2235
- return this.progressService.withProgress(options, async () => {
2236
- const cancelableTask = createCancelablePromise(() => task());
2237
- this.tasksInProgress.push(cancelableTask);
2238
- try {
2239
- return await cancelableTask;
2240
- }
2241
- finally {
2242
- const index = this.tasksInProgress.indexOf(cancelableTask);
2243
- if (index !== -1) {
2244
- this.tasksInProgress.splice(index, 1);
2245
- }
2246
- }
2247
- });
2248
- }
2249
- onError(err) {
2250
- if (isCancellationError(err)) {
2251
- return;
2252
- }
2253
- const message = err && err.message || '';
2254
- if (/getaddrinfo ENOTFOUND|getaddrinfo ENOENT|connect EACCES|connect ECONNREFUSED/.test(message)) {
2255
- return;
2256
- }
2257
- this.notificationService.error(err);
2258
- }
2259
- handleURL(uri, options) {
2260
- if (!/^extension/.test(uri.path)) {
2261
- return Promise.resolve(false);
2262
- }
2263
- this.onOpenExtensionUrl(uri);
2264
- return Promise.resolve(true);
2265
- }
2266
- onOpenExtensionUrl(uri) {
2267
- const match = /^extension\/([^/]+)$/.exec(uri.path);
2268
- if (!match) {
2269
- return;
2270
- }
2271
- const extensionId = match[1];
2272
- this.queryLocal().then(async (local) => {
2273
- let extension = local.find(local => areSameExtensions(local.identifier, { id: extensionId }));
2274
- if (!extension) {
2275
- [extension] = await this.getExtensions([{ id: extensionId }], { source: 'uri' }, CancellationToken.None);
2276
- }
2277
- if (extension) {
2278
- await this.hostService.focus(mainWindow);
2279
- await this.open(extension);
2280
- }
2281
- }).then(undefined, error => this.onError(error));
2282
- }
2283
- getPublishersToAutoUpdate() {
2284
- return this.getSelectedExtensionsToAutoUpdate().filter(id => !EXTENSION_IDENTIFIER_REGEX.test(id));
2285
- }
2286
- getSelectedExtensionsToAutoUpdate() {
2287
- try {
2288
- const parsedValue = JSON.parse(this.selectedExtensionsToAutoUpdateValue);
2289
- if (Array.isArray(parsedValue)) {
2290
- return parsedValue;
2291
- }
2292
- }
2293
- catch (e) { }
2294
- return [];
2295
- }
2296
- setSelectedExtensionsToAutoUpdate(selectedExtensionsToAutoUpdate) {
2297
- this.selectedExtensionsToAutoUpdateValue = JSON.stringify(selectedExtensionsToAutoUpdate);
2298
- }
2299
- get selectedExtensionsToAutoUpdateValue() {
2300
- if (!this._selectedExtensionsToAutoUpdateValue) {
2301
- this._selectedExtensionsToAutoUpdateValue = this.getSelectedExtensionsToAutoUpdateValue();
2302
- }
2303
- return this._selectedExtensionsToAutoUpdateValue;
2304
- }
2305
- set selectedExtensionsToAutoUpdateValue(placeholderViewContainesValue) {
2306
- if (this.selectedExtensionsToAutoUpdateValue !== placeholderViewContainesValue) {
2307
- this._selectedExtensionsToAutoUpdateValue = placeholderViewContainesValue;
2308
- this.setSelectedExtensionsToAutoUpdateValue(placeholderViewContainesValue);
2309
- }
2310
- }
2311
- getSelectedExtensionsToAutoUpdateValue() {
2312
- return this.storageService.get(EXTENSIONS_AUTO_UPDATE_KEY, -1 , '[]');
2313
- }
2314
- setSelectedExtensionsToAutoUpdateValue(value) {
2315
- this.storageService.store(EXTENSIONS_AUTO_UPDATE_KEY, value, -1 , 0 );
2316
- }
2317
- };
2318
- ExtensionsWorkbenchService = ExtensionsWorkbenchService_1 = ( __decorate([
2319
- ( __param(0, IInstantiationService)),
2320
- ( __param(1, IEditorService)),
2321
- ( __param(2, IWorkbenchExtensionManagementService)),
2322
- ( __param(3, IExtensionGalleryService)),
2323
- ( __param(4, IConfigurationService)),
2324
- ( __param(5, ITelemetryService)),
2325
- ( __param(6, INotificationService)),
2326
- ( __param(7, IURLService)),
2327
- ( __param(8, IWorkbenchExtensionEnablementService)),
2328
- ( __param(9, IHostService)),
2329
- ( __param(10, IProgressService)),
2330
- ( __param(11, IExtensionManagementServerService)),
2331
- ( __param(12, ILanguageService)),
2332
- ( __param(13, IIgnoredExtensionsManagementService)),
2333
- ( __param(14, IUserDataAutoSyncService)),
2334
- ( __param(15, IProductService)),
2335
- ( __param(16, IContextKeyService)),
2336
- ( __param(17, IExtensionManifestPropertiesService)),
2337
- ( __param(18, ILogService)),
2338
- ( __param(19, IExtensionService)),
2339
- ( __param(20, ILocaleService)),
2340
- ( __param(21, ILifecycleService)),
2341
- ( __param(22, IFileService)),
2342
- ( __param(23, IUserDataProfileService)),
2343
- ( __param(24, IStorageService)),
2344
- ( __param(25, IDialogService)),
2345
- ( __param(26, IUserDataSyncEnablementService)),
2346
- ( __param(27, IUpdateService)),
2347
- ( __param(28, IUriIdentityService))
2348
- ], ExtensionsWorkbenchService));
2349
- export { Extension, ExtensionsWorkbenchService };