@codingame/monaco-vscode-api 4.0.0 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (909) hide show
  1. package/README.md +2 -0
  2. package/l10n.d.ts +5 -2
  3. package/l10n.js +14 -2
  4. package/missing-services.js +6 -7
  5. package/override/vs/platform/userDataSync/common/extensionsSync.js +4 -0
  6. package/override/vs/platform/userDataSync/common/globalStateSync.js +5 -0
  7. package/package.json +8 -8
  8. package/services.d.ts +2 -0
  9. package/services.js +2 -0
  10. package/vscode/src/vs/base/browser/hash.js +15 -0
  11. package/vscode/src/vs/base/browser/ui/icons/iconSelectBox.css.js +4 -0
  12. package/vscode/src/vs/base/browser/ui/icons/iconSelectBox.js +246 -0
  13. package/vscode/src/vs/base/common/amd.js +101 -0
  14. package/vscode/src/vs/base/common/console.js +60 -0
  15. package/vscode/src/vs/base/common/objects.js +1 -1
  16. package/vscode/src/vs/base/common/paging.js +116 -0
  17. package/vscode/src/vs/base/common/parsers.js +43 -0
  18. package/vscode/src/vs/base/common/processes.js +25 -0
  19. package/vscode/src/vs/base/parts/request/browser/request.js +60 -0
  20. package/vscode/src/vs/editor/browser/coreCommands.js +1 -1
  21. package/vscode/src/vs/editor/common/services/modelUndoRedoParticipant.js +56 -0
  22. package/vscode/src/vs/editor/common/services/textResourceConfigurationService.js +116 -0
  23. package/vscode/src/vs/editor/contrib/quickAccess/browser/commandsQuickAccess.js +23 -0
  24. package/vscode/src/vs/platform/debug/common/extensionHostDebugIpc.js +71 -0
  25. package/vscode/src/vs/platform/download/common/downloadIpc.js +16 -0
  26. package/vscode/src/vs/platform/download/common/downloadService.js +31 -0
  27. package/vscode/src/vs/platform/extensionManagement/common/abstractExtensionManagementService.js +748 -0
  28. package/vscode/src/vs/platform/extensionManagement/common/extensionGalleryService.js +852 -0
  29. package/vscode/src/vs/platform/extensionManagement/common/extensionManagementCLI.js +495 -0
  30. package/vscode/src/vs/platform/extensionManagement/common/extensionManagementIpc.js +120 -0
  31. package/vscode/src/vs/platform/extensionManagement/common/extensionTipsService.js +65 -0
  32. package/vscode/src/vs/platform/extensionManagement/common/unsupportedExtensionsMigration.js +56 -0
  33. package/vscode/src/vs/platform/extensionResourceLoader/browser/extensionResourceLoaderService.js +42 -0
  34. package/vscode/src/vs/platform/externalServices/common/marketplace.js +15 -0
  35. package/vscode/src/vs/platform/externalTerminal/common/externalTerminal.js +3 -0
  36. package/vscode/src/vs/platform/files/browser/indexedDBFileSystemProvider.js +404 -0
  37. package/vscode/src/vs/platform/files/common/fileService.js +986 -0
  38. package/vscode/src/vs/platform/files/common/io.js +75 -0
  39. package/vscode/src/vs/platform/issue/common/issueReporterUtil.js +15 -0
  40. package/vscode/src/vs/platform/keyboardLayout/common/keyboardConfig.js +48 -0
  41. package/vscode/src/vs/platform/keyboardLayout/common/keyboardMapper.js +23 -0
  42. package/vscode/src/vs/platform/languagePacks/common/languagePacks.d.ts +18 -0
  43. package/vscode/src/vs/platform/lifecycle/common/lifecycle.js +25 -0
  44. package/vscode/src/vs/platform/log/common/fileLog.js +105 -0
  45. package/vscode/src/vs/platform/log/common/logIpc.js +26 -0
  46. package/vscode/src/vs/platform/quickinput/browser/commandsQuickAccess.js +355 -0
  47. package/vscode/src/vs/platform/quickinput/browser/helpQuickAccess.js +65 -0
  48. package/vscode/src/vs/platform/remote/browser/remoteAuthorityResolverService.js +108 -0
  49. package/vscode/src/vs/platform/remote/common/managedSocket.js +96 -0
  50. package/vscode/src/vs/platform/request/browser/requestService.js +28 -0
  51. package/vscode/src/vs/platform/request/common/requestIpc.js +18 -0
  52. package/vscode/src/vs/platform/telemetry/common/commonProperties.js +11 -0
  53. package/vscode/src/vs/platform/telemetry/common/telemetry.js +2 -1
  54. package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +7 -3
  55. package/vscode/src/vs/platform/terminal/common/capabilities/naiveCwdDetectionCapability.js +22 -0
  56. package/vscode/src/vs/platform/terminal/common/environmentVariable.js +7 -0
  57. package/vscode/src/vs/platform/terminal/common/environmentVariableCollection.js +196 -0
  58. package/vscode/src/vs/platform/terminal/common/terminalLogService.js +49 -0
  59. package/vscode/src/vs/platform/terminal/common/terminalPlatformConfiguration.js +518 -0
  60. package/vscode/src/vs/platform/terminal/common/terminalProfiles.js +111 -0
  61. package/vscode/src/vs/platform/terminal/common/terminalRecorder.js +66 -0
  62. package/vscode/src/vs/platform/update/common/update.config.contribution.js +98 -0
  63. package/vscode/src/vs/platform/url/common/urlService.js +20 -0
  64. package/vscode/src/vs/platform/userDataProfile/browser/userDataProfile.js +93 -0
  65. package/vscode/src/vs/platform/userDataProfile/common/userDataProfileStorageService.js +8 -0
  66. package/vscode/src/vs/platform/userDataSync/common/extensionsSync.js +256 -0
  67. package/vscode/src/vs/platform/userDataSync/common/globalStateSync.js +120 -0
  68. package/vscode/src/vs/platform/userDataSync/common/keybindingsMerge.js +275 -0
  69. package/vscode/src/vs/platform/userDataSync/common/keybindingsSync.js +316 -0
  70. package/vscode/src/vs/platform/userDataSync/common/settingsSync.js +314 -0
  71. package/vscode/src/vs/platform/userDataSync/common/snippetsMerge.js +125 -0
  72. package/vscode/src/vs/platform/userDataSync/common/snippetsSync.js +474 -0
  73. package/vscode/src/vs/platform/userDataSync/common/tasksSync.js +242 -0
  74. package/vscode/src/vs/platform/userDataSync/common/userDataAutoSyncService.js +464 -0
  75. package/vscode/src/vs/platform/userDataSync/common/userDataProfilesManifestMerge.js +90 -0
  76. package/vscode/src/vs/platform/userDataSync/common/userDataProfilesManifestSync.js +257 -0
  77. package/vscode/src/vs/platform/userDataSync/common/userDataSyncEnablementService.js +75 -0
  78. package/vscode/src/vs/platform/userDataSync/common/userDataSyncLocalStoreService.js +148 -0
  79. package/vscode/src/vs/platform/userDataSync/common/userDataSyncLog.js +39 -0
  80. package/vscode/src/vs/platform/userDataSync/common/userDataSyncResourceProvider.js +447 -0
  81. package/vscode/src/vs/platform/userDataSync/common/userDataSyncService.js +781 -0
  82. package/vscode/src/vs/workbench/api/browser/extensionHost.contribution.js +103 -0
  83. package/vscode/src/vs/workbench/api/browser/mainThreadAiEmbeddingVector.js +29 -0
  84. package/vscode/src/vs/workbench/api/browser/mainThreadAiRelatedInformation.js +33 -0
  85. package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.js +252 -0
  86. package/vscode/src/vs/workbench/api/browser/mainThreadBulkEdits.js +66 -0
  87. package/vscode/src/vs/workbench/api/browser/mainThreadCLICommands.js +102 -0
  88. package/vscode/src/vs/workbench/api/browser/mainThreadChat.js +68 -0
  89. package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.js +205 -0
  90. package/vscode/src/vs/workbench/api/browser/mainThreadChatVariables.js +39 -0
  91. package/vscode/src/vs/workbench/api/browser/mainThreadClipboard.js +22 -0
  92. package/vscode/src/vs/workbench/api/browser/mainThreadCodeInsets.js +106 -0
  93. package/vscode/src/vs/workbench/api/browser/mainThreadCommands.js +96 -0
  94. package/vscode/src/vs/workbench/api/browser/mainThreadComments.js +558 -0
  95. package/vscode/src/vs/workbench/api/browser/mainThreadConfiguration.js +78 -0
  96. package/vscode/src/vs/workbench/api/browser/mainThreadConsole.js +33 -0
  97. package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.js +577 -0
  98. package/vscode/src/vs/workbench/api/browser/mainThreadDebugService.js +433 -0
  99. package/vscode/src/vs/workbench/api/browser/mainThreadDecorations.js +100 -0
  100. package/vscode/src/vs/workbench/api/browser/mainThreadDiagnostics.js +67 -0
  101. package/vscode/src/vs/workbench/api/browser/mainThreadDialogs.js +66 -0
  102. package/vscode/src/vs/workbench/api/browser/mainThreadDocumentContentProviders.js +77 -0
  103. package/vscode/src/vs/workbench/api/browser/mainThreadDocuments.js +251 -0
  104. package/vscode/src/vs/workbench/api/browser/mainThreadDocumentsAndEditors.js +368 -0
  105. package/vscode/src/vs/workbench/api/browser/mainThreadDownloadService.js +20 -0
  106. package/vscode/src/vs/workbench/api/browser/mainThreadEditSessionIdentityParticipant.js +39 -0
  107. package/vscode/src/vs/workbench/api/browser/mainThreadEditor.js +412 -0
  108. package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.js +499 -0
  109. package/vscode/src/vs/workbench/api/browser/mainThreadEditors.js +225 -0
  110. package/vscode/src/vs/workbench/api/browser/mainThreadErrors.js +22 -0
  111. package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.js +315 -0
  112. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystem.js +206 -0
  113. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.js +367 -0
  114. package/vscode/src/vs/workbench/api/browser/mainThreadInlineChat.js +70 -0
  115. package/vscode/src/vs/workbench/api/browser/mainThreadInteractive.js +26 -0
  116. package/vscode/src/vs/workbench/api/browser/mainThreadIssueReporter.js +48 -0
  117. package/vscode/src/vs/workbench/api/browser/mainThreadLabelService.js +25 -0
  118. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.js +1014 -0
  119. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.js +183 -0
  120. package/vscode/src/vs/workbench/api/browser/mainThreadLanguages.js +76 -0
  121. package/vscode/src/vs/workbench/api/browser/mainThreadLocalization.js +33 -0
  122. package/vscode/src/vs/workbench/api/browser/mainThreadLogService.js +76 -0
  123. package/vscode/src/vs/workbench/api/browser/mainThreadManagedSockets.js +91 -0
  124. package/vscode/src/vs/workbench/api/browser/mainThreadMessageService.js +135 -0
  125. package/vscode/src/vs/workbench/api/browser/mainThreadNotebook.js +192 -0
  126. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocuments.js +121 -0
  127. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocumentsAndEditors.js +186 -0
  128. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDto.js +127 -0
  129. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookEditors.js +129 -0
  130. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookKernels.js +372 -0
  131. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookRenderers.js +23 -0
  132. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.js +46 -0
  133. package/vscode/src/vs/workbench/api/browser/mainThreadOutputService.js +74 -0
  134. package/vscode/src/vs/workbench/api/browser/mainThreadProfileContentHandlers.js +36 -0
  135. package/vscode/src/vs/workbench/api/browser/mainThreadProgress.js +66 -0
  136. package/vscode/src/vs/workbench/api/browser/mainThreadQuickDiff.js +40 -0
  137. package/vscode/src/vs/workbench/api/browser/mainThreadQuickOpen.js +183 -0
  138. package/vscode/src/vs/workbench/api/browser/mainThreadRemoteConnectionData.js +28 -0
  139. package/vscode/src/vs/workbench/api/browser/mainThreadSCM.js +491 -0
  140. package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.js +47 -0
  141. package/vscode/src/vs/workbench/api/browser/mainThreadSearch.js +166 -0
  142. package/vscode/src/vs/workbench/api/browser/mainThreadSecretState.js +68 -0
  143. package/vscode/src/vs/workbench/api/browser/mainThreadShare.js +48 -0
  144. package/vscode/src/vs/workbench/api/browser/mainThreadSpeech.js +97 -0
  145. package/vscode/src/vs/workbench/api/browser/mainThreadStatusBar.js +51 -0
  146. package/vscode/src/vs/workbench/api/browser/mainThreadStorage.js +70 -0
  147. package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +729 -0
  148. package/vscode/src/vs/workbench/api/browser/mainThreadTelemetry.js +51 -0
  149. package/vscode/src/vs/workbench/api/browser/mainThreadTerminalService.js +407 -0
  150. package/vscode/src/vs/workbench/api/browser/mainThreadTerminalShellIntegration.js +49 -0
  151. package/vscode/src/vs/workbench/api/browser/mainThreadTesting.js +217 -0
  152. package/vscode/src/vs/workbench/api/browser/mainThreadTheming.js +22 -0
  153. package/vscode/src/vs/workbench/api/browser/mainThreadTimeline.js +53 -0
  154. package/vscode/src/vs/workbench/api/browser/mainThreadTreeViews.js +310 -0
  155. package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.js +221 -0
  156. package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.js +108 -0
  157. package/vscode/src/vs/workbench/api/browser/mainThreadUrls.js +59 -0
  158. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewManager.js +27 -0
  159. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewPanels.js +281 -0
  160. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewViews.js +98 -0
  161. package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.js +133 -0
  162. package/vscode/src/vs/workbench/api/browser/mainThreadWindow.js +55 -0
  163. package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.js +266 -0
  164. package/vscode/src/vs/workbench/api/common/configurationExtensionPoint.js +594 -0
  165. package/vscode/src/vs/workbench/api/common/shared/dataTransferCache.js +33 -0
  166. package/vscode/src/vs/workbench/browser/actions/quickAccessActions.js +227 -0
  167. package/vscode/src/vs/workbench/browser/layout.js +2059 -0
  168. package/vscode/src/vs/workbench/browser/parts/banner/bannerPart.js +233 -0
  169. package/vscode/src/vs/workbench/browser/parts/banner/media/bannerpart.css.js +4 -0
  170. package/vscode/src/vs/workbench/browser/parts/dialogs/dialog.web.contribution.js +74 -0
  171. package/vscode/src/vs/workbench/browser/parts/dialogs/dialogHandler.js +132 -0
  172. package/vscode/src/vs/workbench/browser/parts/statusbar/media/statusbarpart.css.js +4 -0
  173. package/vscode/src/vs/workbench/browser/parts/statusbar/statusbarActions.js +119 -0
  174. package/vscode/src/vs/workbench/browser/parts/statusbar/statusbarItem.js +250 -0
  175. package/vscode/src/vs/workbench/browser/parts/statusbar/statusbarModel.js +249 -0
  176. package/vscode/src/vs/workbench/browser/parts/statusbar/statusbarPart.js +610 -0
  177. package/vscode/src/vs/workbench/browser/parts/titlebar/commandCenterControl.js +220 -0
  178. package/vscode/src/vs/workbench/browser/parts/titlebar/media/titlebarpart.css.js +4 -0
  179. package/vscode/src/vs/workbench/browser/parts/titlebar/titlebarActions.js +259 -0
  180. package/vscode/src/vs/workbench/browser/parts/titlebar/titlebarPart.js +582 -0
  181. package/vscode/src/vs/workbench/common/dialogs.js +36 -0
  182. package/vscode/src/vs/workbench/common/editor.js +5 -1
  183. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibility.contribution.js +23 -0
  184. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityStatus.js +112 -0
  185. package/vscode/src/vs/workbench/contrib/accessibility/browser/openDiffEditorAnnouncement.js +50 -0
  186. package/vscode/src/vs/workbench/contrib/accessibility/browser/saveAccessibilitySignal.js +18 -0
  187. package/vscode/src/vs/workbench/contrib/accessibility/browser/unfocusedViewDimmingContribution.js +66 -0
  188. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkEditService.js +358 -0
  189. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkFileEdits.js +362 -0
  190. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkTextEdits.js +265 -0
  191. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/conflicts.js +78 -0
  192. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/preview/bulkEdit.contribution.js +364 -0
  193. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/preview/bulkEdit.css.js +4 -0
  194. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/preview/bulkEditPane.js +340 -0
  195. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/preview/bulkEditPreview.js +361 -0
  196. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/preview/bulkEditTree.js +655 -0
  197. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClear.js +15 -0
  198. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClearActions.js +113 -0
  199. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +501 -0
  200. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +80 -0
  201. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +75 -0
  202. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +108 -0
  203. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +169 -0
  204. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +269 -0
  205. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +316 -0
  206. package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.js +58 -0
  207. package/vscode/src/vs/workbench/contrib/chat/browser/chatContributionServiceImpl.js +421 -0
  208. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.js +96 -0
  209. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.js +283 -0
  210. package/vscode/src/vs/workbench/contrib/chat/browser/chatVariables.js +88 -0
  211. package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.js +183 -0
  212. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatHistoryVariables.js +25 -0
  213. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorContrib.js +617 -0
  214. package/vscode/src/vs/workbench/contrib/chat/common/chatService.js +2 -1
  215. package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.js +598 -0
  216. package/vscode/src/vs/workbench/contrib/chat/common/voiceChat.js +139 -0
  217. package/vscode/src/vs/workbench/contrib/codeEditor/browser/accessibility/accessibility.css.js +4 -0
  218. package/vscode/src/vs/workbench/contrib/codeEditor/browser/accessibility/accessibility.js +39 -0
  219. package/vscode/src/vs/workbench/contrib/codeEditor/browser/emptyTextEditorHint/emptyTextEditorHint.css.js +4 -0
  220. package/vscode/src/vs/workbench/contrib/codeEditor/browser/emptyTextEditorHint/emptyTextEditorHint.js +389 -0
  221. package/vscode/src/vs/workbench/contrib/codeEditor/browser/outline/documentSymbolsOutline.js +370 -0
  222. package/vscode/src/vs/workbench/contrib/codeEditor/browser/outline/documentSymbolsTree.css.js +4 -0
  223. package/vscode/src/vs/workbench/contrib/codeEditor/browser/outline/documentSymbolsTree.js +290 -0
  224. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoLineQuickAccess.js +86 -0
  225. package/vscode/src/vs/workbench/contrib/commands/common/commands.contribution.js +145 -0
  226. package/vscode/src/vs/workbench/contrib/comments/browser/comments.contribution.js +231 -0
  227. package/vscode/src/vs/workbench/contrib/comments/browser/commentsEditorContribution.js +282 -0
  228. package/vscode/src/vs/workbench/contrib/customEditor/common/customTextEditorModel.js +74 -0
  229. package/vscode/src/vs/workbench/contrib/debug/browser/callStackView.js +1024 -0
  230. package/vscode/src/vs/workbench/contrib/debug/browser/debug.contribution.js +1003 -0
  231. package/vscode/src/vs/workbench/contrib/debug/browser/debugANSIHandling.js +345 -0
  232. package/vscode/src/vs/workbench/contrib/debug/browser/debugActionViewItems.js +335 -0
  233. package/vscode/src/vs/workbench/contrib/debug/browser/debugAdapterManager.js +430 -0
  234. package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +1037 -0
  235. package/vscode/src/vs/workbench/contrib/debug/browser/debugConfigurationManager.js +647 -0
  236. package/vscode/src/vs/workbench/contrib/debug/browser/debugConsoleQuickAccess.js +62 -0
  237. package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorActions.js +634 -0
  238. package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorContribution.js +738 -0
  239. package/vscode/src/vs/workbench/contrib/debug/browser/debugHover.js +406 -0
  240. package/vscode/src/vs/workbench/contrib/debug/browser/debugMemory.js +204 -0
  241. package/vscode/src/vs/workbench/contrib/debug/browser/debugProgress.js +78 -0
  242. package/vscode/src/vs/workbench/contrib/debug/browser/debugQuickAccess.js +167 -0
  243. package/vscode/src/vs/workbench/contrib/debug/browser/debugService.js +1269 -0
  244. package/vscode/src/vs/workbench/contrib/debug/browser/debugSession.js +1328 -0
  245. package/vscode/src/vs/workbench/contrib/debug/browser/debugSessionPicker.js +113 -0
  246. package/vscode/src/vs/workbench/contrib/debug/browser/debugStatus.js +75 -0
  247. package/vscode/src/vs/workbench/contrib/debug/browser/debugTaskRunner.js +305 -0
  248. package/vscode/src/vs/workbench/contrib/debug/browser/debugTitle.js +29 -0
  249. package/vscode/src/vs/workbench/contrib/debug/browser/debugToolBar.js +385 -0
  250. package/vscode/src/vs/workbench/contrib/debug/browser/debugViewlet.js +265 -0
  251. package/vscode/src/vs/workbench/contrib/debug/browser/disassemblyView.js +815 -0
  252. package/vscode/src/vs/workbench/contrib/debug/browser/exceptionWidget.js +129 -0
  253. package/vscode/src/vs/workbench/contrib/debug/browser/extensionHostDebugService.js +140 -0
  254. package/vscode/src/vs/workbench/contrib/debug/browser/linkDetector.js +260 -0
  255. package/vscode/src/vs/workbench/contrib/debug/browser/loadedScriptsView.js +667 -0
  256. package/vscode/src/vs/workbench/contrib/debug/browser/media/debug.contribution.css.js +4 -0
  257. package/vscode/src/vs/workbench/contrib/debug/browser/media/debugHover.css.js +4 -0
  258. package/vscode/src/vs/workbench/contrib/debug/browser/media/debugToolBar.css.js +4 -0
  259. package/vscode/src/vs/workbench/contrib/debug/browser/media/debugViewlet.css.js +4 -0
  260. package/vscode/src/vs/workbench/contrib/debug/browser/media/exceptionWidget.css.js +4 -0
  261. package/vscode/src/vs/workbench/contrib/debug/browser/media/repl.css.js +4 -0
  262. package/vscode/src/vs/workbench/contrib/debug/browser/rawDebugSession.js +707 -0
  263. package/vscode/src/vs/workbench/contrib/debug/browser/repl.js +1000 -0
  264. package/vscode/src/vs/workbench/contrib/debug/browser/replFilter.js +46 -0
  265. package/vscode/src/vs/workbench/contrib/debug/browser/replViewer.js +350 -0
  266. package/vscode/src/vs/workbench/contrib/debug/browser/statusbarColorProvider.js +127 -0
  267. package/vscode/src/vs/workbench/contrib/debug/browser/variablesView.js +732 -0
  268. package/vscode/src/vs/workbench/contrib/debug/browser/watchExpressionsView.js +499 -0
  269. package/vscode/src/vs/workbench/contrib/debug/browser/welcomeView.js +160 -0
  270. package/vscode/src/vs/workbench/contrib/debug/common/breakpoints.js +19 -0
  271. package/vscode/src/vs/workbench/contrib/debug/common/debugCompoundRoot.js +15 -0
  272. package/vscode/src/vs/workbench/contrib/debug/common/debugContentProvider.js +108 -0
  273. package/vscode/src/vs/workbench/contrib/debug/common/debugLifecycle.js +60 -0
  274. package/vscode/src/vs/workbench/contrib/debug/common/debugSchemas.js +458 -0
  275. package/vscode/src/vs/workbench/contrib/debug/common/debugStorage.js +164 -0
  276. package/vscode/src/vs/workbench/contrib/debug/common/debugTelemetry.js +34 -0
  277. package/vscode/src/vs/workbench/contrib/debug/common/debugViewModel.js +148 -0
  278. package/vscode/src/vs/workbench/contrib/debug/common/debugger.js +287 -0
  279. package/vscode/src/vs/workbench/contrib/debug/common/loadedScriptsPicker.js +85 -0
  280. package/vscode/src/vs/workbench/contrib/editSessions/browser/editSessions.contribution.js +1197 -0
  281. package/vscode/src/vs/workbench/contrib/editSessions/browser/editSessionsFileSystemProvider.js +55 -0
  282. package/vscode/src/vs/workbench/contrib/editSessions/browser/editSessionsStorageService.js +455 -0
  283. package/vscode/src/vs/workbench/contrib/editSessions/browser/editSessionsViews.js +337 -0
  284. package/vscode/src/vs/workbench/contrib/editSessions/common/editSessionsLogService.js +39 -0
  285. package/vscode/src/vs/workbench/contrib/editSessions/common/editSessionsStorageClient.js +4 -0
  286. package/vscode/src/vs/workbench/contrib/editSessions/common/workspaceStateSync.js +140 -0
  287. package/vscode/src/vs/workbench/contrib/emmet/browser/actions/expandAbbreviation.js +41 -0
  288. package/vscode/src/vs/workbench/contrib/emmet/browser/emmetActions.js +88 -0
  289. package/vscode/src/vs/workbench/contrib/extensions/browser/abstractRuntimeExtensionsEditor.js +539 -0
  290. package/vscode/src/vs/workbench/contrib/extensions/browser/browserRuntimeExtensionsEditor.js +26 -0
  291. package/vscode/src/vs/workbench/contrib/extensions/browser/configBasedRecommendations.js +76 -0
  292. package/vscode/src/vs/workbench/contrib/extensions/browser/deprecatedExtensionsChecker.js +88 -0
  293. package/vscode/src/vs/workbench/contrib/extensions/browser/exeBasedRecommendations.js +58 -0
  294. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEditor.js +1171 -0
  295. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEnablementWorkspaceTrustTransitionParticipant.js +50 -0
  296. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionFeaturesTab.js +543 -0
  297. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendationNotificationService.js +464 -0
  298. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendations.js +15 -0
  299. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendationsService.js +233 -0
  300. package/vscode/src/vs/workbench/contrib/extensions/browser/extensions.contribution.js +2182 -0
  301. package/vscode/src/vs/workbench/contrib/extensions/browser/extensions.web.contribution.js +12 -0
  302. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActivationProgress.js +44 -0
  303. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsCompletionItemsProvider.js +63 -0
  304. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsDependencyChecker.js +96 -0
  305. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsList.js +219 -0
  306. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsQuickAccess.js +119 -0
  307. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewer.js +293 -0
  308. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.js +934 -0
  309. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViews.js +1349 -0
  310. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWidgets.js +858 -0
  311. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.js +2349 -0
  312. package/vscode/src/vs/workbench/contrib/extensions/browser/fileBasedRecommendations.js +328 -0
  313. package/vscode/src/vs/workbench/contrib/extensions/browser/keymapRecommendations.js +26 -0
  314. package/vscode/src/vs/workbench/contrib/extensions/browser/languageRecommendations.js +26 -0
  315. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extension.css.js +4 -0
  316. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionEditor.css.js +4 -0
  317. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionsViewlet.css.js +4 -0
  318. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionsWidgets.css.js +4 -0
  319. package/vscode/src/vs/workbench/contrib/extensions/browser/media/runtimeExtensionsEditor.css.js +4 -0
  320. package/vscode/src/vs/workbench/contrib/extensions/browser/remoteRecommendations.js +27 -0
  321. package/vscode/src/vs/workbench/contrib/extensions/browser/unsupportedExtensionsMigrationContribution.js +24 -0
  322. package/vscode/src/vs/workbench/contrib/extensions/browser/webRecommendations.js +36 -0
  323. package/vscode/src/vs/workbench/contrib/extensions/browser/workspaceRecommendations.js +160 -0
  324. package/vscode/src/vs/workbench/contrib/extensions/common/extensionQuery.js +56 -0
  325. package/vscode/src/vs/workbench/contrib/extensions/common/reportExtensionIssueAction.js +29 -0
  326. package/vscode/src/vs/workbench/contrib/extensions/common/runtimeExtensionsInput.js +49 -0
  327. package/vscode/src/vs/workbench/contrib/externalTerminal/browser/externalTerminal.contribution.js +152 -0
  328. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/contributedOpeners.js +81 -0
  329. package/vscode/src/vs/workbench/contrib/files/browser/explorerService.js +430 -0
  330. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.contribution.js +786 -0
  331. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands.js +510 -0
  332. package/vscode/src/vs/workbench/contrib/files/browser/files.explorer.contribution.js +460 -0
  333. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +39 -0
  334. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibleView.js +39 -0
  335. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.js +70 -0
  336. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSavingServiceImpl.js +234 -0
  337. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChatServiceImpl.js +31 -0
  338. package/vscode/src/vs/workbench/contrib/interactive/browser/interactive.contribution.js +737 -0
  339. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveCommon.js +6 -0
  340. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveEditor.css.js +4 -0
  341. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveEditor.js +600 -0
  342. package/vscode/src/vs/workbench/contrib/interactive/browser/media/interactive.css.js +4 -0
  343. package/vscode/src/vs/workbench/contrib/issue/browser/issue.contribution.js +27 -0
  344. package/vscode/src/vs/workbench/contrib/issue/common/issue.contribution.js +102 -0
  345. package/vscode/src/vs/workbench/contrib/keybindings/browser/keybindings.contribution.js +28 -0
  346. package/vscode/src/vs/workbench/contrib/languageDetection/browser/languageDetection.contribution.js +156 -0
  347. package/vscode/src/vs/workbench/contrib/localHistory/browser/localHistory.contribution.js +4 -0
  348. package/vscode/src/vs/workbench/contrib/localHistory/browser/localHistory.js +35 -0
  349. package/vscode/src/vs/workbench/contrib/localHistory/browser/localHistoryCommands.js +635 -0
  350. package/vscode/src/vs/workbench/contrib/localHistory/browser/localHistoryFileSystemProvider.js +87 -0
  351. package/vscode/src/vs/workbench/contrib/localHistory/browser/localHistoryTimeline.js +136 -0
  352. package/vscode/src/vs/workbench/contrib/logs/common/logs.contribution.js +225 -0
  353. package/vscode/src/vs/workbench/contrib/logs/common/logsActions.js +12 -6
  354. package/vscode/src/vs/workbench/contrib/markdown/browser/markdownSettingRenderer.js +307 -0
  355. package/vscode/src/vs/workbench/contrib/markers/browser/markers.contribution.js +759 -0
  356. package/vscode/src/vs/workbench/contrib/markers/browser/markersFileDecorations.js +127 -0
  357. package/vscode/src/vs/workbench/contrib/markers/browser/markersFilterOptions.js +75 -0
  358. package/vscode/src/vs/workbench/contrib/markers/browser/markersModel.js +200 -0
  359. package/vscode/src/vs/workbench/contrib/markers/browser/markersTable.js +475 -0
  360. package/vscode/src/vs/workbench/contrib/markers/browser/markersTreeViewer.js +691 -0
  361. package/vscode/src/vs/workbench/contrib/markers/browser/markersView.js +900 -0
  362. package/vscode/src/vs/workbench/contrib/markers/browser/markersViewActions.css.js +4 -0
  363. package/vscode/src/vs/workbench/contrib/markers/browser/markersViewActions.js +132 -0
  364. package/vscode/src/vs/workbench/contrib/markers/browser/media/markers.css.js +4 -0
  365. package/vscode/src/vs/workbench/contrib/markers/browser/messages.js +301 -0
  366. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/utils.js +1 -1
  367. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/actions.js +108 -0
  368. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditor.contribution.js +39 -0
  369. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditor.js +117 -0
  370. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/scmMultiDiffSourceResolver.js +146 -0
  371. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/contributedStatusBarItemController.js +107 -0
  372. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/statusBarProviders.js +172 -0
  373. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/clipboard/notebookClipboard.js +542 -0
  374. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/debug/notebookBreakpoints.js +105 -0
  375. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/debug/notebookCellPausing.js +66 -0
  376. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/debug/notebookDebugDecorations.js +163 -0
  377. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/editorHint/emptyCellEditorHint.js +65 -0
  378. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/editorStatusBar/editorStatusBar.js +318 -0
  379. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/execute/executionEditorProgress.js +70 -0
  380. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/media/notebookFind.css.js +4 -0
  381. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFind.js +167 -0
  382. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/format/formatting.js +207 -0
  383. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/gettingStarted/notebookGettingStarted.js +82 -0
  384. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/kernelDetection/notebookKernelDetection.js +81 -0
  385. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/layout/layoutActions.js +65 -0
  386. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/marker/markerProvider.js +100 -0
  387. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/navigation/arrow.js +391 -0
  388. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/notebookVariables/notebookVariableCommands.js +62 -0
  389. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/notebookVariables/notebookVariableContextKeys.js +3 -0
  390. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/notebookVariables/notebookVariables.js +95 -0
  391. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/notebookVariables/notebookVariablesDataSource.js +118 -0
  392. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/notebookVariables/notebookVariablesTree.js +58 -0
  393. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/notebookVariables/notebookVariablesView.js +148 -0
  394. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/outline/notebookOutline.js +654 -0
  395. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/profile/notebookProfile.js +75 -0
  396. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/saveParticipants/saveParticipants.js +515 -0
  397. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/troubleshoot/layout.js +157 -0
  398. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/undoRedo/notebookUndoRedo.js +55 -0
  399. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/viewportWarmup/viewportWarmup.js +93 -0
  400. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/apiActions.js +50 -0
  401. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +651 -0
  402. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/executeActions.js +719 -0
  403. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +349 -0
  404. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/layoutActions.js +314 -0
  405. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/sectionActions.js +197 -0
  406. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffCellEditorOptions.js +46 -0
  407. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +1295 -0
  408. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +282 -0
  409. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementViewModel.js +561 -0
  410. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffNestedCellViewModel.js +113 -0
  411. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/eventDispatcher.js +37 -0
  412. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiff.css.js +4 -0
  413. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffActions.js +312 -0
  414. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +909 -0
  415. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +11 -0
  416. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +393 -0
  417. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffOverviewRuler.js +183 -0
  418. package/vscode/src/vs/workbench/contrib/notebook/browser/notebook.contribution.js +1185 -0
  419. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibility.js +157 -0
  420. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookExtensionPoint.js +449 -0
  421. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookEditorServiceImpl.js +190 -0
  422. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookExecutionServiceImpl.js +104 -0
  423. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookExecutionStateServiceImpl.js +508 -0
  424. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookKernelHistoryServiceImpl.js +128 -0
  425. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookKernelServiceImpl.js +339 -0
  426. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookKeymapServiceImpl.js +109 -0
  427. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookLoggingServiceImpl.js +26 -0
  428. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookRendererMessagingServiceImpl.js +63 -0
  429. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookServiceImpl.js +639 -0
  430. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookWorkerServiceImpl.js +198 -0
  431. package/vscode/src/vs/workbench/contrib/notebook/common/model/cellEdit.js +89 -0
  432. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookTextModel.js +1000 -0
  433. package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiffEditorInput.js +101 -0
  434. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModelResolverServiceImpl.js +201 -0
  435. package/vscode/src/vs/workbench/contrib/notebook/common/notebookOutputRenderer.js +78 -0
  436. package/vscode/src/vs/workbench/contrib/notebook/common/notebookProvider.js +96 -0
  437. package/vscode/src/vs/workbench/contrib/outline/browser/outline.contribution.js +367 -0
  438. package/vscode/src/vs/workbench/contrib/outline/browser/outlineActions.js +172 -0
  439. package/vscode/src/vs/workbench/contrib/outline/browser/outlinePane.css.js +4 -0
  440. package/vscode/src/vs/workbench/contrib/outline/browser/outlinePane.js +316 -0
  441. package/vscode/src/vs/workbench/contrib/outline/browser/outlineViewState.js +66 -0
  442. package/vscode/src/vs/workbench/contrib/output/browser/output.contribution.js +613 -0
  443. package/vscode/src/vs/workbench/contrib/output/browser/output.css.js +4 -0
  444. package/vscode/src/vs/workbench/contrib/output/browser/outputLinkProvider.js +76 -0
  445. package/vscode/src/vs/workbench/contrib/output/browser/outputServices.js +200 -0
  446. package/vscode/src/vs/workbench/contrib/output/browser/outputView.js +224 -0
  447. package/vscode/src/vs/workbench/contrib/performance/browser/inputLatencyContrib.js +43 -0
  448. package/vscode/src/vs/workbench/contrib/performance/browser/performance.contribution.js +116 -0
  449. package/vscode/src/vs/workbench/contrib/performance/browser/performance.web.contribution.js +5 -0
  450. package/vscode/src/vs/workbench/contrib/performance/browser/perfviewEditor.js +340 -0
  451. package/vscode/src/vs/workbench/contrib/performance/browser/startupTimings.js +114 -0
  452. package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingsEditor.js +1237 -0
  453. package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingsEditorContribution.js +248 -0
  454. package/vscode/src/vs/workbench/contrib/preferences/browser/media/keybindingsEditor.css.js +4 -0
  455. package/vscode/src/vs/workbench/contrib/preferences/browser/media/preferences.css.js +4 -0
  456. package/vscode/src/vs/workbench/contrib/preferences/browser/media/settingsEditor2.css.js +4 -0
  457. package/vscode/src/vs/workbench/contrib/preferences/browser/media/settingsWidgets.css.js +4 -0
  458. package/vscode/src/vs/workbench/contrib/preferences/browser/preferences.contribution.js +1374 -0
  459. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesActions.js +104 -0
  460. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesEditor.js +47 -0
  461. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesRenderers.js +784 -0
  462. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesSearch.js +461 -0
  463. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsEditor2.js +1578 -0
  464. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsEditorSettingIndicators.js +624 -0
  465. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsSearchMenu.js +135 -0
  466. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsTree.js +2122 -0
  467. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsWidgets.js +1158 -0
  468. package/vscode/src/vs/workbench/contrib/preferences/browser/tocTree.js +217 -0
  469. package/vscode/src/vs/workbench/contrib/preferences/common/preferencesContribution.js +160 -0
  470. package/vscode/src/vs/workbench/contrib/preferences/common/smartSnippetInserter.js +124 -0
  471. package/vscode/src/vs/workbench/contrib/quickaccess/browser/commandsQuickAccess.js +293 -0
  472. package/vscode/src/vs/workbench/contrib/quickaccess/browser/quickAccess.contribution.js +167 -0
  473. package/vscode/src/vs/workbench/contrib/quickaccess/browser/viewQuickAccess.js +264 -0
  474. package/vscode/src/vs/workbench/contrib/relauncher/browser/relauncher.contribution.js +206 -0
  475. package/vscode/src/vs/workbench/contrib/remote/browser/explorerViewItems.js +133 -0
  476. package/vscode/src/vs/workbench/contrib/remote/browser/media/remoteViewlet.css.js +4 -0
  477. package/vscode/src/vs/workbench/contrib/remote/browser/remote.contribution.js +18 -0
  478. package/vscode/src/vs/workbench/contrib/remote/browser/remote.js +829 -0
  479. package/vscode/src/vs/workbench/contrib/remote/browser/remoteConnectionHealth.js +164 -0
  480. package/vscode/src/vs/workbench/contrib/remote/browser/remoteIndicator.js +800 -0
  481. package/vscode/src/vs/workbench/contrib/remote/browser/remoteStartEntry.contribution.js +5 -0
  482. package/vscode/src/vs/workbench/contrib/remote/browser/remoteStartEntry.js +95 -0
  483. package/vscode/src/vs/workbench/contrib/remote/browser/showCandidate.js +33 -0
  484. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelFactory.js +108 -0
  485. package/vscode/src/vs/workbench/contrib/remote/common/remote.contribution.js +513 -0
  486. package/vscode/src/vs/workbench/contrib/scm/browser/activity.js +306 -0
  487. package/vscode/src/vs/workbench/contrib/scm/browser/media/scm.css.js +4 -0
  488. package/vscode/src/vs/workbench/contrib/scm/browser/menus.js +278 -0
  489. package/vscode/src/vs/workbench/contrib/scm/browser/scm.contribution.js +701 -0
  490. package/vscode/src/vs/workbench/contrib/scm/browser/scmRepositoriesViewPane.js +172 -0
  491. package/vscode/src/vs/workbench/contrib/scm/browser/scmRepositoryRenderer.js +134 -0
  492. package/vscode/src/vs/workbench/contrib/scm/browser/scmViewPane.js +3365 -0
  493. package/vscode/src/vs/workbench/contrib/scm/browser/scmViewPaneContainer.js +52 -0
  494. package/vscode/src/vs/workbench/contrib/scm/browser/scmViewService.js +303 -0
  495. package/vscode/src/vs/workbench/contrib/scm/browser/util.js +119 -0
  496. package/vscode/src/vs/workbench/contrib/scm/common/quickDiffService.js +74 -0
  497. package/vscode/src/vs/workbench/contrib/scm/common/scmService.js +310 -0
  498. package/vscode/src/vs/workbench/contrib/search/browser/anythingQuickAccess.js +794 -0
  499. package/vscode/src/vs/workbench/contrib/search/browser/media/anythingQuickAccess.css.js +4 -0
  500. package/vscode/src/vs/workbench/contrib/search/browser/media/searchview.css.js +4 -0
  501. package/vscode/src/vs/workbench/contrib/search/browser/patternInputWidget.js +232 -0
  502. package/vscode/src/vs/workbench/contrib/search/browser/quickTextSearch/textSearchQuickAccess.js +339 -0
  503. package/vscode/src/vs/workbench/contrib/search/browser/replaceContributions.js +7 -0
  504. package/vscode/src/vs/workbench/contrib/search/browser/replaceService.js +230 -0
  505. package/vscode/src/vs/workbench/contrib/search/browser/search.contribution.js +646 -0
  506. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsCopy.js +207 -0
  507. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsNav.js +510 -0
  508. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsRemoveReplace.js +372 -0
  509. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsSymbol.js +42 -0
  510. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsTextQuickAccess.js +43 -0
  511. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsTopBar.js +322 -0
  512. package/vscode/src/vs/workbench/contrib/search/browser/searchFindInput.js +101 -0
  513. package/vscode/src/vs/workbench/contrib/search/browser/searchIcons.js +104 -0
  514. package/vscode/src/vs/workbench/contrib/search/browser/searchMessage.js +64 -0
  515. package/vscode/src/vs/workbench/contrib/search/browser/searchResultsView.js +435 -0
  516. package/vscode/src/vs/workbench/contrib/search/browser/searchView.js +2175 -0
  517. package/vscode/src/vs/workbench/contrib/search/browser/searchWidget.js +672 -0
  518. package/vscode/src/vs/workbench/contrib/search/browser/symbolsQuickAccess.js +232 -0
  519. package/vscode/src/vs/workbench/contrib/search/common/cacheState.js +85 -0
  520. package/vscode/src/vs/workbench/contrib/searchEditor/browser/media/searchEditor.css.js +4 -0
  521. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditor.contribution.js +585 -0
  522. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditor.js +758 -0
  523. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorActions.js +187 -0
  524. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorInput.js +318 -0
  525. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorModel.js +136 -0
  526. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorSerialization.js +291 -0
  527. package/vscode/src/vs/workbench/contrib/share/browser/share.contribution.js +167 -0
  528. package/vscode/src/vs/workbench/contrib/share/browser/share.css.js +4 -0
  529. package/vscode/src/vs/workbench/contrib/share/browser/shareService.js +70 -0
  530. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/configureSnippets.js +331 -0
  531. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/insertSnippet.js +127 -0
  532. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/surroundWithSnippet.js +57 -0
  533. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCodeActionProvider.js +154 -0
  534. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetPicker.js +111 -0
  535. package/vscode/src/vs/workbench/contrib/snippets/browser/snippets.contribution.js +141 -0
  536. package/vscode/src/vs/workbench/contrib/speech/browser/speechService.js +271 -0
  537. package/vscode/src/vs/workbench/contrib/surveys/browser/ces.contribution.js +137 -0
  538. package/vscode/src/vs/workbench/contrib/surveys/browser/languageSurveys.contribution.js +50 -0
  539. package/vscode/src/vs/workbench/contrib/surveys/browser/nps.contribution.js +92 -0
  540. package/vscode/src/vs/workbench/contrib/tasks/browser/abstractTaskService.js +3857 -0
  541. package/vscode/src/vs/workbench/contrib/tasks/browser/runAutomaticTasks.js +183 -0
  542. package/vscode/src/vs/workbench/contrib/tasks/browser/task.contribution.js +682 -0
  543. package/vscode/src/vs/workbench/contrib/tasks/browser/taskQuickPick.js +450 -0
  544. package/vscode/src/vs/workbench/contrib/tasks/browser/taskService.js +36 -0
  545. package/vscode/src/vs/workbench/contrib/tasks/browser/taskTerminalStatus.js +189 -0
  546. package/vscode/src/vs/workbench/contrib/tasks/browser/tasksQuickAccess.js +119 -0
  547. package/vscode/src/vs/workbench/contrib/tasks/browser/terminalTaskSystem.js +1711 -0
  548. package/vscode/src/vs/workbench/contrib/tasks/common/jsonSchemaCommon.js +437 -0
  549. package/vscode/src/vs/workbench/contrib/tasks/common/jsonSchema_v1.js +123 -0
  550. package/vscode/src/vs/workbench/contrib/tasks/common/jsonSchema_v2.js +899 -0
  551. package/vscode/src/vs/workbench/contrib/tasks/common/problemCollectors.js +463 -0
  552. package/vscode/src/vs/workbench/contrib/tasks/common/problemMatcher.js +1794 -0
  553. package/vscode/src/vs/workbench/contrib/tasks/common/taskConfiguration.js +1579 -0
  554. package/vscode/src/vs/workbench/contrib/tasks/common/taskSystem.js +14 -0
  555. package/vscode/src/vs/workbench/contrib/tasks/common/taskTemplates.js +143 -0
  556. package/vscode/src/vs/workbench/contrib/terminal/browser/baseTerminalBackend.js +114 -0
  557. package/vscode/src/vs/workbench/contrib/terminal/browser/environmentVariableInfo.js +133 -0
  558. package/vscode/src/vs/workbench/contrib/terminal/browser/media/scrollbar.css.js +4 -0
  559. package/vscode/src/vs/workbench/contrib/terminal/browser/media/terminal.css.js +4 -0
  560. package/vscode/src/vs/workbench/contrib/terminal/browser/media/terminalVoice.css.js +4 -0
  561. package/vscode/src/vs/workbench/contrib/terminal/browser/media/widgets.css.js +4 -0
  562. package/vscode/src/vs/workbench/contrib/terminal/browser/media/xterm.css.js +4 -0
  563. package/vscode/src/vs/workbench/contrib/terminal/browser/remotePty.js +91 -0
  564. package/vscode/src/vs/workbench/contrib/terminal/browser/remoteTerminalBackend.js +312 -0
  565. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.contribution.js +267 -0
  566. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.web.contribution.js +11 -0
  567. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalActions.js +2070 -0
  568. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalCommands.js +22 -0
  569. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalConfigHelper.js +221 -0
  570. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalContextMenu.js +40 -0
  571. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditor.js +193 -0
  572. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorSerializer.js +40 -0
  573. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorService.js +239 -0
  574. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEscapeSequences.js +12 -0
  575. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEvents.js +47 -0
  576. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalGroup.js +501 -0
  577. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalGroupService.js +368 -0
  578. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalInstance.js +2180 -0
  579. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalInstanceService.js +81 -0
  580. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalMainContribution.js +94 -0
  581. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalMenus.js +840 -0
  582. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProcessManager.js +619 -0
  583. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProfileQuickpick.js +312 -0
  584. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProfileResolverService.js +285 -0
  585. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProfileService.js +225 -0
  586. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalQuickAccess.js +155 -0
  587. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalRunRecentQuickPick.js +335 -0
  588. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalService.js +1156 -0
  589. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalStatusList.js +121 -0
  590. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalTabbedView.js +439 -0
  591. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalTabsList.js +690 -0
  592. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalTooltip.js +84 -0
  593. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalUri.js +39 -0
  594. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalView.js +628 -0
  595. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalVoice.js +199 -0
  596. package/vscode/src/vs/workbench/contrib/terminal/browser/widgets/terminalHoverWidget.js +91 -0
  597. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/lineDataEventAddon.js +56 -0
  598. package/vscode/src/vs/workbench/contrib/terminal/common/basePty.js +91 -0
  599. package/vscode/src/vs/workbench/contrib/terminal/common/environmentVariableService.js +96 -0
  600. package/vscode/src/vs/workbench/contrib/terminal/common/history.js +375 -0
  601. package/vscode/src/vs/workbench/contrib/terminal/common/remote/remoteTerminalChannel.js +253 -0
  602. package/vscode/src/vs/workbench/contrib/terminal/common/terminalClipboard.js +98 -0
  603. package/vscode/src/vs/workbench/contrib/terminal/common/terminalConfiguration.js +1351 -0
  604. package/vscode/src/vs/workbench/contrib/terminal/common/terminalEnvironment.js +282 -0
  605. package/vscode/src/vs/workbench/contrib/terminal/common/terminalStrings.js +145 -0
  606. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/browser/bufferContentTracker.js +112 -0
  607. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/browser/terminal.accessibility.contribution.js +389 -0
  608. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/browser/terminalAccessibilityHelp.js +190 -0
  609. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/browser/terminalAccessibleBufferProvider.js +102 -0
  610. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/browser/textAreaSyncAddon.js +106 -0
  611. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/media/terminalChatWidget.css.js +4 -0
  612. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminal.chat.contribution.js +9 -0
  613. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat.js +84 -0
  614. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +125 -0
  615. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.js +31 -0
  616. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +344 -0
  617. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.js +335 -0
  618. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +154 -0
  619. package/vscode/src/vs/workbench/contrib/terminalContrib/developer/browser/media/developer.css.js +4 -0
  620. package/vscode/src/vs/workbench/contrib/terminalContrib/developer/browser/terminal.developer.contribution.js +237 -0
  621. package/vscode/src/vs/workbench/contrib/terminalContrib/environmentChanges/browser/terminal.environmentChanges.contribution.js +114 -0
  622. package/vscode/src/vs/workbench/contrib/terminalContrib/find/browser/terminal.find.contribution.js +264 -0
  623. package/vscode/src/vs/workbench/contrib/terminalContrib/find/browser/terminalFindWidget.js +165 -0
  624. package/vscode/src/vs/workbench/contrib/terminalContrib/find/browser/textInputContextMenu.js +61 -0
  625. package/vscode/src/vs/workbench/contrib/terminalContrib/highlight/browser/terminal.highlight.contribution.js +36 -0
  626. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminal.links.contribution.js +132 -0
  627. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalExternalLinkDetector.js +38 -0
  628. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalLink.js +120 -0
  629. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalLinkDetectorAdapter.js +108 -0
  630. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalLinkHelpers.js +175 -0
  631. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalLinkManager.js +394 -0
  632. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalLinkOpeners.js +240 -0
  633. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalLinkParsing.js +206 -0
  634. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalLinkQuickpick.js +264 -0
  635. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalLinkResolver.js +141 -0
  636. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalLocalLinkDetector.js +220 -0
  637. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalMultiLineLinkDetector.js +182 -0
  638. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalUriLinkDetector.js +119 -0
  639. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalWordLinkDetector.js +94 -0
  640. package/vscode/src/vs/workbench/contrib/terminalContrib/quickFix/browser/media/terminalQuickFix.css.js +4 -0
  641. package/vscode/src/vs/workbench/contrib/terminalContrib/quickFix/browser/quickFixAddon.js +451 -0
  642. package/vscode/src/vs/workbench/contrib/terminalContrib/quickFix/browser/terminal.quickFix.contribution.js +61 -0
  643. package/vscode/src/vs/workbench/contrib/terminalContrib/quickFix/browser/terminalQuickFixBuiltinActions.js +323 -0
  644. package/vscode/src/vs/workbench/contrib/terminalContrib/quickFix/browser/terminalQuickFixService.js +168 -0
  645. package/vscode/src/vs/workbench/contrib/terminalContrib/stickyScroll/browser/media/stickyScroll.css.js +4 -0
  646. package/vscode/src/vs/workbench/contrib/terminalContrib/stickyScroll/browser/terminal.stickyScroll.contribution.js +5 -0
  647. package/vscode/src/vs/workbench/contrib/terminalContrib/stickyScroll/browser/terminalStickyScrollColorRegistry.js +35 -0
  648. package/vscode/src/vs/workbench/contrib/terminalContrib/stickyScroll/browser/terminalStickyScrollContribution.js +91 -0
  649. package/vscode/src/vs/workbench/contrib/terminalContrib/stickyScroll/browser/terminalStickyScrollOverlay.js +379 -0
  650. package/vscode/src/vs/workbench/contrib/terminalContrib/suggest/browser/terminal.suggest.contribution.js +181 -0
  651. package/vscode/src/vs/workbench/contrib/terminalContrib/suggest/browser/terminalSuggestAddon.js +406 -0
  652. package/vscode/src/vs/workbench/contrib/terminalContrib/typeAhead/browser/terminal.typeAhead.contribution.js +54 -0
  653. package/vscode/src/vs/workbench/contrib/terminalContrib/typeAhead/browser/terminalTypeAheadAddon.js +1047 -0
  654. package/vscode/src/vs/workbench/contrib/terminalContrib/zoom/browser/terminal.zoom.contribution.js +130 -0
  655. package/vscode/src/vs/workbench/contrib/testing/browser/codeCoverageDecorations.js +589 -0
  656. package/vscode/src/vs/workbench/contrib/testing/browser/explorerProjections/display.js +2 -0
  657. package/vscode/src/vs/workbench/contrib/testing/browser/explorerProjections/index.js +81 -0
  658. package/vscode/src/vs/workbench/contrib/testing/browser/explorerProjections/listProjection.js +184 -0
  659. package/vscode/src/vs/workbench/contrib/testing/browser/explorerProjections/testItemContextOverlay.js +16 -0
  660. package/vscode/src/vs/workbench/contrib/testing/browser/explorerProjections/testingObjectTree.js +44 -0
  661. package/vscode/src/vs/workbench/contrib/testing/browser/explorerProjections/testingViewState.js +15 -0
  662. package/vscode/src/vs/workbench/contrib/testing/browser/explorerProjections/treeProjection.js +222 -0
  663. package/vscode/src/vs/workbench/contrib/testing/browser/icons.js +182 -0
  664. package/vscode/src/vs/workbench/contrib/testing/browser/media/testMessageColorizer.css.js +4 -0
  665. package/vscode/src/vs/workbench/contrib/testing/browser/media/testing.css.js +4 -0
  666. package/vscode/src/vs/workbench/contrib/testing/browser/testCoverageBars.js +238 -0
  667. package/vscode/src/vs/workbench/contrib/testing/browser/testCoverageView.js +562 -0
  668. package/vscode/src/vs/workbench/contrib/testing/browser/testExplorerActions.js +1671 -0
  669. package/vscode/src/vs/workbench/contrib/testing/browser/testMessageColorizer.js +71 -0
  670. package/vscode/src/vs/workbench/contrib/testing/browser/testing.contribution.js +224 -0
  671. package/vscode/src/vs/workbench/contrib/testing/browser/testingConfigurationUi.js +119 -0
  672. package/vscode/src/vs/workbench/contrib/testing/browser/testingDecorations.js +968 -0
  673. package/vscode/src/vs/workbench/contrib/testing/browser/testingExplorerFilter.js +234 -0
  674. package/vscode/src/vs/workbench/contrib/testing/browser/testingExplorerView.js +1239 -0
  675. package/vscode/src/vs/workbench/contrib/testing/browser/testingOutputPeek.css.js +4 -0
  676. package/vscode/src/vs/workbench/contrib/testing/browser/testingOutputPeek.js +2108 -0
  677. package/vscode/src/vs/workbench/contrib/testing/browser/testingProgressUiService.js +140 -0
  678. package/vscode/src/vs/workbench/contrib/testing/browser/testingViewPaneContainer.js +45 -0
  679. package/vscode/src/vs/workbench/contrib/testing/browser/theme.js +335 -0
  680. package/vscode/src/vs/workbench/contrib/testing/common/configuration.js +274 -0
  681. package/vscode/src/vs/workbench/contrib/testing/common/constants.js +57 -0
  682. package/vscode/src/vs/workbench/contrib/testing/common/mainThreadTestCollection.js +127 -0
  683. package/vscode/src/vs/workbench/contrib/testing/common/observableUtils.js +19 -0
  684. package/vscode/src/vs/workbench/contrib/testing/common/testExclusions.js +46 -0
  685. package/vscode/src/vs/workbench/contrib/testing/common/testServiceImpl.js +294 -0
  686. package/vscode/src/vs/workbench/contrib/testing/common/testingContentProvider.js +123 -0
  687. package/vscode/src/vs/workbench/contrib/testing/common/testingUri.js +65 -0
  688. package/vscode/src/vs/workbench/contrib/themes/browser/themes.contribution.js +955 -0
  689. package/vscode/src/vs/workbench/contrib/timeline/browser/media/timelinePane.css.js +4 -0
  690. package/vscode/src/vs/workbench/contrib/timeline/browser/timeline.contribution.js +118 -0
  691. package/vscode/src/vs/workbench/contrib/timeline/browser/timelinePane.js +1161 -0
  692. package/vscode/src/vs/workbench/contrib/timeline/common/timelineService.js +106 -0
  693. package/vscode/src/vs/workbench/contrib/update/browser/media/releasenoteseditor.css.js +4 -0
  694. package/vscode/src/vs/workbench/contrib/update/browser/releaseNotesEditor.js +411 -0
  695. package/vscode/src/vs/workbench/contrib/update/browser/update.contribution.js +252 -0
  696. package/vscode/src/vs/workbench/contrib/update/browser/update.js +676 -0
  697. package/vscode/src/vs/workbench/contrib/url/browser/externalUriResolver.js +26 -0
  698. package/vscode/src/vs/workbench/contrib/url/browser/trustedDomains.js +198 -0
  699. package/vscode/src/vs/workbench/contrib/url/browser/trustedDomainsFileSystemProvider.js +135 -0
  700. package/vscode/src/vs/workbench/contrib/url/browser/trustedDomainsValidator.js +203 -0
  701. package/vscode/src/vs/workbench/contrib/url/browser/url.contribution.js +66 -0
  702. package/vscode/src/vs/workbench/contrib/userDataSync/browser/userDataSync.contribution.js +110 -0
  703. package/vscode/src/vs/workbench/contrib/userDataSync/browser/userDataSync.js +1466 -0
  704. package/vscode/src/vs/workbench/contrib/userDataSync/browser/userDataSyncConflictsView.js +223 -0
  705. package/vscode/src/vs/workbench/contrib/userDataSync/browser/userDataSyncTrigger.js +59 -0
  706. package/vscode/src/vs/workbench/contrib/userDataSync/browser/userDataSyncViews.js +858 -0
  707. package/vscode/src/vs/workbench/contrib/welcomeBanner/browser/welcomeBanner.contribution.js +45 -0
  708. package/vscode/src/vs/workbench/contrib/welcomeDialog/browser/media/welcomeWidget.css.js +4 -0
  709. package/vscode/src/vs/workbench/contrib/welcomeDialog/browser/welcomeDialog.contribution.js +102 -0
  710. package/vscode/src/vs/workbench/contrib/welcomeDialog/browser/welcomeWidget.js +187 -0
  711. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.js +380 -0
  712. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.js +1526 -0
  713. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedColors.js +47 -0
  714. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedDetailsRenderer.js +261 -0
  715. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedIcons.js +14 -0
  716. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedInput.js +51 -0
  717. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedList.js +95 -0
  718. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/media/gettingStarted.css.js +4 -0
  719. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/startupPage.js +216 -0
  720. package/vscode/src/vs/workbench/contrib/welcomeViews/common/newFile.contribution.js +237 -0
  721. package/vscode/src/vs/workbench/contrib/welcomeViews/common/viewsWelcome.contribution.js +18 -0
  722. package/vscode/src/vs/workbench/contrib/welcomeViews/common/viewsWelcomeContribution.js +73 -0
  723. package/vscode/src/vs/workbench/contrib/welcomeViews/common/viewsWelcomeExtensionPoint.js +97 -0
  724. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/editor/editorWalkThrough.js +61 -0
  725. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/media/walkThroughPart.css.js +4 -0
  726. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThrough.contribution.js +38 -0
  727. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThroughActions.js +57 -0
  728. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThroughInput.js +113 -0
  729. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThroughPart.js +429 -0
  730. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/common/walkThroughContentProvider.js +74 -0
  731. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/common/walkThroughUtils.js +18 -0
  732. package/vscode/src/vs/workbench/contrib/workspace/browser/media/workspaceTrustEditor.css.js +4 -0
  733. package/vscode/src/vs/workbench/contrib/workspace/browser/workspace.contribution.js +976 -0
  734. package/vscode/src/vs/workbench/contrib/workspace/browser/workspaceTrustEditor.js +1243 -0
  735. package/vscode/src/vs/workbench/contrib/workspaces/browser/workspaces.contribution.js +132 -0
  736. package/vscode/src/vs/workbench/services/actions/common/menusExtensionPoint.js +1595 -0
  737. package/vscode/src/vs/workbench/services/aiRelatedInformation/common/aiRelatedInformationService.js +82 -0
  738. package/vscode/src/vs/workbench/services/authentication/browser/authenticationExtensionsService.js +369 -0
  739. package/vscode/src/vs/workbench/services/commands/common/commandService.js +77 -0
  740. package/vscode/src/vs/workbench/services/configuration/browser/configuration.js +850 -0
  741. package/vscode/src/vs/workbench/services/configuration/browser/configurationService.js +1199 -0
  742. package/vscode/src/vs/workbench/services/configuration/common/configurationEditing.js +666 -0
  743. package/vscode/src/vs/workbench/services/configuration/common/configurationModels.js +119 -0
  744. package/vscode/src/vs/workbench/services/configuration/common/jsonEditingService.js +120 -0
  745. package/vscode/src/vs/workbench/services/configurationResolver/browser/baseConfigurationResolverService.js +309 -0
  746. package/vscode/src/vs/workbench/services/configurationResolver/browser/configurationResolverService.js +27 -0
  747. package/vscode/src/vs/workbench/services/decorations/browser/decorationsService.js +330 -0
  748. package/vscode/src/vs/workbench/services/dialogs/browser/abstractFileDialogService.js +377 -0
  749. package/vscode/src/vs/workbench/services/dialogs/browser/simpleFileDialog.js +1037 -0
  750. package/vscode/src/vs/workbench/services/dialogs/common/dialogService.js +70 -0
  751. package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionEnablementService.js +638 -0
  752. package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionsProfileScannerService.js +22 -0
  753. package/vscode/src/vs/workbench/services/extensionManagement/browser/webExtensionsScannerService.js +892 -0
  754. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionFeaturesManagemetService.js +232 -0
  755. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagementChannelClient.js +107 -0
  756. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagementServerService.js +61 -0
  757. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagementService.js +1043 -0
  758. package/vscode/src/vs/workbench/services/extensionManagement/common/remoteExtensionManagementService.js +56 -0
  759. package/vscode/src/vs/workbench/services/extensionManagement/common/webExtensionManagementService.js +279 -0
  760. package/vscode/src/vs/workbench/services/extensionRecommendations/common/extensionIgnoredRecommendationsService.js +82 -0
  761. package/vscode/src/vs/workbench/services/extensions/browser/extensionService.js +283 -0
  762. package/vscode/src/vs/workbench/services/extensions/browser/extensionsScannerService.js +31 -0
  763. package/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.js +274 -0
  764. package/vscode/src/vs/workbench/services/extensions/browser/webWorkerFileSystemProvider.js +50 -0
  765. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +1147 -0
  766. package/vscode/src/vs/workbench/services/extensions/common/extHostCustomers.js +40 -0
  767. package/vscode/src/vs/workbench/services/extensions/common/extensionDevOptions.js +23 -0
  768. package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +510 -0
  769. package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.js +272 -0
  770. package/vscode/src/vs/workbench/services/extensions/common/extensionStorageMigration.js +56 -0
  771. package/vscode/src/vs/workbench/services/extensions/common/extensionsProposedApi.js +78 -0
  772. package/vscode/src/vs/workbench/services/extensions/common/extensionsUtil.js +62 -0
  773. package/vscode/src/vs/workbench/services/extensions/common/lazyCreateExtensionHostManager.js +159 -0
  774. package/vscode/src/vs/workbench/services/extensions/common/remoteConsoleUtil.js +47 -0
  775. package/vscode/src/vs/workbench/services/extensions/common/remoteExtensionHost.js +220 -0
  776. package/vscode/src/vs/workbench/services/host/browser/browserHostService.js +428 -0
  777. package/vscode/src/vs/workbench/services/issue/browser/issueService.js +97 -0
  778. package/vscode/src/vs/workbench/services/keybinding/browser/keybindingService.js +945 -0
  779. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayoutService.js +500 -0
  780. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/_.contribution.js +13 -0
  781. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/cz.win.js +162 -0
  782. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de-swiss.win.js +162 -0
  783. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de.darwin.js +125 -0
  784. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de.linux.js +180 -0
  785. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de.win.js +162 -0
  786. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/dk.win.js +162 -0
  787. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/dvorak.darwin.js +125 -0
  788. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-belgian.win.js +162 -0
  789. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-ext.darwin.js +125 -0
  790. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-in.win.js +162 -0
  791. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-intl.darwin.js +125 -0
  792. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-intl.win.js +162 -0
  793. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-uk.darwin.js +125 -0
  794. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-uk.win.js +162 -0
  795. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en.darwin.js +133 -0
  796. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en.linux.js +182 -0
  797. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en.win.js +167 -0
  798. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es-latin.win.js +162 -0
  799. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es.darwin.js +125 -0
  800. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es.linux.js +180 -0
  801. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es.win.js +162 -0
  802. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/fr.darwin.js +125 -0
  803. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/fr.linux.js +180 -0
  804. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/fr.win.js +162 -0
  805. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/hu.win.js +162 -0
  806. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/it.darwin.js +125 -0
  807. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/it.win.js +162 -0
  808. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/jp-roman.darwin.js +125 -0
  809. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/jp.darwin.js +125 -0
  810. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ko.darwin.js +125 -0
  811. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.darwin.js +17 -0
  812. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.linux.js +6 -0
  813. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.win.js +23 -0
  814. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/no.win.js +162 -0
  815. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pl.darwin.js +125 -0
  816. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pl.win.js +162 -0
  817. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pt-br.win.js +162 -0
  818. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pt.darwin.js +125 -0
  819. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pt.win.js +162 -0
  820. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ru.darwin.js +125 -0
  821. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ru.linux.js +180 -0
  822. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ru.win.js +162 -0
  823. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/sv.win.js +164 -0
  824. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/thai.win.js +162 -0
  825. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/tr.win.js +162 -0
  826. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/zh-hans.darwin.js +125 -0
  827. package/vscode/src/vs/workbench/services/keybinding/common/keybindingIO.js +72 -0
  828. package/vscode/src/vs/workbench/services/keybinding/common/keymapInfo.js +108 -0
  829. package/vscode/src/vs/workbench/services/keybinding/common/macLinuxKeyboardMapper.js +886 -0
  830. package/vscode/src/vs/workbench/services/keybinding/common/windowsKeyboardMapper.js +350 -0
  831. package/vscode/src/vs/workbench/services/label/common/labelService.js +435 -0
  832. package/vscode/src/vs/workbench/services/languageDetection/browser/languageDetectionWorkerServiceImpl.js +259 -0
  833. package/vscode/src/vs/workbench/services/lifecycle/browser/lifecycleService.js +135 -0
  834. package/vscode/src/vs/workbench/services/localization/common/locale.d.ts +11 -0
  835. package/vscode/src/vs/workbench/services/notification/common/notificationService.js +251 -0
  836. package/vscode/src/vs/workbench/services/preferences/browser/preferencesService.js +551 -0
  837. package/vscode/src/vs/workbench/services/quickinput/browser/quickInputService.js +37 -0
  838. package/vscode/src/vs/workbench/services/remote/browser/browserRemoteResourceHandler.js +47 -0
  839. package/vscode/src/vs/workbench/services/remote/browser/remoteAgentService.js +76 -0
  840. package/vscode/src/vs/workbench/services/remote/common/abstractRemoteAgentService.js +177 -0
  841. package/vscode/src/vs/workbench/services/remote/common/remoteAgentEnvironmentChannel.js +52 -0
  842. package/vscode/src/vs/workbench/services/remote/common/remoteExtensionsScanner.js +71 -0
  843. package/vscode/src/vs/workbench/services/request/browser/requestService.js +48 -0
  844. package/vscode/src/vs/workbench/services/search/common/searchService.js +414 -0
  845. package/vscode/src/vs/workbench/services/storage/browser/storageService.js +290 -0
  846. package/vscode/src/vs/workbench/services/suggest/browser/media/suggest.css.js +4 -0
  847. package/vscode/src/vs/workbench/services/suggest/browser/simpleCompletionItem.js +9 -0
  848. package/vscode/src/vs/workbench/services/suggest/browser/simpleCompletionModel.js +97 -0
  849. package/vscode/src/vs/workbench/services/suggest/browser/simpleSuggestWidget.js +428 -0
  850. package/vscode/src/vs/workbench/services/suggest/browser/simpleSuggestWidgetRenderer.js +83 -0
  851. package/vscode/src/vs/workbench/services/textMate/browser/arrayOperation.js +62 -0
  852. package/vscode/src/vs/workbench/services/textMate/browser/backgroundTokenization/textMateWorkerTokenizerController.js +160 -0
  853. package/vscode/src/vs/workbench/services/textMate/browser/backgroundTokenization/threadedBackgroundTokenizerFactory.js +200 -0
  854. package/vscode/src/vs/workbench/services/textMate/browser/textMateTokenizationFeatureImpl.js +482 -0
  855. package/vscode/src/vs/workbench/services/textMate/browser/tokenizationSupport/textMateTokenizationSupport.js +72 -0
  856. package/vscode/src/vs/workbench/services/textMate/browser/tokenizationSupport/tokenizationSupportWithLineLimit.js +39 -0
  857. package/vscode/src/vs/workbench/services/textMate/common/TMGrammarFactory.js +118 -0
  858. package/vscode/src/vs/workbench/services/textMate/common/TMScopeRegistry.js +15 -0
  859. package/vscode/src/vs/workbench/services/textfile/browser/browserTextFileService.js +57 -0
  860. package/vscode/src/vs/workbench/services/textfile/browser/textFileService.js +652 -0
  861. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModelManager.js +402 -0
  862. package/vscode/src/vs/workbench/services/textfile/common/textFileSaveParticipant.js +62 -0
  863. package/vscode/src/vs/workbench/services/textmodelResolver/common/textModelResolverService.js +191 -0
  864. package/vscode/src/vs/workbench/services/textresourceProperties/common/textResourcePropertiesService.js +44 -0
  865. package/vscode/src/vs/workbench/services/themes/browser/fileIconThemeData.js +372 -0
  866. package/vscode/src/vs/workbench/services/themes/browser/productIconThemeData.js +305 -0
  867. package/vscode/src/vs/workbench/services/themes/browser/workbenchThemeService.js +768 -0
  868. package/vscode/src/vs/workbench/services/themes/common/colorThemeData.js +886 -0
  869. package/vscode/src/vs/workbench/services/themes/common/colorThemeSchema.js +309 -0
  870. package/vscode/src/vs/workbench/services/themes/common/fileIconThemeSchema.js +432 -0
  871. package/vscode/src/vs/workbench/services/themes/common/plistParser.js +439 -0
  872. package/vscode/src/vs/workbench/services/themes/common/productIconThemeSchema.js +114 -0
  873. package/vscode/src/vs/workbench/services/themes/common/textMateScopeMatcher.js +120 -0
  874. package/vscode/src/vs/workbench/services/themes/common/themeCompatibility.js +76 -0
  875. package/vscode/src/vs/workbench/services/themes/common/themeConfiguration.js +469 -0
  876. package/vscode/src/vs/workbench/services/themes/common/themeExtensionPoints.js +340 -0
  877. package/vscode/src/vs/workbench/services/tunnel/browser/tunnelService.js +34 -0
  878. package/vscode/src/vs/workbench/services/url/browser/urlService.js +48 -0
  879. package/vscode/src/vs/workbench/services/userDataProfile/browser/extensionsResource.js +340 -0
  880. package/vscode/src/vs/workbench/services/userDataProfile/browser/globalStateResource.js +145 -0
  881. package/vscode/src/vs/workbench/services/userDataProfile/browser/iconSelectBox.js +96 -0
  882. package/vscode/src/vs/workbench/services/userDataProfile/browser/keybindingsResource.js +117 -0
  883. package/vscode/src/vs/workbench/services/userDataProfile/browser/media/userDataProfileView.css.js +4 -0
  884. package/vscode/src/vs/workbench/services/userDataProfile/browser/settingsResource.js +138 -0
  885. package/vscode/src/vs/workbench/services/userDataProfile/browser/snippetsResource.js +153 -0
  886. package/vscode/src/vs/workbench/services/userDataProfile/browser/tasksResource.js +116 -0
  887. package/vscode/src/vs/workbench/services/userDataProfile/browser/userDataProfileImportExportService.js +1752 -0
  888. package/vscode/src/vs/workbench/services/userDataProfile/browser/userDataProfileInit.js +148 -0
  889. package/vscode/src/vs/workbench/services/userDataProfile/browser/userDataProfileManagement.js +188 -0
  890. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.js +7 -2
  891. package/vscode/src/vs/workbench/services/userDataSync/browser/userDataSyncInit.js +445 -0
  892. package/vscode/src/vs/workbench/services/userDataSync/browser/userDataSyncWorkbenchService.js +786 -0
  893. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSyncUtil.js +46 -0
  894. package/vscode/src/vs/workbench/services/workingCopy/browser/workingCopyBackupService.js +23 -0
  895. package/vscode/src/vs/workbench/services/workingCopy/browser/workingCopyBackupTracker.js +43 -0
  896. package/vscode/src/vs/workbench/services/workingCopy/browser/workingCopyHistoryService.js +28 -0
  897. package/vscode/src/vs/workbench/services/workingCopy/common/abstractFileWorkingCopyManager.js +87 -0
  898. package/vscode/src/vs/workbench/services/workingCopy/common/fileWorkingCopyManager.js +384 -0
  899. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopyManager.js +406 -0
  900. package/vscode/src/vs/workbench/services/workingCopy/common/untitledFileWorkingCopy.js +142 -0
  901. package/vscode/src/vs/workbench/services/workingCopy/common/untitledFileWorkingCopyManager.js +127 -0
  902. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyBackupService.js +452 -0
  903. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyBackupTracker.js +253 -0
  904. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyHistoryService.js +616 -0
  905. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyHistoryTracker.js +162 -0
  906. package/vscode/src/vs/workbench/services/workspaces/browser/abstractWorkspaceEditingService.js +335 -0
  907. package/vscode/src/vs/workbench/services/workspaces/browser/workspaceTrustEditorInput.js +41 -0
  908. package/vscode/src/vs/workbench/services/workspaces/browser/workspacesService.js +151 -0
  909. package/vscode/src/vs/workbench/services/workspaces/common/editSessionIdentityService.js +60 -0
@@ -0,0 +1,2182 @@
1
+ import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
2
+ import { localizeWithPath, localize2WithPath } from '../../../../nls.js';
3
+ import { Registry } from '../../../../platform/registry/common/platform.js';
4
+ import { registerAction2, MenuRegistry, MenuId, Action2 } from '../../../../platform/actions/common/actions.js';
5
+ import { SyncDescriptor } from '../../../../platform/instantiation/common/descriptors.js';
6
+ import { IExtensionGalleryService, IExtensionManagementService, ExtensionsLocalizedLabel, PreferencesLocalizedLabel } from '../../../../platform/extensionManagement/common/extensionManagement.js';
7
+ import { extensionsConfigurationNodeBase, IWorkbenchExtensionManagementService, IExtensionManagementServerService, IWorkbenchExtensionEnablementService } from '../../../services/extensionManagement/common/extensionManagement.js';
8
+ import { IExtensionIgnoredRecommendationsService } from '../../../services/extensionRecommendations/common/extensionRecommendations.js';
9
+ import { Extensions as Extensions$4 } from '../../../common/contributions.js';
10
+ import { VIEWLET_ID, IExtensionsWorkbenchService, CONTEXT_HAS_GALLERY, AutoUpdateConfigurationKey, HasOutdatedExtensionsContext, OUTDATED_EXTENSIONS_VIEW_ID, SELECT_INSTALL_VSIX_EXTENSION_COMMAND_ID, INSTALL_EXTENSION_FROM_VSIX_COMMAND_ID, extensionsSearchActionsMenu, LIST_WORKSPACE_UNSUPPORTED_EXTENSIONS_COMMAND_ID, WORKSPACE_RECOMMENDATIONS_VIEW_ID, THEME_ACTIONS_GROUP, INSTALL_ACTIONS_GROUP, UPDATE_ACTIONS_GROUP, TOGGLE_IGNORE_EXTENSION_ACTION_ID } from '../common/extensions.js';
11
+ import { SearchExtensionsAction, PromptExtensionInstallFailureAction, ConfigureWorkspaceFolderRecommendedExtensionsAction, InstallSpecificVersionOfExtensionAction, ReinstallAction, SetColorThemeAction, SetFileIconThemeAction, SetProductIconThemeAction, ToggleAutoUpdateForExtensionAction, ToggleAutoUpdatesForPublisherAction, TogglePreReleaseExtensionAction, ClearLanguageAction, ConfigureWorkspaceRecommendedExtensionsAction } from './extensionsActions.js';
12
+ import { ExtensionsInput } from '../common/extensionsInput.js';
13
+ import { ExtensionEditor } from './extensionEditor.js';
14
+ import { ExtensionsViewPaneContainer, StatusUpdater, MaliciousExtensionChecker, ExtensionsViewletViewsContribution, DefaultViewsContext, SearchHasTextContext } from './extensionsViewlet.js';
15
+ import { Extensions as Extensions$2 } from '../../../../platform/configuration/common/configurationRegistry.js';
16
+ import { Extensions as Extensions$3 } from '../../../../platform/jsonschemas/common/jsonContributionRegistry.js';
17
+ import { ExtensionsConfigurationSchemaId, ExtensionsConfigurationSchema } from '../common/extensionsFileTemplate.js';
18
+ import { CommandsRegistry, ICommandService } from '../../../../platform/commands/common/commands.js';
19
+ import { IInstantiationService } from '../../../../platform/instantiation/common/instantiation.js';
20
+ import { KeymapExtensions } from '../common/extensionsUtils.js';
21
+ import { areSameExtensions, getIdAndVersion } from '../../../../platform/extensionManagement/common/extensionManagementUtil.js';
22
+ import { EditorPaneDescriptor } from '../../../browser/editor.js';
23
+ import { URI } from '../../../../base/common/uri.js';
24
+ import { ExtensionActivationProgress } from './extensionsActivationProgress.js';
25
+ import { onUnexpectedError } from '../../../../base/common/errors.js';
26
+ import { ExtensionDependencyChecker } from './extensionsDependencyChecker.js';
27
+ import { CancellationToken } from '../../../../base/common/cancellation.js';
28
+ import { Extensions as Extensions$1 } from '../../../common/views.js';
29
+ import { IViewsService } from '../../../services/views/common/viewsService.js';
30
+ import { IClipboardService } from '../../../../platform/clipboard/common/clipboardService.js';
31
+ import { IPreferencesService } from '../../../services/preferences/common/preferences.js';
32
+ import { ContextKeyExpr, RawContextKey, IContextKeyService } from '../../../../platform/contextkey/common/contextkey.js';
33
+ import { Extensions } from '../../../../platform/quickinput/common/quickAccess.js';
34
+ import { ManageExtensionsQuickAccessProvider, InstallExtensionQuickAccessProvider } from './extensionsQuickAccess.js';
35
+ import './extensionRecommendationsService.js';
36
+ import { CONTEXT_SYNC_ENABLEMENT } from '../../../services/userDataSync/common/userDataSync.js';
37
+ import { CopyAction, CutAction, PasteAction } from '../../../../editor/contrib/clipboard/browser/clipboard.js';
38
+ import { IEditorService } from '../../../services/editor/common/editorService.js';
39
+ import './extensionsWorkbenchService.js';
40
+ import { Categories } from '../../../../platform/action/common/actionCommonCategories.js';
41
+ import './extensionRecommendationNotificationService.js';
42
+ import { IExtensionService, toExtensionDescription } from '../../../services/extensions/common/extensions.js';
43
+ import { INotificationService, Severity } from '../../../../platform/notification/common/notification.js';
44
+ import { IHostService } from '../../../services/host/browser/host.js';
45
+ import { WorkbenchStateContext, ResourceContextKey } from '../../../common/contextkeys.js';
46
+ import { IWorkspaceExtensionsConfigService } from '../../../services/extensionRecommendations/common/workspaceExtensionsConfig.js';
47
+ import { Schemas } from '../../../../base/common/network.js';
48
+ import { ShowRuntimeExtensionsAction } from './abstractRuntimeExtensionsEditor.js';
49
+ import { ExtensionEnablementWorkspaceTrustTransitionParticipant } from './extensionEnablementWorkspaceTrustTransitionParticipant.js';
50
+ import { extensionsViewIcon, installWorkspaceRecommendedIcon, filterIcon, clearSearchResultsIcon, refreshIcon, configureRecommendedIcon } from './extensionsIcons.js';
51
+ import { EXTENSION_CATEGORIES } from '../../../../platform/extensions/common/extensions.js';
52
+ import { Disposable, isDisposable, DisposableStore } from '../../../../base/common/lifecycle.js';
53
+ import { IConfigurationService } from '../../../../platform/configuration/common/configuration.js';
54
+ import '../../../../../../../override/vs/platform/dialogs/common/dialogs.js';
55
+ import { mnemonicButtonLabel } from '../../../../base/common/labels.js';
56
+ import '../../../../base/common/arrays.js';
57
+ import { Promises } from '../../../../base/common/async.js';
58
+ import { EditorExtensions } from '../../../common/editor.js';
59
+ import { WORKSPACE_TRUST_EXTENSION_SUPPORT } from '../../../services/workspaces/common/workspaceTrust.js';
60
+ import { ExtensionsCompletionItemsProvider } from './extensionsCompletionItemsProvider.js';
61
+ import { IQuickInputService } from '../../../../platform/quickinput/common/quickInput.js';
62
+ import { Event } from '../../../../base/common/event.js';
63
+ import { IPaneCompositePartService } from '../../../services/panecomposite/browser/panecomposite.js';
64
+ import { UnsupportedExtensionsMigrationContrib } from './unsupportedExtensionsMigrationContribution.js';
65
+ import { isWeb } from '../../../../base/common/platform.js';
66
+ import { ExtensionStorageService } from '../../../../platform/extensionManagement/common/extensionStorage.js';
67
+ import { IStorageService } from '../../../../platform/storage/common/storage.js';
68
+ import { CONTEXT_KEYBINDINGS_EDITOR } from '../../preferences/common/preferences.js';
69
+ import { DeprecatedExtensionsChecker } from './deprecatedExtensionsChecker.js';
70
+ import { IFileDialogService, IDialogService } from '../../../../platform/dialogs/common/dialogs.js';
71
+ ( Registry.as(Extensions.Quickaccess)).registerQuickAccessProvider({
72
+ ctor: ManageExtensionsQuickAccessProvider,
73
+ prefix: ManageExtensionsQuickAccessProvider.PREFIX,
74
+ placeholder: ( localizeWithPath(
75
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
76
+ 'manageExtensionsQuickAccessPlaceholder',
77
+ "Press Enter to manage extensions."
78
+ )),
79
+ helpEntries: [{ description: ( localizeWithPath(
80
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
81
+ 'manageExtensionsHelp',
82
+ "Manage Extensions"
83
+ )) }]
84
+ });
85
+ ( Registry.as(EditorExtensions.EditorPane)).registerEditorPane(EditorPaneDescriptor.create(ExtensionEditor, ExtensionEditor.ID, ( localizeWithPath(
86
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
87
+ 'extension',
88
+ "Extension"
89
+ ))), [
90
+ ( new SyncDescriptor(ExtensionsInput))
91
+ ]);
92
+ ( Registry.as(Extensions$1.ViewContainersRegistry)).registerViewContainer({
93
+ id: VIEWLET_ID,
94
+ title: ( localize2WithPath(
95
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
96
+ 'extensions',
97
+ "Extensions"
98
+ )),
99
+ openCommandActionDescriptor: {
100
+ id: VIEWLET_ID,
101
+ mnemonicTitle: ( localizeWithPath(
102
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
103
+ { key: 'miViewExtensions', comment: ['&& denotes a mnemonic'] },
104
+ "E&&xtensions"
105
+ )),
106
+ keybindings: { primary: 2048 | 1024 | 54 },
107
+ order: 4,
108
+ },
109
+ ctorDescriptor: ( new SyncDescriptor(ExtensionsViewPaneContainer)),
110
+ icon: extensionsViewIcon,
111
+ order: 4,
112
+ rejectAddedViews: true,
113
+ alwaysUseContainerInfo: true,
114
+ }, 0 );
115
+ ( Registry.as(Extensions$2.Configuration))
116
+ .registerConfiguration({
117
+ ...extensionsConfigurationNodeBase,
118
+ properties: {
119
+ 'extensions.autoUpdate': {
120
+ enum: [true, 'onlyEnabledExtensions', 'onlySelectedExtensions', false,],
121
+ enumItemLabels: [
122
+ ( localizeWithPath(
123
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
124
+ 'all',
125
+ "All Extensions"
126
+ )),
127
+ ( localizeWithPath(
128
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
129
+ 'enabled',
130
+ "Only Enabled Extensions"
131
+ )),
132
+ ( localizeWithPath(
133
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
134
+ 'selected',
135
+ "Only Selected Extensions"
136
+ )),
137
+ ( localizeWithPath(
138
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
139
+ 'none',
140
+ "None"
141
+ )),
142
+ ],
143
+ enumDescriptions: [
144
+ ( localizeWithPath(
145
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
146
+ 'extensions.autoUpdate.true',
147
+ 'Download and install updates automatically for all extensions except for those updates are ignored.'
148
+ )),
149
+ ( localizeWithPath(
150
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
151
+ 'extensions.autoUpdate.enabled',
152
+ 'Download and install updates automatically only for enabled extensions except for those updates are ignored. Disabled extensions are not updated automatically.'
153
+ )),
154
+ ( localizeWithPath(
155
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
156
+ 'extensions.autoUpdate.selected',
157
+ 'Download and install updates automatically only for selected extensions.'
158
+ )),
159
+ ( localizeWithPath(
160
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
161
+ 'extensions.autoUpdate.false',
162
+ 'Extensions are not automatically updated.'
163
+ )),
164
+ ],
165
+ description: ( localizeWithPath(
166
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
167
+ 'extensions.autoUpdate',
168
+ "Controls the automatic update behavior of extensions. The updates are fetched from a Microsoft online service."
169
+ )),
170
+ default: true,
171
+ scope: 1 ,
172
+ tags: ['usesOnlineServices']
173
+ },
174
+ 'extensions.autoCheckUpdates': {
175
+ type: 'boolean',
176
+ description: ( localizeWithPath(
177
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
178
+ 'extensionsCheckUpdates',
179
+ "When enabled, automatically checks extensions for updates. If an extension has an update, it is marked as outdated in the Extensions view. The updates are fetched from a Microsoft online service."
180
+ )),
181
+ default: true,
182
+ scope: 1 ,
183
+ tags: ['usesOnlineServices']
184
+ },
185
+ 'extensions.ignoreRecommendations': {
186
+ type: 'boolean',
187
+ description: ( localizeWithPath(
188
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
189
+ 'extensionsIgnoreRecommendations',
190
+ "When enabled, the notifications for extension recommendations will not be shown."
191
+ )),
192
+ default: false
193
+ },
194
+ 'extensions.showRecommendationsOnlyOnDemand': {
195
+ type: 'boolean',
196
+ deprecationMessage: ( localizeWithPath(
197
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
198
+ 'extensionsShowRecommendationsOnlyOnDemand_Deprecated',
199
+ "This setting is deprecated. Use extensions.ignoreRecommendations setting to control recommendation notifications. Use Extensions view's visibility actions to hide Recommended view by default."
200
+ )),
201
+ default: false,
202
+ tags: ['usesOnlineServices']
203
+ },
204
+ 'extensions.closeExtensionDetailsOnViewChange': {
205
+ type: 'boolean',
206
+ description: ( localizeWithPath(
207
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
208
+ 'extensionsCloseExtensionDetailsOnViewChange',
209
+ "When enabled, editors with extension details will be automatically closed upon navigating away from the Extensions View."
210
+ )),
211
+ default: false
212
+ },
213
+ 'extensions.confirmedUriHandlerExtensionIds': {
214
+ type: 'array',
215
+ items: {
216
+ type: 'string'
217
+ },
218
+ description: ( localizeWithPath(
219
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
220
+ 'handleUriConfirmedExtensions',
221
+ "When an extension is listed here, a confirmation prompt will not be shown when that extension handles a URI."
222
+ )),
223
+ default: [],
224
+ scope: 1
225
+ },
226
+ 'extensions.webWorker': {
227
+ type: ['boolean', 'string'],
228
+ enum: [true, false, 'auto'],
229
+ enumDescriptions: [
230
+ ( localizeWithPath(
231
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
232
+ 'extensionsWebWorker.true',
233
+ "The Web Worker Extension Host will always be launched."
234
+ )),
235
+ ( localizeWithPath(
236
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
237
+ 'extensionsWebWorker.false',
238
+ "The Web Worker Extension Host will never be launched."
239
+ )),
240
+ ( localizeWithPath(
241
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
242
+ 'extensionsWebWorker.auto',
243
+ "The Web Worker Extension Host will be launched when a web extension needs it."
244
+ )),
245
+ ],
246
+ description: ( localizeWithPath(
247
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
248
+ 'extensionsWebWorker',
249
+ "Enable web worker extension host."
250
+ )),
251
+ default: 'auto'
252
+ },
253
+ 'extensions.supportVirtualWorkspaces': {
254
+ type: 'object',
255
+ markdownDescription: ( localizeWithPath(
256
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
257
+ 'extensions.supportVirtualWorkspaces',
258
+ "Override the virtual workspaces support of an extension."
259
+ )),
260
+ patternProperties: {
261
+ '([a-z0-9A-Z][a-z0-9-A-Z]*)\\.([a-z0-9A-Z][a-z0-9-A-Z]*)$': {
262
+ type: 'boolean',
263
+ default: false
264
+ }
265
+ },
266
+ additionalProperties: false,
267
+ default: {},
268
+ defaultSnippets: [{
269
+ 'body': {
270
+ 'pub.name': false
271
+ }
272
+ }]
273
+ },
274
+ 'extensions.experimental.affinity': {
275
+ type: 'object',
276
+ markdownDescription: ( localizeWithPath(
277
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
278
+ 'extensions.affinity',
279
+ "Configure an extension to execute in a different extension host process."
280
+ )),
281
+ patternProperties: {
282
+ '([a-z0-9A-Z][a-z0-9-A-Z]*)\\.([a-z0-9A-Z][a-z0-9-A-Z]*)$': {
283
+ type: 'integer',
284
+ default: 1
285
+ }
286
+ },
287
+ additionalProperties: false,
288
+ default: {},
289
+ defaultSnippets: [{
290
+ 'body': {
291
+ 'pub.name': 1
292
+ }
293
+ }]
294
+ },
295
+ [WORKSPACE_TRUST_EXTENSION_SUPPORT]: {
296
+ type: 'object',
297
+ scope: 1 ,
298
+ markdownDescription: ( localizeWithPath(
299
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
300
+ 'extensions.supportUntrustedWorkspaces',
301
+ "Override the untrusted workspace support of an extension. Extensions using `true` will always be enabled. Extensions using `limited` will always be enabled, and the extension will hide functionality that requires trust. Extensions using `false` will only be enabled only when the workspace is trusted."
302
+ )),
303
+ patternProperties: {
304
+ '([a-z0-9A-Z][a-z0-9-A-Z]*)\\.([a-z0-9A-Z][a-z0-9-A-Z]*)$': {
305
+ type: 'object',
306
+ properties: {
307
+ 'supported': {
308
+ type: ['boolean', 'string'],
309
+ enum: [true, false, 'limited'],
310
+ enumDescriptions: [
311
+ ( localizeWithPath(
312
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
313
+ 'extensions.supportUntrustedWorkspaces.true',
314
+ "Extension will always be enabled."
315
+ )),
316
+ ( localizeWithPath(
317
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
318
+ 'extensions.supportUntrustedWorkspaces.false',
319
+ "Extension will only be enabled only when the workspace is trusted."
320
+ )),
321
+ ( localizeWithPath(
322
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
323
+ 'extensions.supportUntrustedWorkspaces.limited',
324
+ "Extension will always be enabled, and the extension will hide functionality requiring trust."
325
+ )),
326
+ ],
327
+ description: ( localizeWithPath(
328
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
329
+ 'extensions.supportUntrustedWorkspaces.supported',
330
+ "Defines the untrusted workspace support setting for the extension."
331
+ )),
332
+ },
333
+ 'version': {
334
+ type: 'string',
335
+ description: ( localizeWithPath(
336
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
337
+ 'extensions.supportUntrustedWorkspaces.version',
338
+ "Defines the version of the extension for which the override should be applied. If not specified, the override will be applied independent of the extension version."
339
+ )),
340
+ }
341
+ }
342
+ }
343
+ }
344
+ },
345
+ 'extensions.experimental.deferredStartupFinishedActivation': {
346
+ type: 'boolean',
347
+ description: ( localizeWithPath(
348
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
349
+ 'extensionsDeferredStartupFinishedActivation',
350
+ "When enabled, extensions which declare the `onStartupFinished` activation event will be activated after a timeout."
351
+ )),
352
+ default: false
353
+ },
354
+ 'extensions.experimental.issueQuickAccess': {
355
+ type: 'boolean',
356
+ description: ( localizeWithPath(
357
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
358
+ 'extensionsInQuickAccess',
359
+ "When enabled, extensions can be searched for via Quick Access and report issues from there."
360
+ )),
361
+ default: true
362
+ }
363
+ }
364
+ });
365
+ const jsonRegistry = ( Registry.as(Extensions$3.JSONContribution));
366
+ jsonRegistry.registerSchema(ExtensionsConfigurationSchemaId, ExtensionsConfigurationSchema);
367
+ CommandsRegistry.registerCommand('_extensions.manage', (accessor, extensionId, tab, preserveFocus, feature) => {
368
+ const extensionService = accessor.get(IExtensionsWorkbenchService);
369
+ const extension = extensionService.local.find(e => areSameExtensions(e.identifier, { id: extensionId }));
370
+ if (extension) {
371
+ extensionService.open(extension, { tab, preserveFocus, feature });
372
+ }
373
+ else {
374
+ throw new Error(localizeWithPath('vs/workbench/contrib/extensions/browser/extensions.contribution', 'notFound', "Extension '{0}' not found.", extensionId));
375
+ }
376
+ });
377
+ CommandsRegistry.registerCommand('extension.open', async (accessor, extensionId, tab, preserveFocus, feature) => {
378
+ const extensionService = accessor.get(IExtensionsWorkbenchService);
379
+ const commandService = accessor.get(ICommandService);
380
+ const [extension] = await extensionService.getExtensions([{ id: extensionId }], CancellationToken.None);
381
+ if (extension) {
382
+ return extensionService.open(extension, { tab, preserveFocus, feature });
383
+ }
384
+ return commandService.executeCommand('_extensions.manage', extensionId, tab, preserveFocus, feature);
385
+ });
386
+ CommandsRegistry.registerCommand({
387
+ id: 'workbench.extensions.installExtension',
388
+ metadata: {
389
+ description: ( localizeWithPath(
390
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
391
+ 'workbench.extensions.installExtension.description',
392
+ "Install the given extension"
393
+ )),
394
+ args: [
395
+ {
396
+ name: 'extensionIdOrVSIXUri',
397
+ description: ( localizeWithPath(
398
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
399
+ 'workbench.extensions.installExtension.arg.decription',
400
+ "Extension id or VSIX resource uri"
401
+ )),
402
+ constraint: (value) => typeof value === 'string' || value instanceof URI,
403
+ },
404
+ {
405
+ name: 'options',
406
+ description: '(optional) Options for installing the extension. Object with the following properties: ' +
407
+ '`installOnlyNewlyAddedFromExtensionPackVSIX`: When enabled, VS Code installs only newly added extensions from the extension pack VSIX. This option is considered only when installing VSIX. ',
408
+ isOptional: true,
409
+ schema: {
410
+ 'type': 'object',
411
+ 'properties': {
412
+ 'installOnlyNewlyAddedFromExtensionPackVSIX': {
413
+ 'type': 'boolean',
414
+ 'description': ( localizeWithPath(
415
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
416
+ 'workbench.extensions.installExtension.option.installOnlyNewlyAddedFromExtensionPackVSIX',
417
+ "When enabled, VS Code installs only newly added extensions from the extension pack VSIX. This option is considered only while installing a VSIX."
418
+ )),
419
+ default: false
420
+ },
421
+ 'installPreReleaseVersion': {
422
+ 'type': 'boolean',
423
+ 'description': ( localizeWithPath(
424
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
425
+ 'workbench.extensions.installExtension.option.installPreReleaseVersion',
426
+ "When enabled, VS Code installs the pre-release version of the extension if available."
427
+ )),
428
+ default: false
429
+ },
430
+ 'donotSync': {
431
+ 'type': 'boolean',
432
+ 'description': ( localizeWithPath(
433
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
434
+ 'workbench.extensions.installExtension.option.donotSync',
435
+ "When enabled, VS Code do not sync this extension when Settings Sync is on."
436
+ )),
437
+ default: false
438
+ },
439
+ 'justification': {
440
+ 'type': ['string', 'object'],
441
+ 'description': ( localizeWithPath(
442
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
443
+ 'workbench.extensions.installExtension.option.justification',
444
+ "Justification for installing the extension. This is a string or an object that can be used to pass any information to the installation handlers. i.e. `{reason: 'This extension wants to open a URI', action: 'Open URI'}` will show a message box with the reason and action upon install."
445
+ )),
446
+ },
447
+ 'enable': {
448
+ 'type': 'boolean',
449
+ 'description': ( localizeWithPath(
450
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
451
+ 'workbench.extensions.installExtension.option.enable',
452
+ "When enabled, the extension will be enabled if it is installed but disabled. If the extension is already enabled, this has no effect."
453
+ )),
454
+ default: false
455
+ },
456
+ 'context': {
457
+ 'type': 'object',
458
+ 'description': ( localizeWithPath(
459
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
460
+ 'workbench.extensions.installExtension.option.context',
461
+ "Context for the installation. This is a JSON object that can be used to pass any information to the installation handlers. i.e. `{skipWalkthrough: true}` will skip opening the walkthrough upon install."
462
+ )),
463
+ }
464
+ }
465
+ }
466
+ }
467
+ ]
468
+ },
469
+ handler: async (accessor, arg, options) => {
470
+ const extensionsWorkbenchService = accessor.get(IExtensionsWorkbenchService);
471
+ const extensionManagementService = accessor.get(IWorkbenchExtensionManagementService);
472
+ const extensionGalleryService = accessor.get(IExtensionGalleryService);
473
+ try {
474
+ if (typeof arg === 'string') {
475
+ const [id, version] = getIdAndVersion(arg);
476
+ const extension = extensionsWorkbenchService.local.find(e => areSameExtensions(e.identifier, { id, uuid: version }));
477
+ if (extension?.enablementState === 1 ) {
478
+ const [gallery] = await extensionGalleryService.getExtensions([{ id, preRelease: options?.installPreReleaseVersion }], CancellationToken.None);
479
+ if (gallery) {
480
+ throw new Error(localizeWithPath('vs/workbench/contrib/extensions/browser/extensions.contribution', 'notFound', "Extension '{0}' not found.", arg));
481
+ }
482
+ await extensionManagementService.installFromGallery(gallery, {
483
+ isMachineScoped: options?.donotSync ? true : undefined,
484
+ installPreReleaseVersion: options?.installPreReleaseVersion,
485
+ installGivenVersion: !!version,
486
+ context: options?.context
487
+ });
488
+ }
489
+ else {
490
+ await extensionsWorkbenchService.install(arg, {
491
+ version,
492
+ installPreReleaseVersion: options?.installPreReleaseVersion,
493
+ context: options?.context,
494
+ justification: options?.justification,
495
+ enable: options?.enable,
496
+ isMachineScoped: options?.donotSync ? true : undefined,
497
+ }, 15 );
498
+ }
499
+ }
500
+ else {
501
+ const vsix = URI.revive(arg);
502
+ await extensionsWorkbenchService.install(vsix, { installOnlyNewlyAddedFromExtensionPack: options?.installOnlyNewlyAddedFromExtensionPackVSIX });
503
+ }
504
+ }
505
+ catch (e) {
506
+ onUnexpectedError(e);
507
+ throw e;
508
+ }
509
+ }
510
+ });
511
+ CommandsRegistry.registerCommand({
512
+ id: 'workbench.extensions.uninstallExtension',
513
+ metadata: {
514
+ description: ( localizeWithPath(
515
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
516
+ 'workbench.extensions.uninstallExtension.description',
517
+ "Uninstall the given extension"
518
+ )),
519
+ args: [
520
+ {
521
+ name: ( localizeWithPath(
522
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
523
+ 'workbench.extensions.uninstallExtension.arg.name',
524
+ "Id of the extension to uninstall"
525
+ )),
526
+ schema: {
527
+ 'type': 'string'
528
+ }
529
+ }
530
+ ]
531
+ },
532
+ handler: async (accessor, id) => {
533
+ if (!id) {
534
+ throw new Error(localizeWithPath('vs/workbench/contrib/extensions/browser/extensions.contribution', 'id required', "Extension id required."));
535
+ }
536
+ const extensionManagementService = accessor.get(IExtensionManagementService);
537
+ const installed = await extensionManagementService.getInstalled();
538
+ const [extensionToUninstall] = installed.filter(e => areSameExtensions(e.identifier, { id }));
539
+ if (!extensionToUninstall) {
540
+ throw new Error(localizeWithPath('vs/workbench/contrib/extensions/browser/extensions.contribution', 'notInstalled', "Extension '{0}' is not installed. Make sure you use the full extension ID, including the publisher, e.g.: ms-dotnettools.csharp.", id));
541
+ }
542
+ if (extensionToUninstall.isBuiltin) {
543
+ throw new Error(localizeWithPath('vs/workbench/contrib/extensions/browser/extensions.contribution', 'builtin', "Extension '{0}' is a Built-in extension and cannot be installed", id));
544
+ }
545
+ try {
546
+ await extensionManagementService.uninstall(extensionToUninstall);
547
+ }
548
+ catch (e) {
549
+ onUnexpectedError(e);
550
+ throw e;
551
+ }
552
+ }
553
+ });
554
+ CommandsRegistry.registerCommand({
555
+ id: 'workbench.extensions.search',
556
+ metadata: {
557
+ description: ( localizeWithPath(
558
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
559
+ 'workbench.extensions.search.description',
560
+ "Search for a specific extension"
561
+ )),
562
+ args: [
563
+ {
564
+ name: ( localizeWithPath(
565
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
566
+ 'workbench.extensions.search.arg.name',
567
+ "Query to use in search"
568
+ )),
569
+ schema: { 'type': 'string' }
570
+ }
571
+ ]
572
+ },
573
+ handler: async (accessor, query = '') => {
574
+ const paneCompositeService = accessor.get(IPaneCompositePartService);
575
+ const viewlet = await paneCompositeService.openPaneComposite(VIEWLET_ID, 0 , true);
576
+ if (!viewlet) {
577
+ return;
578
+ }
579
+ viewlet.getViewPaneContainer().search(query);
580
+ viewlet.focus();
581
+ }
582
+ });
583
+ function overrideActionForActiveExtensionEditorWebview(command, f) {
584
+ command?.addImplementation(105, 'extensions-editor', (accessor) => {
585
+ const editorService = accessor.get(IEditorService);
586
+ const editor = editorService.activeEditorPane;
587
+ if (editor instanceof ExtensionEditor) {
588
+ if (editor.activeWebview?.isFocused) {
589
+ f(editor.activeWebview);
590
+ return true;
591
+ }
592
+ }
593
+ return false;
594
+ });
595
+ }
596
+ overrideActionForActiveExtensionEditorWebview(CopyAction, webview => webview.copy());
597
+ overrideActionForActiveExtensionEditorWebview(CutAction, webview => webview.cut());
598
+ overrideActionForActiveExtensionEditorWebview(PasteAction, webview => webview.paste());
599
+ const CONTEXT_HAS_LOCAL_SERVER = ( new RawContextKey('hasLocalServer', false));
600
+ const CONTEXT_HAS_REMOTE_SERVER = ( new RawContextKey('hasRemoteServer', false));
601
+ const CONTEXT_HAS_WEB_SERVER = ( new RawContextKey('hasWebServer', false));
602
+ async function runAction(action) {
603
+ try {
604
+ await action.run();
605
+ }
606
+ finally {
607
+ if (isDisposable(action)) {
608
+ action.dispose();
609
+ }
610
+ }
611
+ }
612
+ let ExtensionsContributions = class ExtensionsContributions extends Disposable {
613
+ constructor(extensionManagementServerService, extensionGalleryService, contextKeyService, paneCompositeService, extensionsWorkbenchService, extensionEnablementService, instantiationService, dialogService, commandService) {
614
+ super();
615
+ this.extensionManagementServerService = extensionManagementServerService;
616
+ this.paneCompositeService = paneCompositeService;
617
+ this.extensionsWorkbenchService = extensionsWorkbenchService;
618
+ this.extensionEnablementService = extensionEnablementService;
619
+ this.instantiationService = instantiationService;
620
+ this.dialogService = dialogService;
621
+ this.commandService = commandService;
622
+ const hasGalleryContext = CONTEXT_HAS_GALLERY.bindTo(contextKeyService);
623
+ if (extensionGalleryService.isEnabled()) {
624
+ hasGalleryContext.set(true);
625
+ }
626
+ const hasLocalServerContext = CONTEXT_HAS_LOCAL_SERVER.bindTo(contextKeyService);
627
+ if (this.extensionManagementServerService.localExtensionManagementServer) {
628
+ hasLocalServerContext.set(true);
629
+ }
630
+ const hasRemoteServerContext = CONTEXT_HAS_REMOTE_SERVER.bindTo(contextKeyService);
631
+ if (this.extensionManagementServerService.remoteExtensionManagementServer) {
632
+ hasRemoteServerContext.set(true);
633
+ }
634
+ const hasWebServerContext = CONTEXT_HAS_WEB_SERVER.bindTo(contextKeyService);
635
+ if (this.extensionManagementServerService.webExtensionManagementServer) {
636
+ hasWebServerContext.set(true);
637
+ }
638
+ this.registerGlobalActions();
639
+ this.registerContextMenuActions();
640
+ this.registerQuickAccessProvider();
641
+ }
642
+ registerQuickAccessProvider() {
643
+ if (this.extensionManagementServerService.localExtensionManagementServer
644
+ || this.extensionManagementServerService.remoteExtensionManagementServer
645
+ || this.extensionManagementServerService.webExtensionManagementServer) {
646
+ ( Registry.as(Extensions.Quickaccess)).registerQuickAccessProvider({
647
+ ctor: InstallExtensionQuickAccessProvider,
648
+ prefix: InstallExtensionQuickAccessProvider.PREFIX,
649
+ placeholder: ( localizeWithPath(
650
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
651
+ 'installExtensionQuickAccessPlaceholder',
652
+ "Type the name of an extension to install or search."
653
+ )),
654
+ helpEntries: [{ description: ( localizeWithPath(
655
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
656
+ 'installExtensionQuickAccessHelp',
657
+ "Install or Search Extensions"
658
+ )) }]
659
+ });
660
+ }
661
+ }
662
+ registerGlobalActions() {
663
+ this._register(MenuRegistry.appendMenuItem(MenuId.MenubarPreferencesMenu, {
664
+ command: {
665
+ id: VIEWLET_ID,
666
+ title: ( localizeWithPath(
667
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
668
+ { key: 'miPreferencesExtensions', comment: ['&& denotes a mnemonic'] },
669
+ "&&Extensions"
670
+ ))
671
+ },
672
+ group: '2_configuration',
673
+ order: 3
674
+ }));
675
+ this._register(MenuRegistry.appendMenuItem(MenuId.GlobalActivity, {
676
+ command: {
677
+ id: VIEWLET_ID,
678
+ title: ( localizeWithPath(
679
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
680
+ 'showExtensions',
681
+ "Extensions"
682
+ ))
683
+ },
684
+ group: '2_configuration',
685
+ order: 3
686
+ }));
687
+ this.registerExtensionAction({
688
+ id: 'workbench.extensions.action.focusExtensionsView',
689
+ title: ( localize2WithPath(
690
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
691
+ 'focusExtensions',
692
+ 'Focus on Extensions View'
693
+ )),
694
+ category: ExtensionsLocalizedLabel,
695
+ f1: true,
696
+ run: async (accessor) => {
697
+ await accessor.get(IPaneCompositePartService).openPaneComposite(VIEWLET_ID, 0 , true);
698
+ }
699
+ });
700
+ this.registerExtensionAction({
701
+ id: 'workbench.extensions.action.installExtensions',
702
+ title: ( localize2WithPath(
703
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
704
+ 'installExtensions',
705
+ 'Install Extensions'
706
+ )),
707
+ category: ExtensionsLocalizedLabel,
708
+ menu: {
709
+ id: MenuId.CommandPalette,
710
+ when: ( ContextKeyExpr.and(CONTEXT_HAS_GALLERY, ( ContextKeyExpr.or(
711
+ CONTEXT_HAS_LOCAL_SERVER,
712
+ CONTEXT_HAS_REMOTE_SERVER,
713
+ CONTEXT_HAS_WEB_SERVER
714
+ ))))
715
+ },
716
+ run: async (accessor) => {
717
+ accessor.get(IViewsService).openViewContainer(VIEWLET_ID, true);
718
+ }
719
+ });
720
+ this.registerExtensionAction({
721
+ id: 'workbench.extensions.action.showRecommendedKeymapExtensions',
722
+ title: ( localize2WithPath(
723
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
724
+ 'showRecommendedKeymapExtensionsShort',
725
+ 'Keymaps'
726
+ )),
727
+ category: PreferencesLocalizedLabel,
728
+ menu: [{
729
+ id: MenuId.CommandPalette,
730
+ when: CONTEXT_HAS_GALLERY
731
+ }, {
732
+ id: MenuId.EditorTitle,
733
+ when: ( ContextKeyExpr.and(CONTEXT_KEYBINDINGS_EDITOR, CONTEXT_HAS_GALLERY)),
734
+ group: '2_keyboard_discover_actions'
735
+ }],
736
+ menuTitles: {
737
+ [MenuId.EditorTitle.id]: ( localizeWithPath(
738
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
739
+ 'importKeyboardShortcutsFroms',
740
+ "Migrate Keyboard Shortcuts from..."
741
+ ))
742
+ },
743
+ run: () => runAction(this.instantiationService.createInstance(SearchExtensionsAction, '@recommended:keymaps '))
744
+ });
745
+ this.registerExtensionAction({
746
+ id: 'workbench.extensions.action.showLanguageExtensions',
747
+ title: ( localize2WithPath(
748
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
749
+ 'showLanguageExtensionsShort',
750
+ 'Language Extensions'
751
+ )),
752
+ category: PreferencesLocalizedLabel,
753
+ menu: {
754
+ id: MenuId.CommandPalette,
755
+ when: CONTEXT_HAS_GALLERY
756
+ },
757
+ run: () => runAction(this.instantiationService.createInstance(SearchExtensionsAction, '@recommended:languages '))
758
+ });
759
+ this.registerExtensionAction({
760
+ id: 'workbench.extensions.action.checkForUpdates',
761
+ title: ( localize2WithPath(
762
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
763
+ 'checkForUpdates',
764
+ 'Check for Extension Updates'
765
+ )),
766
+ category: ExtensionsLocalizedLabel,
767
+ menu: [{
768
+ id: MenuId.CommandPalette,
769
+ when: ( ContextKeyExpr.and(CONTEXT_HAS_GALLERY, ( ContextKeyExpr.or(
770
+ CONTEXT_HAS_LOCAL_SERVER,
771
+ CONTEXT_HAS_REMOTE_SERVER,
772
+ CONTEXT_HAS_WEB_SERVER
773
+ ))))
774
+ }, {
775
+ id: MenuId.ViewContainerTitle,
776
+ when: ( ContextKeyExpr.and(( ContextKeyExpr.equals('viewContainer', VIEWLET_ID)), CONTEXT_HAS_GALLERY)),
777
+ group: '1_updates',
778
+ order: 1
779
+ }],
780
+ run: async () => {
781
+ await this.extensionsWorkbenchService.checkForUpdates();
782
+ const outdated = this.extensionsWorkbenchService.outdated;
783
+ if (outdated.length) {
784
+ return runAction(this.instantiationService.createInstance(SearchExtensionsAction, '@outdated '));
785
+ }
786
+ else {
787
+ return this.dialogService.info(( localizeWithPath(
788
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
789
+ 'noUpdatesAvailable',
790
+ "All extensions are up to date."
791
+ )));
792
+ }
793
+ }
794
+ });
795
+ const autoUpdateExtensionsSubMenu = ( new MenuId('autoUpdateExtensionsSubMenu'));
796
+ MenuRegistry.appendMenuItem(MenuId.ViewContainerTitle, {
797
+ submenu: autoUpdateExtensionsSubMenu,
798
+ title: ( localizeWithPath(
799
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
800
+ 'configure auto updating extensions',
801
+ "Auto Update Extensions"
802
+ )),
803
+ when: ( ContextKeyExpr.and(( ContextKeyExpr.equals('viewContainer', VIEWLET_ID)), CONTEXT_HAS_GALLERY)),
804
+ group: '1_updates',
805
+ order: 5,
806
+ });
807
+ this.registerExtensionAction({
808
+ id: 'configureExtensionsAutoUpdate.all',
809
+ title: ( localizeWithPath(
810
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
811
+ 'configureExtensionsAutoUpdate.all',
812
+ "All Extensions"
813
+ )),
814
+ toggled: ( ContextKeyExpr.and(( ContextKeyExpr.has(`config.${AutoUpdateConfigurationKey}`)), ( ContextKeyExpr.notEquals(`config.${AutoUpdateConfigurationKey}`, 'onlyEnabledExtensions')), ( ContextKeyExpr.notEquals(`config.${AutoUpdateConfigurationKey}`, 'onlySelectedExtensions')))),
815
+ menu: [{
816
+ id: autoUpdateExtensionsSubMenu,
817
+ order: 1,
818
+ }],
819
+ run: (accessor) => accessor.get(IConfigurationService).updateValue(AutoUpdateConfigurationKey, true)
820
+ });
821
+ this.registerExtensionAction({
822
+ id: 'configureExtensionsAutoUpdate.enabled',
823
+ title: ( localizeWithPath(
824
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
825
+ 'configureExtensionsAutoUpdate.enabled',
826
+ "Enabled Extensions"
827
+ )),
828
+ toggled: ( ContextKeyExpr.equals(`config.${AutoUpdateConfigurationKey}`, 'onlyEnabledExtensions')),
829
+ menu: [{
830
+ id: autoUpdateExtensionsSubMenu,
831
+ order: 2,
832
+ }],
833
+ run: (accessor) => accessor.get(IConfigurationService).updateValue(AutoUpdateConfigurationKey, 'onlyEnabledExtensions')
834
+ });
835
+ this.registerExtensionAction({
836
+ id: 'configureExtensionsAutoUpdate.selected',
837
+ title: ( localizeWithPath(
838
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
839
+ 'configureExtensionsAutoUpdate.selected',
840
+ "Selected Extensions"
841
+ )),
842
+ toggled: ( ContextKeyExpr.equals(`config.${AutoUpdateConfigurationKey}`, 'onlySelectedExtensions')),
843
+ menu: [{
844
+ id: autoUpdateExtensionsSubMenu,
845
+ order: 2,
846
+ }],
847
+ run: (accessor) => accessor.get(IConfigurationService).updateValue(AutoUpdateConfigurationKey, 'onlySelectedExtensions')
848
+ });
849
+ this.registerExtensionAction({
850
+ id: 'configureExtensionsAutoUpdate.none',
851
+ title: ( localizeWithPath(
852
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
853
+ 'configureExtensionsAutoUpdate.none',
854
+ "None"
855
+ )),
856
+ toggled: ( ContextKeyExpr.equals(`config.${AutoUpdateConfigurationKey}`, false)),
857
+ menu: [{
858
+ id: autoUpdateExtensionsSubMenu,
859
+ order: 3,
860
+ }],
861
+ run: (accessor) => accessor.get(IConfigurationService).updateValue(AutoUpdateConfigurationKey, false)
862
+ });
863
+ this.registerExtensionAction({
864
+ id: 'workbench.extensions.action.updateAllExtensions',
865
+ title: ( localize2WithPath(
866
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
867
+ 'updateAll',
868
+ 'Update All Extensions'
869
+ )),
870
+ category: ExtensionsLocalizedLabel,
871
+ precondition: HasOutdatedExtensionsContext,
872
+ menu: [
873
+ {
874
+ id: MenuId.CommandPalette,
875
+ when: ( ContextKeyExpr.and(CONTEXT_HAS_GALLERY, ( ContextKeyExpr.or(
876
+ CONTEXT_HAS_LOCAL_SERVER,
877
+ CONTEXT_HAS_REMOTE_SERVER,
878
+ CONTEXT_HAS_WEB_SERVER
879
+ ))))
880
+ }, {
881
+ id: MenuId.ViewContainerTitle,
882
+ when: ( ContextKeyExpr.and(( ContextKeyExpr.equals('viewContainer', VIEWLET_ID)), ( ContextKeyExpr.or(( ( ContextKeyExpr.has(`config.${AutoUpdateConfigurationKey}`)).negate()), ( ContextKeyExpr.equals(`config.${AutoUpdateConfigurationKey}`, 'onlyEnabledExtensions')))))),
883
+ group: '1_updates',
884
+ order: 2
885
+ }, {
886
+ id: MenuId.ViewTitle,
887
+ when: ( ContextKeyExpr.equals('view', OUTDATED_EXTENSIONS_VIEW_ID)),
888
+ group: 'navigation',
889
+ order: 1
890
+ }
891
+ ],
892
+ icon: installWorkspaceRecommendedIcon,
893
+ run: async () => {
894
+ const outdated = this.extensionsWorkbenchService.outdated;
895
+ const results = await this.extensionsWorkbenchService.updateAll();
896
+ results.forEach((result) => {
897
+ if (result.error) {
898
+ const extension = outdated.find((extension) => areSameExtensions(extension.identifier, result.identifier));
899
+ if (extension) {
900
+ runAction(this.instantiationService.createInstance(PromptExtensionInstallFailureAction, extension, extension.latestVersion, 3 , result.error));
901
+ }
902
+ }
903
+ });
904
+ }
905
+ });
906
+ this.registerExtensionAction({
907
+ id: 'workbench.extensions.action.disableAutoUpdate',
908
+ title: ( localize2WithPath(
909
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
910
+ 'disableAutoUpdate',
911
+ 'Disable Auto Update for All Extensions'
912
+ )),
913
+ category: ExtensionsLocalizedLabel,
914
+ f1: true,
915
+ precondition: CONTEXT_HAS_GALLERY,
916
+ run: (accessor) => accessor.get(IConfigurationService).updateValue(AutoUpdateConfigurationKey, false)
917
+ });
918
+ this.registerExtensionAction({
919
+ id: 'workbench.extensions.action.enableAutoUpdate',
920
+ title: ( localize2WithPath(
921
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
922
+ 'enableAutoUpdate',
923
+ 'Enable Auto Update for All Extensions'
924
+ )),
925
+ category: ExtensionsLocalizedLabel,
926
+ f1: true,
927
+ precondition: CONTEXT_HAS_GALLERY,
928
+ run: (accessor) => accessor.get(IConfigurationService).updateValue(AutoUpdateConfigurationKey, true)
929
+ });
930
+ this.registerExtensionAction({
931
+ id: 'workbench.extensions.action.enableAll',
932
+ title: ( localize2WithPath(
933
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
934
+ 'enableAll',
935
+ 'Enable All Extensions'
936
+ )),
937
+ category: ExtensionsLocalizedLabel,
938
+ menu: [{
939
+ id: MenuId.CommandPalette,
940
+ when: ( ContextKeyExpr.or(
941
+ CONTEXT_HAS_LOCAL_SERVER,
942
+ CONTEXT_HAS_REMOTE_SERVER,
943
+ CONTEXT_HAS_WEB_SERVER
944
+ ))
945
+ }, {
946
+ id: MenuId.ViewContainerTitle,
947
+ when: ( ContextKeyExpr.equals('viewContainer', VIEWLET_ID)),
948
+ group: '2_enablement',
949
+ order: 1
950
+ }],
951
+ run: async () => {
952
+ const extensionsToEnable = this.extensionsWorkbenchService.local.filter(e => !!e.local && this.extensionEnablementService.canChangeEnablement(e.local) && !this.extensionEnablementService.isEnabled(e.local));
953
+ if (extensionsToEnable.length) {
954
+ await this.extensionsWorkbenchService.setEnablement(extensionsToEnable, 8 );
955
+ }
956
+ }
957
+ });
958
+ this.registerExtensionAction({
959
+ id: 'workbench.extensions.action.enableAllWorkspace',
960
+ title: ( localize2WithPath(
961
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
962
+ 'enableAllWorkspace',
963
+ 'Enable All Extensions for this Workspace'
964
+ )),
965
+ category: ExtensionsLocalizedLabel,
966
+ menu: {
967
+ id: MenuId.CommandPalette,
968
+ when: ( ContextKeyExpr.and(( WorkbenchStateContext.notEqualsTo('empty')), ( ContextKeyExpr.or(
969
+ CONTEXT_HAS_LOCAL_SERVER,
970
+ CONTEXT_HAS_REMOTE_SERVER,
971
+ CONTEXT_HAS_WEB_SERVER
972
+ ))))
973
+ },
974
+ run: async () => {
975
+ const extensionsToEnable = this.extensionsWorkbenchService.local.filter(e => !!e.local && this.extensionEnablementService.canChangeEnablement(e.local) && !this.extensionEnablementService.isEnabled(e.local));
976
+ if (extensionsToEnable.length) {
977
+ await this.extensionsWorkbenchService.setEnablement(extensionsToEnable, 9 );
978
+ }
979
+ }
980
+ });
981
+ this.registerExtensionAction({
982
+ id: 'workbench.extensions.action.disableAll',
983
+ title: ( localize2WithPath(
984
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
985
+ 'disableAll',
986
+ 'Disable All Installed Extensions'
987
+ )),
988
+ category: ExtensionsLocalizedLabel,
989
+ menu: [{
990
+ id: MenuId.CommandPalette,
991
+ when: ( ContextKeyExpr.or(
992
+ CONTEXT_HAS_LOCAL_SERVER,
993
+ CONTEXT_HAS_REMOTE_SERVER,
994
+ CONTEXT_HAS_WEB_SERVER
995
+ ))
996
+ }, {
997
+ id: MenuId.ViewContainerTitle,
998
+ when: ( ContextKeyExpr.equals('viewContainer', VIEWLET_ID)),
999
+ group: '2_enablement',
1000
+ order: 2
1001
+ }],
1002
+ run: async () => {
1003
+ const extensionsToDisable = this.extensionsWorkbenchService.local.filter(e => !e.isBuiltin && !!e.local && this.extensionEnablementService.isEnabled(e.local) && this.extensionEnablementService.canChangeEnablement(e.local));
1004
+ if (extensionsToDisable.length) {
1005
+ await this.extensionsWorkbenchService.setEnablement(extensionsToDisable, 6 );
1006
+ }
1007
+ }
1008
+ });
1009
+ this.registerExtensionAction({
1010
+ id: 'workbench.extensions.action.disableAllWorkspace',
1011
+ title: ( localize2WithPath(
1012
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1013
+ 'disableAllWorkspace',
1014
+ 'Disable All Installed Extensions for this Workspace'
1015
+ )),
1016
+ category: ExtensionsLocalizedLabel,
1017
+ menu: {
1018
+ id: MenuId.CommandPalette,
1019
+ when: ( ContextKeyExpr.and(( WorkbenchStateContext.notEqualsTo('empty')), ( ContextKeyExpr.or(
1020
+ CONTEXT_HAS_LOCAL_SERVER,
1021
+ CONTEXT_HAS_REMOTE_SERVER,
1022
+ CONTEXT_HAS_WEB_SERVER
1023
+ ))))
1024
+ },
1025
+ run: async () => {
1026
+ const extensionsToDisable = this.extensionsWorkbenchService.local.filter(e => !e.isBuiltin && !!e.local && this.extensionEnablementService.isEnabled(e.local) && this.extensionEnablementService.canChangeEnablement(e.local));
1027
+ if (extensionsToDisable.length) {
1028
+ await this.extensionsWorkbenchService.setEnablement(extensionsToDisable, 7 );
1029
+ }
1030
+ }
1031
+ });
1032
+ this.registerExtensionAction({
1033
+ id: SELECT_INSTALL_VSIX_EXTENSION_COMMAND_ID,
1034
+ title: ( localize2WithPath(
1035
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1036
+ 'InstallFromVSIX',
1037
+ 'Install from VSIX...'
1038
+ )),
1039
+ category: ExtensionsLocalizedLabel,
1040
+ menu: [{
1041
+ id: MenuId.CommandPalette,
1042
+ when: ( ContextKeyExpr.or(CONTEXT_HAS_LOCAL_SERVER, CONTEXT_HAS_REMOTE_SERVER))
1043
+ }, {
1044
+ id: MenuId.ViewContainerTitle,
1045
+ when: ( ContextKeyExpr.and(( ContextKeyExpr.equals('viewContainer', VIEWLET_ID)), ( ContextKeyExpr.or(CONTEXT_HAS_LOCAL_SERVER, CONTEXT_HAS_REMOTE_SERVER)))),
1046
+ group: '3_install',
1047
+ order: 1
1048
+ }],
1049
+ run: async (accessor) => {
1050
+ const fileDialogService = accessor.get(IFileDialogService);
1051
+ const commandService = accessor.get(ICommandService);
1052
+ const vsixPaths = await fileDialogService.showOpenDialog({
1053
+ title: ( localizeWithPath(
1054
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1055
+ 'installFromVSIX',
1056
+ "Install from VSIX"
1057
+ )),
1058
+ filters: [{ name: 'VSIX Extensions', extensions: ['vsix'] }],
1059
+ canSelectFiles: true,
1060
+ canSelectMany: true,
1061
+ openLabel: mnemonicButtonLabel(( localizeWithPath(
1062
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1063
+ { key: 'installButton', comment: ['&& denotes a mnemonic'] },
1064
+ "&&Install"
1065
+ )))
1066
+ });
1067
+ if (vsixPaths) {
1068
+ await commandService.executeCommand(INSTALL_EXTENSION_FROM_VSIX_COMMAND_ID, vsixPaths);
1069
+ }
1070
+ }
1071
+ });
1072
+ this.registerExtensionAction({
1073
+ id: INSTALL_EXTENSION_FROM_VSIX_COMMAND_ID,
1074
+ title: ( localizeWithPath(
1075
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1076
+ 'installVSIX',
1077
+ "Install Extension VSIX"
1078
+ )),
1079
+ menu: [{
1080
+ id: MenuId.ExplorerContext,
1081
+ group: 'extensions',
1082
+ when: ( ContextKeyExpr.and(( ResourceContextKey.Extension.isEqualTo('.vsix')), ( ContextKeyExpr.or(CONTEXT_HAS_LOCAL_SERVER, CONTEXT_HAS_REMOTE_SERVER)))),
1083
+ }],
1084
+ run: async (accessor, resources) => {
1085
+ const extensionService = accessor.get(IExtensionService);
1086
+ const extensionsWorkbenchService = accessor.get(IExtensionsWorkbenchService);
1087
+ const hostService = accessor.get(IHostService);
1088
+ const notificationService = accessor.get(INotificationService);
1089
+ const extensions = Array.isArray(resources) ? resources : [resources];
1090
+ await Promises.settled(( extensions.map(async (vsix) => await extensionsWorkbenchService.install(vsix))))
1091
+ .then(async (extensions) => {
1092
+ for (const extension of extensions) {
1093
+ const requireReload = !(extension.local && extensionService.canAddExtension(toExtensionDescription(extension.local)));
1094
+ const message = requireReload ? ( localizeWithPath(
1095
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1096
+ 'InstallVSIXAction.successReload',
1097
+ "Completed installing {0} extension from VSIX. Please reload Visual Studio Code to enable it.",
1098
+ extension.displayName || extension.name
1099
+ ))
1100
+ : ( localizeWithPath(
1101
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1102
+ 'InstallVSIXAction.success',
1103
+ "Completed installing {0} extension from VSIX.",
1104
+ extension.displayName || extension.name
1105
+ ));
1106
+ const actions = requireReload ? [{
1107
+ label: ( localizeWithPath(
1108
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1109
+ 'InstallVSIXAction.reloadNow',
1110
+ "Reload Now"
1111
+ )),
1112
+ run: () => hostService.reload()
1113
+ }] : [];
1114
+ notificationService.prompt(Severity.Info, message, actions);
1115
+ }
1116
+ });
1117
+ }
1118
+ });
1119
+ this.registerExtensionAction({
1120
+ id: 'workbench.extensions.action.installExtensionFromLocation',
1121
+ title: ( localize2WithPath(
1122
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1123
+ 'installExtensionFromLocation',
1124
+ 'Install Extension from Location...'
1125
+ )),
1126
+ category: Categories.Developer,
1127
+ menu: [{
1128
+ id: MenuId.CommandPalette,
1129
+ when: ( ContextKeyExpr.or(CONTEXT_HAS_WEB_SERVER, CONTEXT_HAS_LOCAL_SERVER))
1130
+ }],
1131
+ run: async (accessor) => {
1132
+ const extensionManagementService = accessor.get(IWorkbenchExtensionManagementService);
1133
+ if (isWeb) {
1134
+ return ( new Promise((c, e) => {
1135
+ const quickInputService = accessor.get(IQuickInputService);
1136
+ const disposables = ( new DisposableStore());
1137
+ const quickPick = disposables.add(quickInputService.createQuickPick());
1138
+ quickPick.title = ( localizeWithPath(
1139
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1140
+ 'installFromLocation',
1141
+ "Install Extension from Location"
1142
+ ));
1143
+ quickPick.customButton = true;
1144
+ quickPick.customLabel = ( localizeWithPath(
1145
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1146
+ 'install button',
1147
+ "Install"
1148
+ ));
1149
+ quickPick.placeholder = ( localizeWithPath(
1150
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1151
+ 'installFromLocationPlaceHolder',
1152
+ "Location of the web extension"
1153
+ ));
1154
+ quickPick.ignoreFocusOut = true;
1155
+ disposables.add(Event.any(quickPick.onDidAccept, quickPick.onDidCustom)(async () => {
1156
+ quickPick.hide();
1157
+ if (quickPick.value) {
1158
+ try {
1159
+ await extensionManagementService.installFromLocation(( URI.parse(quickPick.value)));
1160
+ }
1161
+ catch (error) {
1162
+ e(error);
1163
+ return;
1164
+ }
1165
+ }
1166
+ c();
1167
+ }));
1168
+ disposables.add(quickPick.onDidHide(() => disposables.dispose()));
1169
+ quickPick.show();
1170
+ }));
1171
+ }
1172
+ else {
1173
+ const fileDialogService = accessor.get(IFileDialogService);
1174
+ const extensionLocation = await fileDialogService.showOpenDialog({
1175
+ canSelectFolders: true,
1176
+ canSelectFiles: false,
1177
+ canSelectMany: false,
1178
+ title: ( localizeWithPath(
1179
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1180
+ 'installFromLocation',
1181
+ "Install Extension from Location"
1182
+ )),
1183
+ });
1184
+ if (extensionLocation?.[0]) {
1185
+ await extensionManagementService.installFromLocation(extensionLocation[0]);
1186
+ }
1187
+ }
1188
+ }
1189
+ });
1190
+ const extensionsFilterSubMenu = ( new MenuId('extensionsFilterSubMenu'));
1191
+ MenuRegistry.appendMenuItem(extensionsSearchActionsMenu, {
1192
+ submenu: extensionsFilterSubMenu,
1193
+ title: ( localizeWithPath(
1194
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1195
+ 'filterExtensions',
1196
+ "Filter Extensions..."
1197
+ )),
1198
+ group: 'navigation',
1199
+ order: 2,
1200
+ icon: filterIcon,
1201
+ });
1202
+ const showFeaturedExtensionsId = 'extensions.filter.featured';
1203
+ this.registerExtensionAction({
1204
+ id: showFeaturedExtensionsId,
1205
+ title: ( localize2WithPath(
1206
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1207
+ 'showFeaturedExtensions',
1208
+ 'Show Featured Extensions'
1209
+ )),
1210
+ category: ExtensionsLocalizedLabel,
1211
+ menu: [{
1212
+ id: MenuId.CommandPalette,
1213
+ when: CONTEXT_HAS_GALLERY
1214
+ }, {
1215
+ id: extensionsFilterSubMenu,
1216
+ when: CONTEXT_HAS_GALLERY,
1217
+ group: '1_predefined',
1218
+ order: 1,
1219
+ }],
1220
+ menuTitles: {
1221
+ [extensionsFilterSubMenu.id]: ( localizeWithPath(
1222
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1223
+ 'featured filter',
1224
+ "Featured"
1225
+ ))
1226
+ },
1227
+ run: () => runAction(this.instantiationService.createInstance(SearchExtensionsAction, '@featured '))
1228
+ });
1229
+ this.registerExtensionAction({
1230
+ id: 'workbench.extensions.action.showPopularExtensions',
1231
+ title: ( localize2WithPath(
1232
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1233
+ 'showPopularExtensions',
1234
+ 'Show Popular Extensions'
1235
+ )),
1236
+ category: ExtensionsLocalizedLabel,
1237
+ menu: [{
1238
+ id: MenuId.CommandPalette,
1239
+ when: CONTEXT_HAS_GALLERY
1240
+ }, {
1241
+ id: extensionsFilterSubMenu,
1242
+ when: CONTEXT_HAS_GALLERY,
1243
+ group: '1_predefined',
1244
+ order: 2,
1245
+ }],
1246
+ menuTitles: {
1247
+ [extensionsFilterSubMenu.id]: ( localizeWithPath(
1248
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1249
+ 'most popular filter',
1250
+ "Most Popular"
1251
+ ))
1252
+ },
1253
+ run: () => runAction(this.instantiationService.createInstance(SearchExtensionsAction, '@popular '))
1254
+ });
1255
+ this.registerExtensionAction({
1256
+ id: 'workbench.extensions.action.showRecommendedExtensions',
1257
+ title: ( localize2WithPath(
1258
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1259
+ 'showRecommendedExtensions',
1260
+ 'Show Recommended Extensions'
1261
+ )),
1262
+ category: ExtensionsLocalizedLabel,
1263
+ menu: [{
1264
+ id: MenuId.CommandPalette,
1265
+ when: CONTEXT_HAS_GALLERY
1266
+ }, {
1267
+ id: extensionsFilterSubMenu,
1268
+ when: CONTEXT_HAS_GALLERY,
1269
+ group: '1_predefined',
1270
+ order: 2,
1271
+ }],
1272
+ menuTitles: {
1273
+ [extensionsFilterSubMenu.id]: ( localizeWithPath(
1274
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1275
+ 'most popular recommended',
1276
+ "Recommended"
1277
+ ))
1278
+ },
1279
+ run: () => runAction(this.instantiationService.createInstance(SearchExtensionsAction, '@recommended '))
1280
+ });
1281
+ this.registerExtensionAction({
1282
+ id: 'workbench.extensions.action.recentlyPublishedExtensions',
1283
+ title: ( localize2WithPath(
1284
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1285
+ 'recentlyPublishedExtensions',
1286
+ 'Show Recently Published Extensions'
1287
+ )),
1288
+ category: ExtensionsLocalizedLabel,
1289
+ menu: [{
1290
+ id: MenuId.CommandPalette,
1291
+ when: CONTEXT_HAS_GALLERY
1292
+ }, {
1293
+ id: extensionsFilterSubMenu,
1294
+ when: CONTEXT_HAS_GALLERY,
1295
+ group: '1_predefined',
1296
+ order: 2,
1297
+ }],
1298
+ menuTitles: {
1299
+ [extensionsFilterSubMenu.id]: ( localizeWithPath(
1300
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1301
+ 'recently published filter',
1302
+ "Recently Published"
1303
+ ))
1304
+ },
1305
+ run: () => runAction(this.instantiationService.createInstance(SearchExtensionsAction, '@recentlyPublished '))
1306
+ });
1307
+ const extensionsCategoryFilterSubMenu = ( new MenuId('extensionsCategoryFilterSubMenu'));
1308
+ MenuRegistry.appendMenuItem(extensionsFilterSubMenu, {
1309
+ submenu: extensionsCategoryFilterSubMenu,
1310
+ title: ( localizeWithPath(
1311
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1312
+ 'filter by category',
1313
+ "Category"
1314
+ )),
1315
+ when: CONTEXT_HAS_GALLERY,
1316
+ group: '2_categories',
1317
+ order: 1,
1318
+ });
1319
+ EXTENSION_CATEGORIES.forEach((category, index) => {
1320
+ this.registerExtensionAction({
1321
+ id: `extensions.actions.searchByCategory.${category}`,
1322
+ title: category,
1323
+ menu: [{
1324
+ id: extensionsCategoryFilterSubMenu,
1325
+ when: CONTEXT_HAS_GALLERY,
1326
+ order: index,
1327
+ }],
1328
+ run: () => runAction(this.instantiationService.createInstance(SearchExtensionsAction, `@category:"${category.toLowerCase()}"`))
1329
+ });
1330
+ });
1331
+ this.registerExtensionAction({
1332
+ id: 'workbench.extensions.action.listBuiltInExtensions',
1333
+ title: ( localize2WithPath(
1334
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1335
+ 'showBuiltInExtensions',
1336
+ 'Show Built-in Extensions'
1337
+ )),
1338
+ category: ExtensionsLocalizedLabel,
1339
+ menu: [{
1340
+ id: MenuId.CommandPalette,
1341
+ when: ( ContextKeyExpr.or(
1342
+ CONTEXT_HAS_LOCAL_SERVER,
1343
+ CONTEXT_HAS_REMOTE_SERVER,
1344
+ CONTEXT_HAS_WEB_SERVER
1345
+ ))
1346
+ }, {
1347
+ id: extensionsFilterSubMenu,
1348
+ group: '3_installed',
1349
+ order: 2,
1350
+ }],
1351
+ menuTitles: {
1352
+ [extensionsFilterSubMenu.id]: ( localizeWithPath(
1353
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1354
+ 'builtin filter',
1355
+ "Built-in"
1356
+ ))
1357
+ },
1358
+ run: () => runAction(this.instantiationService.createInstance(SearchExtensionsAction, '@builtin '))
1359
+ });
1360
+ this.registerExtensionAction({
1361
+ id: 'workbench.extensions.action.extensionUpdates',
1362
+ title: ( localize2WithPath(
1363
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1364
+ 'extensionUpdates',
1365
+ 'Show Extension Updates'
1366
+ )),
1367
+ category: ExtensionsLocalizedLabel,
1368
+ precondition: CONTEXT_HAS_GALLERY,
1369
+ f1: true,
1370
+ menu: [{
1371
+ id: extensionsFilterSubMenu,
1372
+ group: '3_installed',
1373
+ when: CONTEXT_HAS_GALLERY,
1374
+ order: 1,
1375
+ }],
1376
+ menuTitles: {
1377
+ [extensionsFilterSubMenu.id]: ( localizeWithPath(
1378
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1379
+ 'extension updates filter',
1380
+ "Updates"
1381
+ ))
1382
+ },
1383
+ run: () => runAction(this.instantiationService.createInstance(SearchExtensionsAction, '@updates'))
1384
+ });
1385
+ this.registerExtensionAction({
1386
+ id: LIST_WORKSPACE_UNSUPPORTED_EXTENSIONS_COMMAND_ID,
1387
+ title: ( localize2WithPath(
1388
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1389
+ 'showWorkspaceUnsupportedExtensions',
1390
+ 'Show Extensions Unsupported By Workspace'
1391
+ )),
1392
+ category: ExtensionsLocalizedLabel,
1393
+ menu: [{
1394
+ id: MenuId.CommandPalette,
1395
+ when: ( ContextKeyExpr.or(CONTEXT_HAS_LOCAL_SERVER, CONTEXT_HAS_REMOTE_SERVER)),
1396
+ }, {
1397
+ id: extensionsFilterSubMenu,
1398
+ group: '3_installed',
1399
+ order: 5,
1400
+ when: ( ContextKeyExpr.or(CONTEXT_HAS_LOCAL_SERVER, CONTEXT_HAS_REMOTE_SERVER)),
1401
+ }],
1402
+ menuTitles: {
1403
+ [extensionsFilterSubMenu.id]: ( localizeWithPath(
1404
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1405
+ 'workspace unsupported filter',
1406
+ "Workspace Unsupported"
1407
+ ))
1408
+ },
1409
+ run: () => runAction(this.instantiationService.createInstance(SearchExtensionsAction, '@workspaceUnsupported'))
1410
+ });
1411
+ this.registerExtensionAction({
1412
+ id: 'workbench.extensions.action.showEnabledExtensions',
1413
+ title: ( localize2WithPath(
1414
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1415
+ 'showEnabledExtensions',
1416
+ 'Show Enabled Extensions'
1417
+ )),
1418
+ category: ExtensionsLocalizedLabel,
1419
+ menu: [{
1420
+ id: MenuId.CommandPalette,
1421
+ when: ( ContextKeyExpr.or(
1422
+ CONTEXT_HAS_LOCAL_SERVER,
1423
+ CONTEXT_HAS_REMOTE_SERVER,
1424
+ CONTEXT_HAS_WEB_SERVER
1425
+ ))
1426
+ }, {
1427
+ id: extensionsFilterSubMenu,
1428
+ group: '3_installed',
1429
+ order: 3,
1430
+ }],
1431
+ menuTitles: {
1432
+ [extensionsFilterSubMenu.id]: ( localizeWithPath(
1433
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1434
+ 'enabled filter',
1435
+ "Enabled"
1436
+ ))
1437
+ },
1438
+ run: () => runAction(this.instantiationService.createInstance(SearchExtensionsAction, '@enabled '))
1439
+ });
1440
+ this.registerExtensionAction({
1441
+ id: 'workbench.extensions.action.showDisabledExtensions',
1442
+ title: ( localize2WithPath(
1443
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1444
+ 'showDisabledExtensions',
1445
+ 'Show Disabled Extensions'
1446
+ )),
1447
+ category: ExtensionsLocalizedLabel,
1448
+ menu: [{
1449
+ id: MenuId.CommandPalette,
1450
+ when: ( ContextKeyExpr.or(
1451
+ CONTEXT_HAS_LOCAL_SERVER,
1452
+ CONTEXT_HAS_REMOTE_SERVER,
1453
+ CONTEXT_HAS_WEB_SERVER
1454
+ ))
1455
+ }, {
1456
+ id: extensionsFilterSubMenu,
1457
+ group: '3_installed',
1458
+ order: 4,
1459
+ }],
1460
+ menuTitles: {
1461
+ [extensionsFilterSubMenu.id]: ( localizeWithPath(
1462
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1463
+ 'disabled filter',
1464
+ "Disabled"
1465
+ ))
1466
+ },
1467
+ run: () => runAction(this.instantiationService.createInstance(SearchExtensionsAction, '@disabled '))
1468
+ });
1469
+ const extensionsSortSubMenu = ( new MenuId('extensionsSortSubMenu'));
1470
+ MenuRegistry.appendMenuItem(extensionsFilterSubMenu, {
1471
+ submenu: extensionsSortSubMenu,
1472
+ title: ( localizeWithPath(
1473
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1474
+ 'sorty by',
1475
+ "Sort By"
1476
+ )),
1477
+ when: ( ContextKeyExpr.and(( ContextKeyExpr.or(CONTEXT_HAS_GALLERY, DefaultViewsContext)))),
1478
+ group: '4_sort',
1479
+ order: 1,
1480
+ });
1481
+ this.registerExtensionAction({
1482
+ id: 'workbench.extensions.action.clearExtensionsSearchResults',
1483
+ title: ( localize2WithPath(
1484
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1485
+ 'clearExtensionsSearchResults',
1486
+ 'Clear Extensions Search Results'
1487
+ )),
1488
+ category: ExtensionsLocalizedLabel,
1489
+ icon: clearSearchResultsIcon,
1490
+ f1: true,
1491
+ precondition: SearchHasTextContext,
1492
+ menu: {
1493
+ id: extensionsSearchActionsMenu,
1494
+ group: 'navigation',
1495
+ order: 1,
1496
+ },
1497
+ run: async (accessor) => {
1498
+ const viewPaneContainer = accessor.get(IViewsService).getActiveViewPaneContainerWithId(VIEWLET_ID);
1499
+ if (viewPaneContainer) {
1500
+ const extensionsViewPaneContainer = viewPaneContainer;
1501
+ extensionsViewPaneContainer.search('');
1502
+ extensionsViewPaneContainer.focus();
1503
+ }
1504
+ }
1505
+ });
1506
+ this.registerExtensionAction({
1507
+ id: 'workbench.extensions.action.refreshExtension',
1508
+ title: ( localize2WithPath(
1509
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1510
+ 'refreshExtension',
1511
+ 'Refresh'
1512
+ )),
1513
+ category: ExtensionsLocalizedLabel,
1514
+ icon: refreshIcon,
1515
+ f1: true,
1516
+ menu: {
1517
+ id: MenuId.ViewContainerTitle,
1518
+ when: ( ContextKeyExpr.equals('viewContainer', VIEWLET_ID)),
1519
+ group: 'navigation',
1520
+ order: 2
1521
+ },
1522
+ run: async (accessor) => {
1523
+ const viewPaneContainer = accessor.get(IViewsService).getActiveViewPaneContainerWithId(VIEWLET_ID);
1524
+ if (viewPaneContainer) {
1525
+ await viewPaneContainer.refresh();
1526
+ }
1527
+ }
1528
+ });
1529
+ this.registerExtensionAction({
1530
+ id: 'workbench.extensions.action.installWorkspaceRecommendedExtensions',
1531
+ title: ( localizeWithPath(
1532
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1533
+ 'installWorkspaceRecommendedExtensions',
1534
+ "Install Workspace Recommended Extensions"
1535
+ )),
1536
+ icon: installWorkspaceRecommendedIcon,
1537
+ menu: {
1538
+ id: MenuId.ViewTitle,
1539
+ when: ( ContextKeyExpr.equals('view', WORKSPACE_RECOMMENDATIONS_VIEW_ID)),
1540
+ group: 'navigation',
1541
+ order: 1
1542
+ },
1543
+ run: async (accessor) => {
1544
+ const view = accessor.get(IViewsService).getActiveViewWithId(WORKSPACE_RECOMMENDATIONS_VIEW_ID);
1545
+ return view.installWorkspaceRecommendations();
1546
+ }
1547
+ });
1548
+ this.registerExtensionAction({
1549
+ id: ConfigureWorkspaceFolderRecommendedExtensionsAction.ID,
1550
+ title: ConfigureWorkspaceFolderRecommendedExtensionsAction.LABEL,
1551
+ icon: configureRecommendedIcon,
1552
+ menu: [{
1553
+ id: MenuId.CommandPalette,
1554
+ when: ( WorkbenchStateContext.notEqualsTo('empty')),
1555
+ }, {
1556
+ id: MenuId.ViewTitle,
1557
+ when: ( ContextKeyExpr.equals('view', WORKSPACE_RECOMMENDATIONS_VIEW_ID)),
1558
+ group: 'navigation',
1559
+ order: 2
1560
+ }],
1561
+ run: () => runAction(this.instantiationService.createInstance(ConfigureWorkspaceFolderRecommendedExtensionsAction, ConfigureWorkspaceFolderRecommendedExtensionsAction.ID, ConfigureWorkspaceFolderRecommendedExtensionsAction.LABEL))
1562
+ });
1563
+ this.registerExtensionAction({
1564
+ id: InstallSpecificVersionOfExtensionAction.ID,
1565
+ title: { value: InstallSpecificVersionOfExtensionAction.LABEL, original: 'Install Specific Version of Extension...' },
1566
+ category: ExtensionsLocalizedLabel,
1567
+ menu: {
1568
+ id: MenuId.CommandPalette,
1569
+ when: ( ContextKeyExpr.and(CONTEXT_HAS_GALLERY, ( ContextKeyExpr.or(
1570
+ CONTEXT_HAS_LOCAL_SERVER,
1571
+ CONTEXT_HAS_REMOTE_SERVER,
1572
+ CONTEXT_HAS_WEB_SERVER
1573
+ ))))
1574
+ },
1575
+ run: () => runAction(this.instantiationService.createInstance(InstallSpecificVersionOfExtensionAction, InstallSpecificVersionOfExtensionAction.ID, InstallSpecificVersionOfExtensionAction.LABEL))
1576
+ });
1577
+ this.registerExtensionAction({
1578
+ id: ReinstallAction.ID,
1579
+ title: { value: ReinstallAction.LABEL, original: 'Reinstall Extension...' },
1580
+ category: Categories.Developer,
1581
+ menu: {
1582
+ id: MenuId.CommandPalette,
1583
+ when: ( ContextKeyExpr.and(CONTEXT_HAS_GALLERY, ( ContextKeyExpr.or(CONTEXT_HAS_LOCAL_SERVER, CONTEXT_HAS_REMOTE_SERVER))))
1584
+ },
1585
+ run: () => runAction(this.instantiationService.createInstance(ReinstallAction, ReinstallAction.ID, ReinstallAction.LABEL))
1586
+ });
1587
+ }
1588
+ registerContextMenuActions() {
1589
+ this.registerExtensionAction({
1590
+ id: SetColorThemeAction.ID,
1591
+ title: SetColorThemeAction.TITLE,
1592
+ menu: {
1593
+ id: MenuId.ExtensionContext,
1594
+ group: THEME_ACTIONS_GROUP,
1595
+ order: 0,
1596
+ when: ( ContextKeyExpr.and(ContextKeyExpr.not('inExtensionEditor'), ( ContextKeyExpr.equals('extensionStatus', 'installed')), ( ContextKeyExpr.has('extensionHasColorThemes'))))
1597
+ },
1598
+ run: async (accessor, extensionId) => {
1599
+ const extensionWorkbenchService = accessor.get(IExtensionsWorkbenchService);
1600
+ const instantiationService = accessor.get(IInstantiationService);
1601
+ const extension = extensionWorkbenchService.local.find(e => areSameExtensions(e.identifier, { id: extensionId }));
1602
+ if (extension) {
1603
+ const action = instantiationService.createInstance(SetColorThemeAction);
1604
+ action.extension = extension;
1605
+ return action.run();
1606
+ }
1607
+ }
1608
+ });
1609
+ this.registerExtensionAction({
1610
+ id: SetFileIconThemeAction.ID,
1611
+ title: SetFileIconThemeAction.TITLE,
1612
+ menu: {
1613
+ id: MenuId.ExtensionContext,
1614
+ group: THEME_ACTIONS_GROUP,
1615
+ order: 0,
1616
+ when: ( ContextKeyExpr.and(ContextKeyExpr.not('inExtensionEditor'), ( ContextKeyExpr.equals('extensionStatus', 'installed')), ( ContextKeyExpr.has('extensionHasFileIconThemes'))))
1617
+ },
1618
+ run: async (accessor, extensionId) => {
1619
+ const extensionWorkbenchService = accessor.get(IExtensionsWorkbenchService);
1620
+ const instantiationService = accessor.get(IInstantiationService);
1621
+ const extension = extensionWorkbenchService.local.find(e => areSameExtensions(e.identifier, { id: extensionId }));
1622
+ if (extension) {
1623
+ const action = instantiationService.createInstance(SetFileIconThemeAction);
1624
+ action.extension = extension;
1625
+ return action.run();
1626
+ }
1627
+ }
1628
+ });
1629
+ this.registerExtensionAction({
1630
+ id: SetProductIconThemeAction.ID,
1631
+ title: SetProductIconThemeAction.TITLE,
1632
+ menu: {
1633
+ id: MenuId.ExtensionContext,
1634
+ group: THEME_ACTIONS_GROUP,
1635
+ order: 0,
1636
+ when: ( ContextKeyExpr.and(ContextKeyExpr.not('inExtensionEditor'), ( ContextKeyExpr.equals('extensionStatus', 'installed')), ( ContextKeyExpr.has('extensionHasProductIconThemes'))))
1637
+ },
1638
+ run: async (accessor, extensionId) => {
1639
+ const extensionWorkbenchService = accessor.get(IExtensionsWorkbenchService);
1640
+ const instantiationService = accessor.get(IInstantiationService);
1641
+ const extension = extensionWorkbenchService.local.find(e => areSameExtensions(e.identifier, { id: extensionId }));
1642
+ if (extension) {
1643
+ const action = instantiationService.createInstance(SetProductIconThemeAction);
1644
+ action.extension = extension;
1645
+ return action.run();
1646
+ }
1647
+ }
1648
+ });
1649
+ this.registerExtensionAction({
1650
+ id: 'workbench.extensions.action.showPreReleaseVersion',
1651
+ title: ( localize2WithPath(
1652
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1653
+ 'show pre-release version',
1654
+ 'Show Pre-Release Version'
1655
+ )),
1656
+ menu: {
1657
+ id: MenuId.ExtensionContext,
1658
+ group: INSTALL_ACTIONS_GROUP,
1659
+ order: 0,
1660
+ when: ( ContextKeyExpr.and(( ContextKeyExpr.has('inExtensionEditor')), ( ContextKeyExpr.has('galleryExtensionHasPreReleaseVersion')), ContextKeyExpr.not('showPreReleaseVersion'), ContextKeyExpr.not('isBuiltinExtension')))
1661
+ },
1662
+ run: async (accessor, extensionId) => {
1663
+ const extensionWorkbenchService = accessor.get(IExtensionsWorkbenchService);
1664
+ const extension = (await extensionWorkbenchService.getExtensions([{ id: extensionId }], CancellationToken.None))[0];
1665
+ extensionWorkbenchService.open(extension, { showPreReleaseVersion: true });
1666
+ }
1667
+ });
1668
+ this.registerExtensionAction({
1669
+ id: 'workbench.extensions.action.showReleasedVersion',
1670
+ title: ( localize2WithPath(
1671
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1672
+ 'show released version',
1673
+ 'Show Release Version'
1674
+ )),
1675
+ menu: {
1676
+ id: MenuId.ExtensionContext,
1677
+ group: INSTALL_ACTIONS_GROUP,
1678
+ order: 1,
1679
+ when: ( ContextKeyExpr.and(( ContextKeyExpr.has('inExtensionEditor')), ( ContextKeyExpr.has('galleryExtensionHasPreReleaseVersion')), ( ContextKeyExpr.has('extensionHasReleaseVersion')), ( ContextKeyExpr.has('showPreReleaseVersion')), ContextKeyExpr.not('isBuiltinExtension')))
1680
+ },
1681
+ run: async (accessor, extensionId) => {
1682
+ const extensionWorkbenchService = accessor.get(IExtensionsWorkbenchService);
1683
+ const extension = (await extensionWorkbenchService.getExtensions([{ id: extensionId }], CancellationToken.None))[0];
1684
+ extensionWorkbenchService.open(extension, { showPreReleaseVersion: false });
1685
+ }
1686
+ });
1687
+ this.registerExtensionAction({
1688
+ id: ToggleAutoUpdateForExtensionAction.ID,
1689
+ title: ToggleAutoUpdateForExtensionAction.LABEL,
1690
+ category: ExtensionsLocalizedLabel,
1691
+ menu: {
1692
+ id: MenuId.ExtensionContext,
1693
+ group: UPDATE_ACTIONS_GROUP,
1694
+ order: 1,
1695
+ when: ( ContextKeyExpr.and(ContextKeyExpr.not('inExtensionEditor'), ( ContextKeyExpr.equals('extensionStatus', 'installed')), ContextKeyExpr.not('isBuiltinExtension'), ( ContextKeyExpr.or(( ContextKeyExpr.equals(`config.${AutoUpdateConfigurationKey}`, 'onlySelectedExtensions')), ( ContextKeyExpr.equals(`config.${AutoUpdateConfigurationKey}`, false))))))
1696
+ },
1697
+ run: async (accessor, id) => {
1698
+ const instantiationService = accessor.get(IInstantiationService);
1699
+ const extensionWorkbenchService = accessor.get(IExtensionsWorkbenchService);
1700
+ const extension = extensionWorkbenchService.local.find(e => areSameExtensions(e.identifier, { id }));
1701
+ if (extension) {
1702
+ const action = instantiationService.createInstance(ToggleAutoUpdateForExtensionAction, false, []);
1703
+ action.extension = extension;
1704
+ return action.run();
1705
+ }
1706
+ }
1707
+ });
1708
+ this.registerExtensionAction({
1709
+ id: ToggleAutoUpdatesForPublisherAction.ID,
1710
+ title: { value: ToggleAutoUpdatesForPublisherAction.LABEL, original: 'Auto Update (Publisher)' },
1711
+ category: ExtensionsLocalizedLabel,
1712
+ menu: {
1713
+ id: MenuId.ExtensionContext,
1714
+ group: UPDATE_ACTIONS_GROUP,
1715
+ order: 2,
1716
+ when: ( ContextKeyExpr.and(( ContextKeyExpr.equals('extensionStatus', 'installed')), ContextKeyExpr.not('isBuiltinExtension'), ( ContextKeyExpr.or(( ContextKeyExpr.equals(`config.${AutoUpdateConfigurationKey}`, 'onlySelectedExtensions')), ( ContextKeyExpr.equals(`config.${AutoUpdateConfigurationKey}`, false))))))
1717
+ },
1718
+ run: async (accessor, id) => {
1719
+ const instantiationService = accessor.get(IInstantiationService);
1720
+ const extensionWorkbenchService = accessor.get(IExtensionsWorkbenchService);
1721
+ const extension = extensionWorkbenchService.local.find(e => areSameExtensions(e.identifier, { id }));
1722
+ if (extension) {
1723
+ const action = instantiationService.createInstance(ToggleAutoUpdatesForPublisherAction);
1724
+ action.extension = extension;
1725
+ return action.run();
1726
+ }
1727
+ }
1728
+ });
1729
+ this.registerExtensionAction({
1730
+ id: 'workbench.extensions.action.switchToPreRlease',
1731
+ title: ( localizeWithPath(
1732
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1733
+ 'enablePreRleaseLabel',
1734
+ "Switch to Pre-Release Version"
1735
+ )),
1736
+ category: ExtensionsLocalizedLabel,
1737
+ menu: {
1738
+ id: MenuId.ExtensionContext,
1739
+ group: INSTALL_ACTIONS_GROUP,
1740
+ order: 2,
1741
+ when: ( ContextKeyExpr.and(CONTEXT_HAS_GALLERY, ( ContextKeyExpr.has('galleryExtensionHasPreReleaseVersion')), ContextKeyExpr.not('installedExtensionIsOptedToPreRelease'), ContextKeyExpr.not('inExtensionEditor'), ( ContextKeyExpr.equals('extensionStatus', 'installed')), ContextKeyExpr.not('isBuiltinExtension')))
1742
+ },
1743
+ run: async (accessor, id) => {
1744
+ const instantiationService = accessor.get(IInstantiationService);
1745
+ const extensionWorkbenchService = accessor.get(IExtensionsWorkbenchService);
1746
+ const extension = extensionWorkbenchService.local.find(e => areSameExtensions(e.identifier, { id }));
1747
+ if (extension) {
1748
+ const action = instantiationService.createInstance(TogglePreReleaseExtensionAction);
1749
+ action.extension = extension;
1750
+ return action.run();
1751
+ }
1752
+ }
1753
+ });
1754
+ this.registerExtensionAction({
1755
+ id: 'workbench.extensions.action.switchToRelease',
1756
+ title: ( localizeWithPath(
1757
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1758
+ 'disablePreRleaseLabel',
1759
+ "Switch to Release Version"
1760
+ )),
1761
+ category: ExtensionsLocalizedLabel,
1762
+ menu: {
1763
+ id: MenuId.ExtensionContext,
1764
+ group: INSTALL_ACTIONS_GROUP,
1765
+ order: 2,
1766
+ when: ( ContextKeyExpr.and(CONTEXT_HAS_GALLERY, ( ContextKeyExpr.has('galleryExtensionHasPreReleaseVersion')), ( ContextKeyExpr.has('installedExtensionIsOptedToPreRelease')), ContextKeyExpr.not('inExtensionEditor'), ( ContextKeyExpr.equals('extensionStatus', 'installed')), ContextKeyExpr.not('isBuiltinExtension')))
1767
+ },
1768
+ run: async (accessor, id) => {
1769
+ const instantiationService = accessor.get(IInstantiationService);
1770
+ const extensionWorkbenchService = accessor.get(IExtensionsWorkbenchService);
1771
+ const extension = extensionWorkbenchService.local.find(e => areSameExtensions(e.identifier, { id }));
1772
+ if (extension) {
1773
+ const action = instantiationService.createInstance(TogglePreReleaseExtensionAction);
1774
+ action.extension = extension;
1775
+ return action.run();
1776
+ }
1777
+ }
1778
+ });
1779
+ this.registerExtensionAction({
1780
+ id: ClearLanguageAction.ID,
1781
+ title: ClearLanguageAction.TITLE,
1782
+ menu: {
1783
+ id: MenuId.ExtensionContext,
1784
+ group: INSTALL_ACTIONS_GROUP,
1785
+ order: 0,
1786
+ when: ( ContextKeyExpr.and(ContextKeyExpr.not('inExtensionEditor'), ( ContextKeyExpr.has('canSetLanguage')), ( ContextKeyExpr.has('isActiveLanguagePackExtension'))))
1787
+ },
1788
+ run: async (accessor, extensionId) => {
1789
+ const instantiationService = accessor.get(IInstantiationService);
1790
+ const extensionsWorkbenchService = accessor.get(IExtensionsWorkbenchService);
1791
+ const extension = (await extensionsWorkbenchService.getExtensions([{ id: extensionId }], CancellationToken.None))[0];
1792
+ const action = instantiationService.createInstance(ClearLanguageAction);
1793
+ action.extension = extension;
1794
+ return action.run();
1795
+ }
1796
+ });
1797
+ this.registerExtensionAction({
1798
+ id: 'workbench.extensions.action.copyExtension',
1799
+ title: ( localize2WithPath(
1800
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1801
+ 'workbench.extensions.action.copyExtension',
1802
+ 'Copy'
1803
+ )),
1804
+ menu: {
1805
+ id: MenuId.ExtensionContext,
1806
+ group: '1_copy'
1807
+ },
1808
+ run: async (accessor, extensionId) => {
1809
+ const clipboardService = accessor.get(IClipboardService);
1810
+ const extension = this.extensionsWorkbenchService.local.filter(e => areSameExtensions(e.identifier, { id: extensionId }))[0]
1811
+ || (await this.extensionsWorkbenchService.getExtensions([{ id: extensionId }], CancellationToken.None))[0];
1812
+ if (extension) {
1813
+ const name = ( localizeWithPath(
1814
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1815
+ 'extensionInfoName',
1816
+ 'Name: {0}',
1817
+ extension.displayName
1818
+ ));
1819
+ const id = ( localizeWithPath(
1820
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1821
+ 'extensionInfoId',
1822
+ 'Id: {0}',
1823
+ extensionId
1824
+ ));
1825
+ const description = ( localizeWithPath(
1826
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1827
+ 'extensionInfoDescription',
1828
+ 'Description: {0}',
1829
+ extension.description
1830
+ ));
1831
+ const verision = ( localizeWithPath(
1832
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1833
+ 'extensionInfoVersion',
1834
+ 'Version: {0}',
1835
+ extension.version
1836
+ ));
1837
+ const publisher = ( localizeWithPath(
1838
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1839
+ 'extensionInfoPublisher',
1840
+ 'Publisher: {0}',
1841
+ extension.publisherDisplayName
1842
+ ));
1843
+ const link = extension.url ? ( localizeWithPath(
1844
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1845
+ 'extensionInfoVSMarketplaceLink',
1846
+ 'VS Marketplace Link: {0}',
1847
+ `${extension.url}`
1848
+ )) : null;
1849
+ const clipboardStr = `${name}\n${id}\n${description}\n${verision}\n${publisher}${link ? '\n' + link : ''}`;
1850
+ await clipboardService.writeText(clipboardStr);
1851
+ }
1852
+ }
1853
+ });
1854
+ this.registerExtensionAction({
1855
+ id: 'workbench.extensions.action.copyExtensionId',
1856
+ title: ( localize2WithPath(
1857
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1858
+ 'workbench.extensions.action.copyExtensionId',
1859
+ 'Copy Extension ID'
1860
+ )),
1861
+ menu: {
1862
+ id: MenuId.ExtensionContext,
1863
+ group: '1_copy'
1864
+ },
1865
+ run: async (accessor, id) => accessor.get(IClipboardService).writeText(id)
1866
+ });
1867
+ this.registerExtensionAction({
1868
+ id: 'workbench.extensions.action.configure',
1869
+ title: ( localize2WithPath(
1870
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1871
+ 'workbench.extensions.action.configure',
1872
+ 'Extension Settings'
1873
+ )),
1874
+ menu: {
1875
+ id: MenuId.ExtensionContext,
1876
+ group: '2_configure',
1877
+ when: ( ContextKeyExpr.and(( ContextKeyExpr.equals('extensionStatus', 'installed')), ( ContextKeyExpr.has('extensionHasConfiguration')))),
1878
+ order: 1
1879
+ },
1880
+ run: async (accessor, id) => accessor.get(IPreferencesService).openSettings({ jsonEditor: false, query: `@ext:${id}` })
1881
+ });
1882
+ this.registerExtensionAction({
1883
+ id: 'workbench.extensions.action.configureKeybindings',
1884
+ title: ( localize2WithPath(
1885
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1886
+ 'workbench.extensions.action.configureKeybindings',
1887
+ 'Extension Keyboard Shortcuts'
1888
+ )),
1889
+ menu: {
1890
+ id: MenuId.ExtensionContext,
1891
+ group: '2_configure',
1892
+ when: ( ContextKeyExpr.and(( ContextKeyExpr.equals('extensionStatus', 'installed')), ( ContextKeyExpr.has('extensionHasKeybindings')))),
1893
+ order: 2
1894
+ },
1895
+ run: async (accessor, id) => accessor.get(IPreferencesService).openGlobalKeybindingSettings(false, { query: `@ext:${id}` })
1896
+ });
1897
+ this.registerExtensionAction({
1898
+ id: 'workbench.extensions.action.toggleApplyToAllProfiles',
1899
+ title: ( localize2WithPath(
1900
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1901
+ 'workbench.extensions.action.toggleApplyToAllProfiles',
1902
+ "Apply Extension to all Profiles"
1903
+ )),
1904
+ toggled: ( ContextKeyExpr.has('isApplicationScopedExtension')),
1905
+ menu: {
1906
+ id: MenuId.ExtensionContext,
1907
+ group: '2_configure',
1908
+ when: ( ContextKeyExpr.and(( ContextKeyExpr.equals('extensionStatus', 'installed')), ( ( ContextKeyExpr.has('isDefaultApplicationScopedExtension')).negate()), ( ( ContextKeyExpr.has('isBuiltinExtension')).negate()), ( ContextKeyExpr.equals('isWorkspaceScopedExtension', false)))),
1909
+ order: 3
1910
+ },
1911
+ run: async (accessor, id) => {
1912
+ const extension = this.extensionsWorkbenchService.local.find(e => areSameExtensions({ id }, e.identifier));
1913
+ if (extension) {
1914
+ return this.extensionsWorkbenchService.toggleApplyExtensionToAllProfiles(extension);
1915
+ }
1916
+ }
1917
+ });
1918
+ this.registerExtensionAction({
1919
+ id: TOGGLE_IGNORE_EXTENSION_ACTION_ID,
1920
+ title: ( localize2WithPath(
1921
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1922
+ 'workbench.extensions.action.toggleIgnoreExtension',
1923
+ "Sync This Extension"
1924
+ )),
1925
+ menu: {
1926
+ id: MenuId.ExtensionContext,
1927
+ group: '2_configure',
1928
+ when: ( ContextKeyExpr.and(CONTEXT_SYNC_ENABLEMENT, ( ContextKeyExpr.equals('isWorkspaceScopedExtension', false)))),
1929
+ order: 4
1930
+ },
1931
+ run: async (accessor, id) => {
1932
+ const extension = this.extensionsWorkbenchService.local.find(e => areSameExtensions({ id }, e.identifier));
1933
+ if (extension) {
1934
+ return this.extensionsWorkbenchService.toggleExtensionIgnoredToSync(extension);
1935
+ }
1936
+ }
1937
+ });
1938
+ this.registerExtensionAction({
1939
+ id: 'workbench.extensions.action.ignoreRecommendation',
1940
+ title: ( localize2WithPath(
1941
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1942
+ 'workbench.extensions.action.ignoreRecommendation',
1943
+ "Ignore Recommendation"
1944
+ )),
1945
+ menu: {
1946
+ id: MenuId.ExtensionContext,
1947
+ group: '3_recommendations',
1948
+ when: ( ContextKeyExpr.has('isExtensionRecommended')),
1949
+ order: 1
1950
+ },
1951
+ run: async (accessor, id) => accessor.get(IExtensionIgnoredRecommendationsService).toggleGlobalIgnoredRecommendation(id, true)
1952
+ });
1953
+ this.registerExtensionAction({
1954
+ id: 'workbench.extensions.action.undoIgnoredRecommendation',
1955
+ title: ( localize2WithPath(
1956
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1957
+ 'workbench.extensions.action.undoIgnoredRecommendation',
1958
+ "Undo Ignored Recommendation"
1959
+ )),
1960
+ menu: {
1961
+ id: MenuId.ExtensionContext,
1962
+ group: '3_recommendations',
1963
+ when: ( ContextKeyExpr.has('isUserIgnoredRecommendation')),
1964
+ order: 1
1965
+ },
1966
+ run: async (accessor, id) => accessor.get(IExtensionIgnoredRecommendationsService).toggleGlobalIgnoredRecommendation(id, false)
1967
+ });
1968
+ this.registerExtensionAction({
1969
+ id: 'workbench.extensions.action.addExtensionToWorkspaceRecommendations',
1970
+ title: ( localize2WithPath(
1971
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1972
+ 'workbench.extensions.action.addExtensionToWorkspaceRecommendations',
1973
+ "Add to Workspace Recommendations"
1974
+ )),
1975
+ menu: {
1976
+ id: MenuId.ExtensionContext,
1977
+ group: '3_recommendations',
1978
+ when: ( ContextKeyExpr.and(( WorkbenchStateContext.notEqualsTo('empty')), ( ( ContextKeyExpr.has('isBuiltinExtension')).negate()), ( ( ContextKeyExpr.has('isExtensionWorkspaceRecommended')).negate()), ( ( ContextKeyExpr.has('isUserIgnoredRecommendation')).negate()), ( ContextKeyExpr.notEquals('extensionSource', 'resource')))),
1979
+ order: 2
1980
+ },
1981
+ run: (accessor, id) => accessor.get(IWorkspaceExtensionsConfigService).toggleRecommendation(id)
1982
+ });
1983
+ this.registerExtensionAction({
1984
+ id: 'workbench.extensions.action.removeExtensionFromWorkspaceRecommendations',
1985
+ title: ( localize2WithPath(
1986
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
1987
+ 'workbench.extensions.action.removeExtensionFromWorkspaceRecommendations',
1988
+ "Remove from Workspace Recommendations"
1989
+ )),
1990
+ menu: {
1991
+ id: MenuId.ExtensionContext,
1992
+ group: '3_recommendations',
1993
+ when: ( ContextKeyExpr.and(( WorkbenchStateContext.notEqualsTo('empty')), ( ( ContextKeyExpr.has('isBuiltinExtension')).negate()), ( ContextKeyExpr.has('isExtensionWorkspaceRecommended')))),
1994
+ order: 2
1995
+ },
1996
+ run: (accessor, id) => accessor.get(IWorkspaceExtensionsConfigService).toggleRecommendation(id)
1997
+ });
1998
+ this.registerExtensionAction({
1999
+ id: 'workbench.extensions.action.addToWorkspaceRecommendations',
2000
+ title: ( localize2WithPath(
2001
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
2002
+ 'workbench.extensions.action.addToWorkspaceRecommendations',
2003
+ "Add Extension to Workspace Recommendations"
2004
+ )),
2005
+ category: ( localizeWithPath(
2006
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
2007
+ 'extensions',
2008
+ "Extensions"
2009
+ )),
2010
+ menu: {
2011
+ id: MenuId.CommandPalette,
2012
+ when: ( ContextKeyExpr.and(( WorkbenchStateContext.isEqualTo('workspace')), ( ContextKeyExpr.equals('resourceScheme', Schemas.extension)))),
2013
+ },
2014
+ async run(accessor) {
2015
+ const editorService = accessor.get(IEditorService);
2016
+ const workspaceExtensionsConfigService = accessor.get(IWorkspaceExtensionsConfigService);
2017
+ if (!(editorService.activeEditor instanceof ExtensionsInput)) {
2018
+ return;
2019
+ }
2020
+ const extensionId = editorService.activeEditor.extension.identifier.id.toLowerCase();
2021
+ const recommendations = await workspaceExtensionsConfigService.getRecommendations();
2022
+ if (recommendations.includes(extensionId)) {
2023
+ return;
2024
+ }
2025
+ await workspaceExtensionsConfigService.toggleRecommendation(extensionId);
2026
+ }
2027
+ });
2028
+ this.registerExtensionAction({
2029
+ id: 'workbench.extensions.action.addToWorkspaceFolderRecommendations',
2030
+ title: ( localize2WithPath(
2031
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
2032
+ 'workbench.extensions.action.addToWorkspaceFolderRecommendations',
2033
+ "Add Extension to Workspace Folder Recommendations"
2034
+ )),
2035
+ category: ( localizeWithPath(
2036
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
2037
+ 'extensions',
2038
+ "Extensions"
2039
+ )),
2040
+ menu: {
2041
+ id: MenuId.CommandPalette,
2042
+ when: ( ContextKeyExpr.and(( WorkbenchStateContext.isEqualTo('folder')), ( ContextKeyExpr.equals('resourceScheme', Schemas.extension)))),
2043
+ },
2044
+ run: () => this.commandService.executeCommand('workbench.extensions.action.addToWorkspaceRecommendations')
2045
+ });
2046
+ this.registerExtensionAction({
2047
+ id: 'workbench.extensions.action.addToWorkspaceIgnoredRecommendations',
2048
+ title: ( localize2WithPath(
2049
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
2050
+ 'workbench.extensions.action.addToWorkspaceIgnoredRecommendations',
2051
+ "Add Extension to Workspace Ignored Recommendations"
2052
+ )),
2053
+ category: ( localizeWithPath(
2054
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
2055
+ 'extensions',
2056
+ "Extensions"
2057
+ )),
2058
+ menu: {
2059
+ id: MenuId.CommandPalette,
2060
+ when: ( ContextKeyExpr.and(( WorkbenchStateContext.isEqualTo('workspace')), ( ContextKeyExpr.equals('resourceScheme', Schemas.extension)))),
2061
+ },
2062
+ async run(accessor) {
2063
+ const editorService = accessor.get(IEditorService);
2064
+ const workspaceExtensionsConfigService = accessor.get(IWorkspaceExtensionsConfigService);
2065
+ if (!(editorService.activeEditor instanceof ExtensionsInput)) {
2066
+ return;
2067
+ }
2068
+ const extensionId = editorService.activeEditor.extension.identifier.id.toLowerCase();
2069
+ const unwantedRecommendations = await workspaceExtensionsConfigService.getUnwantedRecommendations();
2070
+ if (unwantedRecommendations.includes(extensionId)) {
2071
+ return;
2072
+ }
2073
+ await workspaceExtensionsConfigService.toggleUnwantedRecommendation(extensionId);
2074
+ }
2075
+ });
2076
+ this.registerExtensionAction({
2077
+ id: 'workbench.extensions.action.addToWorkspaceFolderIgnoredRecommendations',
2078
+ title: ( localize2WithPath(
2079
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
2080
+ 'workbench.extensions.action.addToWorkspaceFolderIgnoredRecommendations',
2081
+ "Add Extension to Workspace Folder Ignored Recommendations"
2082
+ )),
2083
+ category: ( localizeWithPath(
2084
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
2085
+ 'extensions',
2086
+ "Extensions"
2087
+ )),
2088
+ menu: {
2089
+ id: MenuId.CommandPalette,
2090
+ when: ( ContextKeyExpr.and(( WorkbenchStateContext.isEqualTo('folder')), ( ContextKeyExpr.equals('resourceScheme', Schemas.extension)))),
2091
+ },
2092
+ run: () => this.commandService.executeCommand('workbench.extensions.action.addToWorkspaceIgnoredRecommendations')
2093
+ });
2094
+ this.registerExtensionAction({
2095
+ id: ConfigureWorkspaceRecommendedExtensionsAction.ID,
2096
+ title: { value: ConfigureWorkspaceRecommendedExtensionsAction.LABEL, original: 'Configure Recommended Extensions (Workspace)' },
2097
+ category: ( localizeWithPath(
2098
+ 'vs/workbench/contrib/extensions/browser/extensions.contribution',
2099
+ 'extensions',
2100
+ "Extensions"
2101
+ )),
2102
+ menu: {
2103
+ id: MenuId.CommandPalette,
2104
+ when: ( WorkbenchStateContext.isEqualTo('workspace')),
2105
+ },
2106
+ run: () => runAction(this.instantiationService.createInstance(ConfigureWorkspaceRecommendedExtensionsAction, ConfigureWorkspaceRecommendedExtensionsAction.ID, ConfigureWorkspaceRecommendedExtensionsAction.LABEL))
2107
+ });
2108
+ }
2109
+ registerExtensionAction(extensionActionOptions) {
2110
+ const menus = extensionActionOptions.menu ? Array.isArray(extensionActionOptions.menu) ? extensionActionOptions.menu : [extensionActionOptions.menu] : [];
2111
+ let menusWithOutTitles = [];
2112
+ const menusWithTitles = [];
2113
+ if (extensionActionOptions.menuTitles) {
2114
+ for (let index = 0; index < menus.length; index++) {
2115
+ const menu = menus[index];
2116
+ const menuTitle = extensionActionOptions.menuTitles[menu.id.id];
2117
+ if (menuTitle) {
2118
+ menusWithTitles.push({ id: menu.id, item: { ...menu, command: { id: extensionActionOptions.id, title: menuTitle } } });
2119
+ }
2120
+ else {
2121
+ menusWithOutTitles.push(menu);
2122
+ }
2123
+ }
2124
+ }
2125
+ else {
2126
+ menusWithOutTitles = menus;
2127
+ }
2128
+ const disposables = ( new DisposableStore());
2129
+ disposables.add(registerAction2(class extends Action2 {
2130
+ constructor() {
2131
+ super({
2132
+ ...extensionActionOptions,
2133
+ menu: menusWithOutTitles
2134
+ });
2135
+ }
2136
+ run(accessor, ...args) {
2137
+ return extensionActionOptions.run(accessor, ...args);
2138
+ }
2139
+ }));
2140
+ if (menusWithTitles.length) {
2141
+ disposables.add(MenuRegistry.appendMenuItems(menusWithTitles));
2142
+ }
2143
+ return disposables;
2144
+ }
2145
+ };
2146
+ ExtensionsContributions = ( __decorate([
2147
+ ( __param(0, IExtensionManagementServerService)),
2148
+ ( __param(1, IExtensionGalleryService)),
2149
+ ( __param(2, IContextKeyService)),
2150
+ ( __param(3, IPaneCompositePartService)),
2151
+ ( __param(4, IExtensionsWorkbenchService)),
2152
+ ( __param(5, IWorkbenchExtensionEnablementService)),
2153
+ ( __param(6, IInstantiationService)),
2154
+ ( __param(7, IDialogService)),
2155
+ ( __param(8, ICommandService))
2156
+ ], ExtensionsContributions));
2157
+ let ExtensionStorageCleaner = class ExtensionStorageCleaner {
2158
+ constructor(extensionManagementService, storageService) {
2159
+ ExtensionStorageService.removeOutdatedExtensionVersions(extensionManagementService, storageService);
2160
+ }
2161
+ };
2162
+ ExtensionStorageCleaner = ( __decorate([
2163
+ ( __param(0, IExtensionManagementService)),
2164
+ ( __param(1, IStorageService))
2165
+ ], ExtensionStorageCleaner));
2166
+ const workbenchRegistry = ( Registry.as(Extensions$4.Workbench));
2167
+ workbenchRegistry.registerWorkbenchContribution(ExtensionsContributions, 3 );
2168
+ workbenchRegistry.registerWorkbenchContribution(StatusUpdater, 4 );
2169
+ workbenchRegistry.registerWorkbenchContribution(MaliciousExtensionChecker, 4 );
2170
+ workbenchRegistry.registerWorkbenchContribution(KeymapExtensions, 3 );
2171
+ workbenchRegistry.registerWorkbenchContribution(ExtensionsViewletViewsContribution, 3 );
2172
+ workbenchRegistry.registerWorkbenchContribution(ExtensionActivationProgress, 4 );
2173
+ workbenchRegistry.registerWorkbenchContribution(ExtensionDependencyChecker, 4 );
2174
+ workbenchRegistry.registerWorkbenchContribution(ExtensionEnablementWorkspaceTrustTransitionParticipant, 3 );
2175
+ workbenchRegistry.registerWorkbenchContribution(ExtensionsCompletionItemsProvider, 3 );
2176
+ workbenchRegistry.registerWorkbenchContribution(UnsupportedExtensionsMigrationContrib, 4 );
2177
+ workbenchRegistry.registerWorkbenchContribution(DeprecatedExtensionsChecker, 4 );
2178
+ if (isWeb) {
2179
+ workbenchRegistry.registerWorkbenchContribution(ExtensionStorageCleaner, 4 );
2180
+ }
2181
+ registerAction2(ShowRuntimeExtensionsAction);
2182
+ export { CONTEXT_HAS_LOCAL_SERVER, CONTEXT_HAS_REMOTE_SERVER, CONTEXT_HAS_WEB_SERVER };