@codingame/monaco-vscode-api 1.83.1 → 1.83.3-next.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.
- package/extensions.d.ts +3 -3
- package/extensions.js +31 -33
- package/l10n.d.ts +4 -0
- package/l10n.js +10 -0
- package/missing-services.js +4 -2
- package/monaco-editor-treemending.patch +12268 -1070
- package/monaco-treemending.js +8 -2
- package/package.json +8 -1
- package/service-override/extensions.js +2 -2
- package/service-override/layout.js +2 -2
- package/tools/l10n.js +177 -0
- package/tools.js +22 -1
- package/vscode/src/vs/base/browser/ui/menu/menubar.js +1 -1
- package/vscode/src/vs/base/browser/ui/splitview/paneview.js +2 -2
- package/vscode/src/vs/base/common/date.js +55 -55
- package/vscode/src/vs/base/common/jsonErrorMessages.js +10 -10
- package/vscode/src/vs/base/common/tfIdf.js +137 -0
- package/vscode/src/vs/editor/contrib/quickAccess/browser/commandsQuickAccess.js +23 -0
- package/vscode/src/vs/editor/contrib/quickAccess/browser/editorNavigationQuickAccess.js +115 -0
- package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +112 -0
- package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess.js +334 -0
- package/vscode/src/vs/platform/dialogs/common/dialogs.js +10 -14
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +3 -0
- package/vscode/src/vs/platform/extensionManagement/common/extensionNls.js +2 -2
- package/vscode/src/vs/platform/files/common/fileService.js +28 -37
- package/vscode/src/vs/platform/files/common/files.js +6 -6
- package/vscode/src/vs/platform/files/common/io.js +2 -2
- package/vscode/src/vs/platform/keyboardLayout/common/keyboardConfig.js +3 -9
- package/vscode/src/vs/platform/quickinput/browser/commandsQuickAccess.js +300 -0
- package/vscode/src/vs/platform/quickinput/browser/helpQuickAccess.js +59 -0
- package/vscode/src/vs/platform/quickinput/browser/pickerQuickAccess.js +212 -0
- package/vscode/src/vs/platform/request/common/request.js +2 -2
- package/vscode/src/vs/platform/theme/common/tokenClassificationRegistry.js +42 -63
- package/vscode/src/vs/platform/workspaces/common/workspaces.js +15 -15
- package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.js +13 -32
- package/vscode/src/vs/workbench/api/browser/mainThreadComments.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.js +50 -52
- package/vscode/src/vs/workbench/api/browser/mainThreadDocumentsAndEditors.js +58 -69
- package/vscode/src/vs/workbench/api/browser/mainThreadEditSessionIdentityParticipant.js +4 -5
- package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.js +38 -50
- package/vscode/src/vs/workbench/api/browser/mainThreadFileSystem.js +23 -23
- package/vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.js +21 -53
- package/vscode/src/vs/workbench/api/browser/mainThreadMessageService.js +4 -4
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.js +4 -5
- package/vscode/src/vs/workbench/api/browser/mainThreadProgress.js +6 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.js +4 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.js +2 -12
- package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.js +15 -9
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.js +16 -20
- package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.js +6 -28
- package/vscode/src/vs/workbench/api/browser/statusBarExtensionPoint.js +60 -0
- package/vscode/src/vs/workbench/api/common/extHostChat.js +3 -3
- package/vscode/src/vs/workbench/api/common/extHostCommands.js +59 -65
- package/vscode/src/vs/workbench/api/common/extHostConsoleForwarder.js +8 -8
- package/vscode/src/vs/workbench/api/common/extHostDiagnostics.js +2 -6
- package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +150 -222
- package/vscode/src/vs/workbench/api/common/extHostLogService.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostNotebook.js +3 -3
- package/vscode/src/vs/workbench/api/common/extHostProgress.js +2 -6
- package/vscode/src/vs/workbench/api/common/extHostSCM.js +54 -58
- package/vscode/src/vs/workbench/api/common/extHostStatusBar.js +3 -7
- package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +2 -6
- package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +2 -6
- package/vscode/src/vs/workbench/api/common/extHostTreeViews.js +55 -57
- package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +28 -28
- package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +265 -277
- package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +2 -7
- package/vscode/src/vs/workbench/api/common/extensionHostMain.js +17 -19
- package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +9 -34
- package/vscode/src/vs/workbench/api/worker/extHostExtensionService.js +5 -5
- package/vscode/src/vs/workbench/browser/actions/layoutActions.js +898 -68
- package/vscode/src/vs/workbench/browser/actions/quickAccessActions.js +7 -7
- package/vscode/src/vs/workbench/browser/actions/windowActions.js +32 -38
- package/vscode/src/vs/workbench/browser/actions/workspaceActions.js +103 -13
- package/vscode/src/vs/workbench/browser/actions/workspaceCommands.js +2 -2
- package/vscode/src/vs/workbench/browser/editor.js +3 -3
- package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +12 -27
- package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +12 -12
- package/vscode/src/vs/workbench/browser/parts/editor/binaryDiffEditor.js +2 -7
- package/vscode/src/vs/workbench/browser/parts/editor/binaryEditor.js +4 -7
- package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbs.js +42 -90
- package/vscode/src/vs/workbench/browser/parts/editor/editor.contribution.js +140 -272
- package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +115 -148
- package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +21 -33
- package/vscode/src/vs/workbench/browser/parts/editor/editorConfiguration.js +7 -19
- package/vscode/src/vs/workbench/browser/parts/editor/editorPlaceholder.js +10 -26
- package/vscode/src/vs/workbench/browser/parts/editor/editorQuickAccess.js +7 -17
- package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +60 -81
- package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +27 -33
- package/vscode/src/vs/workbench/browser/parts/editor/textCodeEditor.js +2 -2
- package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +19 -32
- package/vscode/src/vs/workbench/browser/parts/editor/textEditor.js +2 -2
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +8 -8
- package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +69 -34
- package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +58 -34
- package/vscode/src/vs/workbench/browser/parts/views/viewFilter.js +2 -2
- package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +3 -9
- package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +6 -6
- package/vscode/src/vs/workbench/browser/parts/views/viewsService.js +7 -11
- package/vscode/src/vs/workbench/browser/quickaccess.js +7 -3
- package/vscode/src/vs/workbench/browser/workbench.contribution.js +186 -683
- package/vscode/src/vs/workbench/common/configuration.js +12 -15
- package/vscode/src/vs/workbench/common/contextkeys.js +272 -90
- package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +2 -2
- package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +2 -7
- package/vscode/src/vs/workbench/common/editor/textEditorModel.js +2 -6
- package/vscode/src/vs/workbench/common/editor.js +5 -5
- package/vscode/src/vs/workbench/common/theme.js +137 -527
- package/vscode/src/vs/workbench/common/views.js +4 -8
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +15 -55
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityContributions.js +3 -8
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleView.js +22 -60
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +9 -15
- package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkEditService.js +18 -48
- package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkFileEdits.js +58 -74
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +2 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +5 -10
- package/vscode/src/vs/workbench/contrib/chat/common/chatSlashCommands.js +5 -13
- package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +8 -27
- package/vscode/src/vs/workbench/contrib/codeActions/common/codeActionsExtensionPoint.js +5 -17
- package/vscode/src/vs/workbench/contrib/codeActions/common/documentationExtensionPoint.js +6 -15
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +7 -20
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/inspectEditorTokens/inspectEditorTokens.js +2 -2
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/languageConfigurationExtensionPoint.js +63 -216
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +4 -7
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoLineQuickAccess.js +5 -8
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +8 -11
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +5 -15
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +3 -3
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +5 -5
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +3 -6
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +3 -6
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +10 -9
- package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +6 -15
- package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +5 -20
- package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +3 -10
- package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +4 -4
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +3 -20
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +9 -3
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +4 -13
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +19 -19
- package/vscode/src/vs/workbench/contrib/comments/browser/comments.contribution.js +26 -77
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +5 -17
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +31 -40
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +10 -29
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsViewActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/comments/browser/reactionsAction.js +8 -8
- package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +25 -21
- package/vscode/src/vs/workbench/contrib/comments/common/commentModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/customEditor/common/customEditor.js +1 -4
- package/vscode/src/vs/workbench/contrib/debug/browser/debugColors.js +20 -20
- package/vscode/src/vs/workbench/contrib/debug/browser/debugIcons.js +56 -98
- package/vscode/src/vs/workbench/contrib/debug/common/abstractDebugAdapter.js +2 -2
- package/vscode/src/vs/workbench/contrib/debug/common/debug.js +96 -180
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsIcons.js +25 -79
- package/vscode/src/vs/workbench/contrib/externalUriOpener/common/configuration.js +4 -15
- package/vscode/src/vs/workbench/contrib/externalUriOpener/common/externalUriOpenerService.js +4 -8
- package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +56 -19
- package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +76 -230
- package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +6 -5
- package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +33 -103
- package/vscode/src/vs/workbench/contrib/files/browser/files.contribution.js +228 -99
- package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +1 -1
- package/vscode/src/vs/workbench/contrib/files/browser/views/explorerDecorationsProvider.js +5 -9
- package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +5 -5
- package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +15 -35
- package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +5 -8
- package/vscode/src/vs/workbench/contrib/files/common/files.js +27 -48
- package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +3 -6
- package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +5 -8
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +112 -52
- package/vscode/src/vs/workbench/contrib/keybindings/browser/keybindings.contribution.js +1 -1
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +30 -96
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mapping.js +73 -126
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +3 -3
- package/vscode/src/vs/workbench/contrib/mergeEditor/common/mergeEditor.js +42 -0
- package/vscode/src/vs/workbench/contrib/output/browser/output.contribution.js +23 -29
- package/vscode/src/vs/workbench/contrib/output/browser/outputView.js +3 -3
- package/vscode/src/vs/workbench/contrib/quickaccess/browser/commandsQuickAccess.js +13 -16
- package/vscode/src/vs/workbench/contrib/quickaccess/browser/quickAccess.contribution.js +15 -34
- package/vscode/src/vs/workbench/contrib/quickaccess/browser/viewQuickAccess.js +12 -17
- package/vscode/src/vs/workbench/contrib/scm/browser/dirtyDiffSwitcher.js +2 -2
- package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +26 -75
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +4 -19
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +4 -4
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +60 -99
- package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +5 -14
- package/vscode/src/vs/workbench/contrib/tasks/common/taskService.js +26 -13
- package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +88 -96
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +5 -17
- package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +7 -28
- package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +21 -78
- package/vscode/src/vs/workbench/contrib/terminal/common/terminalContextKey.js +21 -53
- package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +2 -2
- package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +2 -5
- package/vscode/src/vs/workbench/services/actions/common/menusExtensionPoint.js +113 -348
- package/vscode/src/vs/workbench/services/assignment/common/assignmentService.js +2 -5
- package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +31 -1
- package/vscode/src/vs/workbench/services/configuration/common/jsonEditingService.js +1 -4
- package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +16 -16
- package/vscode/src/vs/workbench/services/decorations/browser/decorationsService.js +2 -2
- package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +2 -5
- package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +4 -4
- package/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.js +27 -29
- package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +104 -141
- package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +35 -39
- package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.js +25 -25
- package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +80 -296
- package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +6 -21
- package/vscode/src/vs/workbench/services/host/browser/browserHostService.js +3 -6
- package/vscode/src/vs/workbench/services/keybinding/browser/keybindingService.js +24 -81
- package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayoutService.js +2 -2
- package/vscode/src/vs/workbench/services/keybinding/common/keybindingEditing.js +11 -17
- package/vscode/src/vs/workbench/services/keybinding/common/macLinuxKeyboardMapper.js +30 -32
- package/vscode/src/vs/workbench/services/language/common/languageService.js +23 -98
- package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +83 -95
- package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +1 -5
- package/vscode/src/vs/workbench/services/textfile/browser/textFileService.js +11 -23
- package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +32 -32
- package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModelManager.js +2 -7
- package/vscode/src/vs/workbench/services/textfile/common/textFileSaveParticipant.js +2 -2
- package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +16 -53
- package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +50 -1
- package/vscode/src/vs/workbench/services/themes/common/tokenClassificationExtensionPoint.js +25 -99
- package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.js +16 -16
- package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.js +6 -3
- package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +15 -3
- package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopySaveParticipant.js +2 -2
- package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyBackupService.js +32 -42
|
@@ -64,24 +64,24 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
64
64
|
this._lifecycleService = _lifecycleService;
|
|
65
65
|
this._remoteAuthorityResolverService = _remoteAuthorityResolverService;
|
|
66
66
|
this._dialogService = _dialogService;
|
|
67
|
-
this._onDidRegisterExtensions = this._register((
|
|
67
|
+
this._onDidRegisterExtensions = this._register(( new Emitter()));
|
|
68
68
|
this.onDidRegisterExtensions = this._onDidRegisterExtensions.event;
|
|
69
|
-
this._onDidChangeExtensionsStatus = this._register((
|
|
69
|
+
this._onDidChangeExtensionsStatus = this._register(( new Emitter()));
|
|
70
70
|
this.onDidChangeExtensionsStatus = this._onDidChangeExtensionsStatus.event;
|
|
71
|
-
this._onDidChangeExtensions = this._register((
|
|
71
|
+
this._onDidChangeExtensions = this._register(( new Emitter({ leakWarningThreshold: 400 })));
|
|
72
72
|
this.onDidChangeExtensions = this._onDidChangeExtensions.event;
|
|
73
|
-
this._onWillActivateByEvent = this._register((
|
|
73
|
+
this._onWillActivateByEvent = this._register(( new Emitter()));
|
|
74
74
|
this.onWillActivateByEvent = this._onWillActivateByEvent.event;
|
|
75
|
-
this._onDidChangeResponsiveChange = this._register((
|
|
75
|
+
this._onDidChangeResponsiveChange = this._register(( new Emitter()));
|
|
76
76
|
this.onDidChangeResponsiveChange = this._onDidChangeResponsiveChange.event;
|
|
77
|
-
this._onWillStop = this._register((
|
|
77
|
+
this._onWillStop = this._register(( new Emitter()));
|
|
78
78
|
this.onWillStop = this._onWillStop.event;
|
|
79
|
-
this._activationEventReader = (
|
|
80
|
-
this._registry = (
|
|
81
|
-
this._installedExtensionsReady = (
|
|
82
|
-
this._extensionStatus = (
|
|
83
|
-
this._allRequestedActivateEvents = (
|
|
84
|
-
this._remoteCrashTracker = (
|
|
79
|
+
this._activationEventReader = ( new ImplicitActivationAwareReader());
|
|
80
|
+
this._registry = ( new LockableExtensionDescriptionRegistry(this._activationEventReader));
|
|
81
|
+
this._installedExtensionsReady = ( new Barrier());
|
|
82
|
+
this._extensionStatus = ( new ExtensionIdentifierMap());
|
|
83
|
+
this._allRequestedActivateEvents = ( new Set());
|
|
84
|
+
this._remoteCrashTracker = ( new ExtensionHostCrashTracker());
|
|
85
85
|
this._deltaExtensionsQueue = [];
|
|
86
86
|
this._inHandleDeltaExtensions = false;
|
|
87
87
|
this._extensionHostManagers = [];
|
|
@@ -91,14 +91,14 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
91
91
|
e.join(this.activateByEvent(`onFileSystem:${e.scheme}`));
|
|
92
92
|
}
|
|
93
93
|
}));
|
|
94
|
-
this._runningLocations = (
|
|
94
|
+
this._runningLocations = ( new ExtensionRunningLocationTracker(
|
|
95
95
|
this._registry,
|
|
96
96
|
this._extensionHostKindPicker,
|
|
97
97
|
this._environmentService,
|
|
98
98
|
this._configurationService,
|
|
99
99
|
this._logService,
|
|
100
100
|
this._extensionManifestPropertiesService
|
|
101
|
-
))
|
|
101
|
+
));
|
|
102
102
|
this._register(this._extensionEnablementService.onEnablementChanged((extensions) => {
|
|
103
103
|
const toAdd = [];
|
|
104
104
|
const toRemove = [];
|
|
@@ -111,16 +111,16 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
113
|
if (isCI) {
|
|
114
|
-
this._logService.info(`AbstractExtensionService.onEnablementChanged fired for ${(
|
|
114
|
+
this._logService.info(`AbstractExtensionService.onEnablementChanged fired for ${( extensions.map(e => e.identifier.id)).join(', ')}`);
|
|
115
115
|
}
|
|
116
|
-
this._handleDeltaExtensions((
|
|
116
|
+
this._handleDeltaExtensions(( new DeltaExtensionsQueueItem(toAdd, toRemove)));
|
|
117
117
|
}));
|
|
118
118
|
this._register(this._extensionManagementService.onDidChangeProfile(({ added, removed }) => {
|
|
119
119
|
if (added.length || removed.length) {
|
|
120
120
|
if (isCI) {
|
|
121
121
|
this._logService.info(`AbstractExtensionService.onDidChangeProfile fired`);
|
|
122
122
|
}
|
|
123
|
-
this._handleDeltaExtensions((
|
|
123
|
+
this._handleDeltaExtensions(( new DeltaExtensionsQueueItem(added, removed)));
|
|
124
124
|
}
|
|
125
125
|
}));
|
|
126
126
|
this._register(this._extensionManagementService.onDidInstallExtensions((result) => {
|
|
@@ -132,9 +132,9 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
132
132
|
}
|
|
133
133
|
if (extensions.length) {
|
|
134
134
|
if (isCI) {
|
|
135
|
-
this._logService.info(`AbstractExtensionService.onDidInstallExtensions fired for ${(
|
|
135
|
+
this._logService.info(`AbstractExtensionService.onDidInstallExtensions fired for ${( extensions.map(e => e.identifier.id)).join(', ')}`);
|
|
136
136
|
}
|
|
137
|
-
this._handleDeltaExtensions((
|
|
137
|
+
this._handleDeltaExtensions(( new DeltaExtensionsQueueItem(extensions, [])));
|
|
138
138
|
}
|
|
139
139
|
}));
|
|
140
140
|
this._register(this._extensionManagementService.onDidUninstallExtension((event) => {
|
|
@@ -142,7 +142,7 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
142
142
|
if (isCI) {
|
|
143
143
|
this._logService.info(`AbstractExtensionService.onDidUninstallExtension fired for ${event.identifier.id}`);
|
|
144
144
|
}
|
|
145
|
-
this._handleDeltaExtensions((
|
|
145
|
+
this._handleDeltaExtensions(( new DeltaExtensionsQueueItem([], [event.identifier.id])));
|
|
146
146
|
}
|
|
147
147
|
}));
|
|
148
148
|
this._register(this._lifecycleService.onDidShutdown(() => {
|
|
@@ -184,7 +184,7 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
184
184
|
}
|
|
185
185
|
async _deltaExtensions(lock, _toAdd, _toRemove) {
|
|
186
186
|
if (isCI) {
|
|
187
|
-
this._logService.info(`AbstractExtensionService._deltaExtensions: toAdd: [${(
|
|
187
|
+
this._logService.info(`AbstractExtensionService._deltaExtensions: toAdd: [${( _toAdd.map(e => e.identifier.id)).join(',')}] toRemove: [${( _toRemove.map(e => typeof e === 'string' ? e : e.identifier.id)).join(',')}]`);
|
|
188
188
|
}
|
|
189
189
|
let toRemove = [];
|
|
190
190
|
for (let i = 0, len = _toRemove.length; i < len; i++) {
|
|
@@ -218,30 +218,26 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
218
218
|
if (toAdd.length === 0 && toRemove.length === 0) {
|
|
219
219
|
return;
|
|
220
220
|
}
|
|
221
|
-
const result = this._registry.deltaExtensions(lock, toAdd, (
|
|
221
|
+
const result = this._registry.deltaExtensions(lock, toAdd, ( toRemove.map(e => e.identifier)));
|
|
222
222
|
this._onDidChangeExtensions.fire({ added: toAdd, removed: toRemove });
|
|
223
223
|
toRemove = toRemove.concat(result.removedDueToLooping);
|
|
224
224
|
if (result.removedDueToLooping.length > 0) {
|
|
225
225
|
this._notificationService.notify({
|
|
226
226
|
severity: Severity.Error,
|
|
227
|
-
message: ( (
|
|
228
|
-
'looping',
|
|
229
|
-
"The following extensions contain dependency loops and have been disabled: {0}",
|
|
230
|
-
( (result.removedDueToLooping.map(e => `'${e.identifier.value}'`))).join(', ')
|
|
231
|
-
)))
|
|
227
|
+
message: nls.localizeWithPath('vs/workbench/services/extensions/common/abstractExtensionService', 'looping', "The following extensions contain dependency loops and have been disabled: {0}", ( result.removedDueToLooping.map(e => `'${e.identifier.value}'`)).join(', '))
|
|
232
228
|
});
|
|
233
229
|
}
|
|
234
230
|
this._doHandleExtensionPoints([].concat(toAdd).concat(toRemove));
|
|
235
|
-
await this._updateExtensionsOnExtHosts(result.versionId, toAdd, (
|
|
231
|
+
await this._updateExtensionsOnExtHosts(result.versionId, toAdd, ( toRemove.map(e => e.identifier)));
|
|
236
232
|
for (let i = 0; i < toAdd.length; i++) {
|
|
237
233
|
this._activateAddedExtensionIfNeeded(toAdd[i]);
|
|
238
234
|
}
|
|
239
235
|
}
|
|
240
236
|
async _updateExtensionsOnExtHosts(versionId, toAdd, toRemove) {
|
|
241
237
|
const removedRunningLocation = this._runningLocations.deltaExtensions(toAdd, toRemove);
|
|
242
|
-
const promises = (
|
|
238
|
+
const promises = ( this._extensionHostManagers.map(
|
|
243
239
|
extHostManager => this._updateExtensionsOnExtHost(extHostManager, versionId, toAdd, toRemove, removedRunningLocation)
|
|
244
|
-
))
|
|
240
|
+
));
|
|
245
241
|
await Promise.all(promises);
|
|
246
242
|
}
|
|
247
243
|
async _updateExtensionsOnExtHost(extensionHostManager, versionId, toAdd, toRemove, removedRunningLocation) {
|
|
@@ -249,11 +245,11 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
249
245
|
const myToRemove = filterExtensionIdentifiers(toRemove, removedRunningLocation, extRunningLocation => extensionHostManager.representsRunningLocation(extRunningLocation));
|
|
250
246
|
const addActivationEvents = ImplicitActivationEvents.createActivationEventsMap(toAdd);
|
|
251
247
|
if (isCI) {
|
|
252
|
-
const printExtIds = (extensions) => (
|
|
253
|
-
const printIds = (extensions) => (
|
|
248
|
+
const printExtIds = (extensions) => ( extensions.map(e => e.identifier.value)).join(',');
|
|
249
|
+
const printIds = (extensions) => ( extensions.map(e => e.value)).join(',');
|
|
254
250
|
this._logService.info(`AbstractExtensionService: Calling deltaExtensions: toRemove: [${printIds(toRemove)}], toAdd: [${printExtIds(toAdd)}], myToRemove: [${printIds(myToRemove)}], myToAdd: [${printExtIds(myToAdd)}],`);
|
|
255
251
|
}
|
|
256
|
-
await extensionHostManager.deltaExtensions({ versionId, toRemove, toAdd, addActivationEvents, myToRemove, myToAdd: (
|
|
252
|
+
await extensionHostManager.deltaExtensions({ versionId, toRemove, toAdd, addActivationEvents, myToRemove, myToAdd: ( myToAdd.map(extension => extension.identifier)) });
|
|
257
253
|
}
|
|
258
254
|
canAddExtension(extension) {
|
|
259
255
|
return this._canAddExtension(extension, []);
|
|
@@ -261,9 +257,9 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
261
257
|
_canAddExtension(extension, extensionsBeingRemoved) {
|
|
262
258
|
const existing = this._registry.getExtensionDescriptionByIdOrUUID(extension.identifier, extension.id);
|
|
263
259
|
if (existing) {
|
|
264
|
-
const isBeingRemoved = (
|
|
260
|
+
const isBeingRemoved = ( extensionsBeingRemoved.some(
|
|
265
261
|
(extensionDescription) => ExtensionIdentifier.equals(extension.identifier, extensionDescription.identifier)
|
|
266
|
-
))
|
|
262
|
+
));
|
|
267
263
|
if (!isBeingRemoved) {
|
|
268
264
|
return false;
|
|
269
265
|
}
|
|
@@ -295,7 +291,7 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
295
291
|
if (activationEvent === 'onUri') {
|
|
296
292
|
activationEvent = `onUri:${ExtensionIdentifier.toKey(extensionDescription.identifier)}`;
|
|
297
293
|
}
|
|
298
|
-
if ((
|
|
294
|
+
if (( this._allRequestedActivateEvents.has(activationEvent))) {
|
|
299
295
|
shouldActivate = true;
|
|
300
296
|
shouldActivateReason = activationEvent;
|
|
301
297
|
break;
|
|
@@ -315,16 +311,16 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
315
311
|
}
|
|
316
312
|
}
|
|
317
313
|
if (shouldActivate) {
|
|
318
|
-
await Promise.all((
|
|
314
|
+
await Promise.all(( this._extensionHostManagers.map(
|
|
319
315
|
extHostManager => extHostManager.activate(extensionDescription.identifier, { startup: false, extensionId: extensionDescription.identifier, activationEvent: shouldActivateReason })
|
|
320
|
-
)))
|
|
316
|
+
))).then(() => { });
|
|
321
317
|
}
|
|
322
318
|
else if (hasWorkspaceContains) {
|
|
323
319
|
const workspace = await this._contextService.getCompleteWorkspace();
|
|
324
320
|
const forceUsingSearch = !!this._environmentService.remoteAuthority;
|
|
325
321
|
const host = {
|
|
326
322
|
logService: this._logService,
|
|
327
|
-
folders: (
|
|
323
|
+
folders: ( workspace.folders.map(folder => folder.uri)),
|
|
328
324
|
forceUsingSearch: forceUsingSearch,
|
|
329
325
|
exists: (uri) => this._fileService.exists(uri),
|
|
330
326
|
checkExists: (folders, includes, token) => this._instantiationService.invokeFunction((accessor) => checkGlobFileExists(accessor, folders, includes, token))
|
|
@@ -333,9 +329,9 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
333
329
|
if (!result) {
|
|
334
330
|
return;
|
|
335
331
|
}
|
|
336
|
-
await Promise.all((
|
|
332
|
+
await Promise.all(( this._extensionHostManagers.map(
|
|
337
333
|
extHostManager => extHostManager.activate(extensionDescription.identifier, { startup: false, extensionId: extensionDescription.identifier, activationEvent: result.activationEvent })
|
|
338
|
-
)))
|
|
334
|
+
))).then(() => { });
|
|
339
335
|
}
|
|
340
336
|
}
|
|
341
337
|
async _initialize() {
|
|
@@ -349,7 +345,7 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
349
345
|
for (const extHostManager of this._extensionHostManagers) {
|
|
350
346
|
if (extHostManager.startup !== 1 ) {
|
|
351
347
|
const extensions = this._runningLocations.filterByExtensionHostManager(snapshot.extensions, extHostManager);
|
|
352
|
-
extHostManager.start(snapshot.versionId, snapshot.extensions, (
|
|
348
|
+
extHostManager.start(snapshot.versionId, snapshot.extensions, ( extensions.map(extension => extension.identifier)));
|
|
353
349
|
}
|
|
354
350
|
}
|
|
355
351
|
}
|
|
@@ -380,11 +376,7 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
380
376
|
if (result.removedDueToLooping.length > 0) {
|
|
381
377
|
this._notificationService.notify({
|
|
382
378
|
severity: Severity.Error,
|
|
383
|
-
message: ( (
|
|
384
|
-
'looping',
|
|
385
|
-
"The following extensions contain dependency loops and have been disabled: {0}",
|
|
386
|
-
( (result.removedDueToLooping.map(e => `'${e.identifier.value}'`))).join(', ')
|
|
387
|
-
)))
|
|
379
|
+
message: nls.localizeWithPath('vs/workbench/services/extensions/common/abstractExtensionService', 'looping', "The following extensions contain dependency loops and have been disabled: {0}", ( result.removedDueToLooping.map(e => `'${e.identifier.value}'`)).join(', '))
|
|
388
380
|
});
|
|
389
381
|
}
|
|
390
382
|
this._doHandleExtensionPoints(this._registry.getAllExtensionDescriptions());
|
|
@@ -395,11 +387,7 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
395
387
|
}
|
|
396
388
|
const extensionHostManager = this.findTestExtensionHost(this._environmentService.extensionTestsLocationURI);
|
|
397
389
|
if (!extensionHostManager) {
|
|
398
|
-
const msg = ( (
|
|
399
|
-
'extensionTestError',
|
|
400
|
-
"No extension host found that can launch the test runner at {0}.",
|
|
401
|
-
(this._environmentService.extensionTestsLocationURI.toString())
|
|
402
|
-
)));
|
|
390
|
+
const msg = nls.localizeWithPath('vs/workbench/services/extensions/common/abstractExtensionService', 'extensionTestError', "No extension host found that can launch the test runner at {0}.", ( this._environmentService.extensionTestsLocationURI.toString()));
|
|
403
391
|
console.error(msg);
|
|
404
392
|
this._notificationService.error(msg);
|
|
405
393
|
return;
|
|
@@ -430,10 +418,10 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
430
418
|
}
|
|
431
419
|
if (runningLocation === null) {
|
|
432
420
|
if (testLocation.scheme === Schemas.vscodeRemote) {
|
|
433
|
-
runningLocation = (
|
|
421
|
+
runningLocation = ( new RemoteRunningLocation());
|
|
434
422
|
}
|
|
435
423
|
else {
|
|
436
|
-
runningLocation = (
|
|
424
|
+
runningLocation = ( new LocalProcessRunningLocation(0));
|
|
437
425
|
}
|
|
438
426
|
}
|
|
439
427
|
if (runningLocation !== null) {
|
|
@@ -444,7 +432,7 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
444
432
|
_releaseBarrier() {
|
|
445
433
|
this._installedExtensionsReady.open();
|
|
446
434
|
this._onDidRegisterExtensions.fire(undefined);
|
|
447
|
-
this._onDidChangeExtensionsStatus.fire((
|
|
435
|
+
this._onDidChangeExtensionsStatus.fire(( this._registry.getAllExtensionDescriptions().map(e => e.identifier)));
|
|
448
436
|
}
|
|
449
437
|
async _resolveAuthorityInitial(remoteAuthority) {
|
|
450
438
|
const MAX_ATTEMPTS = 5;
|
|
@@ -502,9 +490,9 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
502
490
|
throw new Error(`Cannot resolve authority`);
|
|
503
491
|
}
|
|
504
492
|
this._resolveAuthorityAttempt++;
|
|
505
|
-
const results = await Promise.all((
|
|
493
|
+
const results = await Promise.all(( extensionHosts.map(
|
|
506
494
|
extHost => extHost.resolveAuthority(remoteAuthority, this._resolveAuthorityAttempt)
|
|
507
|
-
)))
|
|
495
|
+
)));
|
|
508
496
|
let bestErrorResult = null;
|
|
509
497
|
for (const result of results) {
|
|
510
498
|
if (result.type === 'ok') {
|
|
@@ -527,7 +515,7 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
527
515
|
}
|
|
528
516
|
_doStopExtensionHosts() {
|
|
529
517
|
const previouslyActivatedExtensionIds = [];
|
|
530
|
-
for (const extensionStatus of (
|
|
518
|
+
for (const extensionStatus of ( this._extensionStatus.values())) {
|
|
531
519
|
if (extensionStatus.activationStarted) {
|
|
532
520
|
previouslyActivatedExtensionIds.push(extensionStatus.id);
|
|
533
521
|
}
|
|
@@ -536,7 +524,7 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
536
524
|
this._extensionHostManagers[i].dispose();
|
|
537
525
|
}
|
|
538
526
|
this._extensionHostManagers = [];
|
|
539
|
-
for (const extensionStatus of (
|
|
527
|
+
for (const extensionStatus of ( this._extensionStatus.values())) {
|
|
540
528
|
extensionStatus.clearRuntimeStatus();
|
|
541
529
|
}
|
|
542
530
|
if (previouslyActivatedExtensionIds.length > 0) {
|
|
@@ -545,7 +533,7 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
545
533
|
}
|
|
546
534
|
async _doStopExtensionHostsWithVeto(reason) {
|
|
547
535
|
const vetos = [];
|
|
548
|
-
const vetoReasons = (
|
|
536
|
+
const vetoReasons = ( new Set());
|
|
549
537
|
this._onWillStop.fire({
|
|
550
538
|
reason,
|
|
551
539
|
veto(value, reason) {
|
|
@@ -561,12 +549,7 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
561
549
|
vetoReasons.add(reason);
|
|
562
550
|
}
|
|
563
551
|
}).catch(error => {
|
|
564
|
-
vetoReasons.add(( (
|
|
565
|
-
'extensionStopVetoError',
|
|
566
|
-
"{0} (Error: {1})",
|
|
567
|
-
reason,
|
|
568
|
-
toErrorMessage(error)
|
|
569
|
-
))));
|
|
552
|
+
vetoReasons.add(nls.localizeWithPath('vs/workbench/services/extensions/common/abstractExtensionService', 'extensionStopVetoError', "{0} (Error: {1})", reason, toErrorMessage(error)));
|
|
570
553
|
});
|
|
571
554
|
}
|
|
572
555
|
}
|
|
@@ -578,33 +561,21 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
578
561
|
else {
|
|
579
562
|
const vetoReasonsArray = Array.from(vetoReasons);
|
|
580
563
|
this._logService.warn(`Extension host was not stopped because of veto (stop reason: ${reason}, veto reason: ${vetoReasonsArray.join(', ')})`);
|
|
581
|
-
await this._dialogService.warn((
|
|
582
|
-
'
|
|
583
|
-
"The
|
|
584
|
-
reason
|
|
585
|
-
))), vetoReasonsArray.length === 1 ?
|
|
586
|
-
( (nls.localize(
|
|
587
|
-
'extensionStopVetoDetailsOne',
|
|
588
|
-
"The reason for blocking the operation: {0}",
|
|
589
|
-
vetoReasonsArray[0]
|
|
590
|
-
))) :
|
|
591
|
-
( (nls.localize(
|
|
592
|
-
'extensionStopVetoDetailsMany',
|
|
593
|
-
"The reasons for blocking the operation:\n- {0}",
|
|
594
|
-
vetoReasonsArray.join('\n -')
|
|
595
|
-
))));
|
|
564
|
+
await this._dialogService.warn(nls.localizeWithPath('vs/workbench/services/extensions/common/abstractExtensionService', 'extensionStopVetoMessage', "The following operation was blocked: {0}", reason), vetoReasonsArray.length === 1 ?
|
|
565
|
+
nls.localizeWithPath('vs/workbench/services/extensions/common/abstractExtensionService', 'extensionStopVetoDetailsOne', "The reason for blocking the operation: {0}", vetoReasonsArray[0]) :
|
|
566
|
+
nls.localizeWithPath('vs/workbench/services/extensions/common/abstractExtensionService', 'extensionStopVetoDetailsMany', "The reasons for blocking the operation:\n- {0}", vetoReasonsArray.join('\n -')));
|
|
596
567
|
}
|
|
597
568
|
return !veto;
|
|
598
569
|
}
|
|
599
570
|
_startExtensionHostsIfNecessary(isInitialStart, initialActivationEvents) {
|
|
600
571
|
const locations = [];
|
|
601
572
|
for (let affinity = 0; affinity <= this._runningLocations.maxLocalProcessAffinity; affinity++) {
|
|
602
|
-
locations.push((
|
|
573
|
+
locations.push(( new LocalProcessRunningLocation(affinity)));
|
|
603
574
|
}
|
|
604
575
|
for (let affinity = 0; affinity <= this._runningLocations.maxLocalWebWorkerAffinity; affinity++) {
|
|
605
|
-
locations.push((
|
|
576
|
+
locations.push(( new LocalWebWorkerRunningLocation(affinity)));
|
|
606
577
|
}
|
|
607
|
-
locations.push((
|
|
578
|
+
locations.push(( new RemoteRunningLocation()));
|
|
608
579
|
for (const location of locations) {
|
|
609
580
|
if (this._getExtensionHostManagerByRunningLocation(location)) {
|
|
610
581
|
continue;
|
|
@@ -663,17 +634,15 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
663
634
|
}
|
|
664
635
|
}
|
|
665
636
|
_getExtensionHostExitInfoWithTimeout(reconnectionToken) {
|
|
666
|
-
return (
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
}))
|
|
676
|
-
);
|
|
637
|
+
return ( new Promise((resolve, reject) => {
|
|
638
|
+
const timeoutHandle = setTimeout(() => {
|
|
639
|
+
reject(( new Error('getExtensionHostExitInfo timed out')));
|
|
640
|
+
}, 2000);
|
|
641
|
+
this._remoteAgentService.getExtensionHostExitInfo(reconnectionToken).then((r) => {
|
|
642
|
+
clearTimeout(timeoutHandle);
|
|
643
|
+
resolve(r);
|
|
644
|
+
}, reject);
|
|
645
|
+
}));
|
|
677
646
|
}
|
|
678
647
|
async _onRemoteExtensionHostCrashed(extensionHost, reconnectionToken) {
|
|
679
648
|
try {
|
|
@@ -685,20 +654,14 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
685
654
|
this._remoteCrashTracker.registerCrash();
|
|
686
655
|
if (this._remoteCrashTracker.shouldAutomaticallyRestart()) {
|
|
687
656
|
this._logService.info(`Automatically restarting the remote extension host.`);
|
|
688
|
-
this._notificationService.status((
|
|
689
|
-
|
|
690
|
-
"The remote extension host terminated unexpectedly. Restarting..."
|
|
691
|
-
))), { hideAfter: 5000 });
|
|
692
|
-
this._startExtensionHostsIfNecessary(false, Array.from(( (this._allRequestedActivateEvents.keys()))));
|
|
657
|
+
this._notificationService.status(nls.localizeWithPath('vs/workbench/services/extensions/common/abstractExtensionService', 'extensionService.autoRestart', "The remote extension host terminated unexpectedly. Restarting..."), { hideAfter: 5000 });
|
|
658
|
+
this._startExtensionHostsIfNecessary(false, Array.from(( this._allRequestedActivateEvents.keys())));
|
|
693
659
|
}
|
|
694
660
|
else {
|
|
695
|
-
this._notificationService.prompt(Severity.Error, (
|
|
696
|
-
|
|
697
|
-
"Remote Extension host terminated unexpectedly 3 times within the last 5 minutes."
|
|
698
|
-
))), [{
|
|
699
|
-
label: ( (nls.localize('restart', "Restart Remote Extension Host"))),
|
|
661
|
+
this._notificationService.prompt(Severity.Error, nls.localizeWithPath('vs/workbench/services/extensions/common/abstractExtensionService', 'extensionService.crash', "Remote Extension host terminated unexpectedly 3 times within the last 5 minutes."), [{
|
|
662
|
+
label: nls.localizeWithPath('vs/workbench/services/extensions/common/abstractExtensionService', 'restart', "Restart Remote Extension Host"),
|
|
700
663
|
run: () => {
|
|
701
|
-
this._startExtensionHostsIfNecessary(false, Array.from((
|
|
664
|
+
this._startExtensionHostsIfNecessary(false, Array.from(( this._allRequestedActivateEvents.keys())));
|
|
702
665
|
}
|
|
703
666
|
}]);
|
|
704
667
|
}
|
|
@@ -708,13 +671,13 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
708
671
|
}
|
|
709
672
|
_logExtensionHostCrash(extensionHost) {
|
|
710
673
|
const activatedExtensions = [];
|
|
711
|
-
for (const extensionStatus of (
|
|
674
|
+
for (const extensionStatus of ( this._extensionStatus.values())) {
|
|
712
675
|
if (extensionStatus.activationStarted && extensionHost.containsExtension(extensionStatus.id)) {
|
|
713
676
|
activatedExtensions.push(extensionStatus.id);
|
|
714
677
|
}
|
|
715
678
|
}
|
|
716
679
|
if (activatedExtensions.length > 0) {
|
|
717
|
-
this._logService.error(`Extension host (${extensionHostKindToString(extensionHost.kind)}) terminated unexpectedly. The following extensions were running: ${(
|
|
680
|
+
this._logService.error(`Extension host (${extensionHostKindToString(extensionHost.kind)}) terminated unexpectedly. The following extensions were running: ${( activatedExtensions.map(id => id.value)).join(', ')}`);
|
|
718
681
|
}
|
|
719
682
|
else {
|
|
720
683
|
this._logService.error(`Extension host (${extensionHostKindToString(extensionHost.kind)}) terminated unexpectedly. No extensions were activated.`);
|
|
@@ -724,9 +687,9 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
724
687
|
this._doStopExtensionHosts();
|
|
725
688
|
const lock = await this._registry.acquireLock('startExtensionHosts');
|
|
726
689
|
try {
|
|
727
|
-
this._startExtensionHostsIfNecessary(false, Array.from((
|
|
690
|
+
this._startExtensionHostsIfNecessary(false, Array.from(( this._allRequestedActivateEvents.keys())));
|
|
728
691
|
const localProcessExtensionHosts = this._getExtensionHostManagers(1 );
|
|
729
|
-
await Promise.all((
|
|
692
|
+
await Promise.all(( localProcessExtensionHosts.map(extHost => extHost.ready())));
|
|
730
693
|
}
|
|
731
694
|
finally {
|
|
732
695
|
lock.dispose();
|
|
@@ -749,9 +712,9 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
749
712
|
}
|
|
750
713
|
}
|
|
751
714
|
_activateByEvent(activationEvent, activationKind) {
|
|
752
|
-
const result = Promise.all((
|
|
715
|
+
const result = Promise.all(( this._extensionHostManagers.map(
|
|
753
716
|
extHostManager => extHostManager.activateByEvent(activationEvent, activationKind)
|
|
754
|
-
)))
|
|
717
|
+
))).then(() => { });
|
|
755
718
|
this._onWillActivateByEvent.fire({
|
|
756
719
|
event: activationEvent,
|
|
757
720
|
activation: result
|
|
@@ -787,7 +750,7 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
787
750
|
const result = [];
|
|
788
751
|
for (const desc of availableExtensions) {
|
|
789
752
|
if (desc.contributes && hasOwnProperty.call(desc.contributes, extPoint.name)) {
|
|
790
|
-
result.push((
|
|
753
|
+
result.push(( new ExtensionPointContribution(desc, desc.contributes[extPoint.name])));
|
|
791
754
|
}
|
|
792
755
|
}
|
|
793
756
|
return result;
|
|
@@ -812,12 +775,12 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
812
775
|
return result;
|
|
813
776
|
}
|
|
814
777
|
async getInspectPorts(extensionHostKind, tryEnableInspector) {
|
|
815
|
-
const result = await Promise.all((
|
|
778
|
+
const result = await Promise.all(( this._getExtensionHostManagers(extensionHostKind).map(extHost => extHost.getInspectPort(tryEnableInspector))));
|
|
816
779
|
return result.filter(element => Boolean(element));
|
|
817
780
|
}
|
|
818
781
|
async setRemoteEnvironment(env) {
|
|
819
|
-
await (
|
|
820
|
-
.map(manager => manager.setRemoteEnvironment(env)))
|
|
782
|
+
await ( this._extensionHostManagers
|
|
783
|
+
.map(manager => manager.setRemoteEnvironment(env)));
|
|
821
784
|
}
|
|
822
785
|
_safeInvokeIsEnabled(extension) {
|
|
823
786
|
try {
|
|
@@ -852,8 +815,8 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
852
815
|
performance.mark('code/didHandleExtensionPoints');
|
|
853
816
|
}
|
|
854
817
|
_getOrCreateExtensionStatus(extensionId) {
|
|
855
|
-
if (!(
|
|
856
|
-
this._extensionStatus.set(extensionId, (
|
|
818
|
+
if (!( this._extensionStatus.has(extensionId))) {
|
|
819
|
+
this._extensionStatus.set(extensionId, ( new ExtensionStatus(extensionId)));
|
|
857
820
|
}
|
|
858
821
|
return this._extensionStatus.get(extensionId);
|
|
859
822
|
}
|
|
@@ -891,7 +854,7 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
891
854
|
users.push({
|
|
892
855
|
description: desc,
|
|
893
856
|
value: desc.contributes[extensionPoint.name],
|
|
894
|
-
collector: (
|
|
857
|
+
collector: ( new ExtensionMessageCollector(messageHandler, desc, extensionPoint.name))
|
|
895
858
|
});
|
|
896
859
|
}
|
|
897
860
|
}
|
|
@@ -917,8 +880,8 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
917
880
|
};
|
|
918
881
|
}
|
|
919
882
|
async _activateById(extensionId, reason) {
|
|
920
|
-
const results = await Promise.all((
|
|
921
|
-
const activated = (
|
|
883
|
+
const results = await Promise.all(( this._extensionHostManagers.map(manager => manager.activate(extensionId, reason))));
|
|
884
|
+
const activated = ( results.some(e => e));
|
|
922
885
|
if (!activated) {
|
|
923
886
|
throw new Error(`Unknown extension ${extensionId.value}`);
|
|
924
887
|
}
|
|
@@ -930,7 +893,7 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
930
893
|
}
|
|
931
894
|
_onDidActivateExtension(extensionId, codeLoadingTime, activateCallTime, activateResolvedTime, activationReason) {
|
|
932
895
|
const extensionStatus = this._getOrCreateExtensionStatus(extensionId);
|
|
933
|
-
extensionStatus.setActivationTimes((
|
|
896
|
+
extensionStatus.setActivationTimes(( new ActivationTimes(codeLoadingTime, activateCallTime, activateResolvedTime, activationReason)));
|
|
934
897
|
this._onDidChangeExtensionsStatus.fire([extensionId]);
|
|
935
898
|
}
|
|
936
899
|
_onDidActivateExtensionError(extensionId, error) {
|
|
@@ -945,25 +908,25 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
945
908
|
this._onDidChangeExtensionsStatus.fire([extensionId]);
|
|
946
909
|
}
|
|
947
910
|
};
|
|
948
|
-
AbstractExtensionService = AbstractExtensionService_1 = (
|
|
949
|
-
(
|
|
950
|
-
(
|
|
951
|
-
(
|
|
952
|
-
(
|
|
953
|
-
(
|
|
954
|
-
(
|
|
955
|
-
(
|
|
956
|
-
(
|
|
957
|
-
(
|
|
958
|
-
(
|
|
959
|
-
(
|
|
960
|
-
(
|
|
961
|
-
(
|
|
962
|
-
(
|
|
963
|
-
(
|
|
964
|
-
(
|
|
965
|
-
(
|
|
966
|
-
], AbstractExtensionService))
|
|
911
|
+
AbstractExtensionService = AbstractExtensionService_1 = ( __decorate([
|
|
912
|
+
( __param(3, IInstantiationService)),
|
|
913
|
+
( __param(4, INotificationService)),
|
|
914
|
+
( __param(5, IWorkbenchEnvironmentService)),
|
|
915
|
+
( __param(6, ITelemetryService)),
|
|
916
|
+
( __param(7, IWorkbenchExtensionEnablementService)),
|
|
917
|
+
( __param(8, IFileService)),
|
|
918
|
+
( __param(9, IProductService)),
|
|
919
|
+
( __param(10, IWorkbenchExtensionManagementService)),
|
|
920
|
+
( __param(11, IWorkspaceContextService)),
|
|
921
|
+
( __param(12, IConfigurationService)),
|
|
922
|
+
( __param(13, IExtensionManifestPropertiesService)),
|
|
923
|
+
( __param(14, ILogService)),
|
|
924
|
+
( __param(15, IRemoteAgentService)),
|
|
925
|
+
( __param(16, IRemoteExtensionsScannerService)),
|
|
926
|
+
( __param(17, ILifecycleService)),
|
|
927
|
+
( __param(18, IRemoteAuthorityResolverService)),
|
|
928
|
+
( __param(19, IDialogService))
|
|
929
|
+
], AbstractExtensionService));
|
|
967
930
|
class ResolvedExtensions {
|
|
968
931
|
constructor(local, remote, hasLocalProcess, allowRemoteExtensionsInLocalWebWorker) {
|
|
969
932
|
this.local = local;
|