@codingame/monaco-vscode-extensions-service-override 4.4.1 → 4.5.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 +21 -21
- package/extensions.js +29 -27
- package/localExtensionHost.d.ts +8 -8
- package/override/vs/workbench/browser/parts/editor/textEditor.weak.js +4 -1
- package/package.json +11 -3
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagementCLI.js +2 -1
- package/vscode/src/vs/platform/extensionResourceLoader/browser/extensionResourceLoaderService.js +7 -6
- package/vscode/src/vs/platform/remote/common/managedSocket.js +1 -1
- package/vscode/src/vs/platform/remote/common/remoteExtensionsScanner.service.d.ts +13 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadAiEmbeddingVector.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadAiRelatedInformation.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.js +9 -10
- package/vscode/src/vs/workbench/api/browser/mainThreadBulkEdits.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadCLICommands.js +8 -7
- package/vscode/src/vs/workbench/api/browser/mainThreadChat.js +4 -4
- package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.js +5 -4
- package/vscode/src/vs/workbench/api/browser/mainThreadChatVariables.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadClipboard.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadCodeInsets.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadCommands.js +4 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadComments.js +5 -4
- package/vscode/src/vs/workbench/api/browser/mainThreadConfiguration.js +4 -4
- package/vscode/src/vs/workbench/api/browser/mainThreadConsole.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.js +14 -15
- package/vscode/src/vs/workbench/api/browser/mainThreadDebugService.js +4 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadDecorations.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadDiagnostics.js +3 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadDialogs.js +1 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadDocumentContentProviders.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadDocuments.js +7 -7
- package/vscode/src/vs/workbench/api/browser/mainThreadDocumentsAndEditors.js +11 -11
- package/vscode/src/vs/workbench/api/browser/mainThreadDownloadService.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadEditSessionIdentityParticipant.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadEditor.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.js +7 -5
- package/vscode/src/vs/workbench/api/browser/mainThreadEditors.js +5 -5
- package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.js +9 -9
- package/vscode/src/vs/workbench/api/browser/mainThreadFileSystem.js +3 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.js +10 -11
- package/vscode/src/vs/workbench/api/browser/mainThreadInlineChat.js +3 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadInteractive.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadIssueReporter.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadLabelService.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.js +9 -7
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguages.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadLocalization.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadLogService.js +4 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadManagedSockets.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadMessageService.js +4 -5
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebook.js +5 -4
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocuments.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocumentsAndEditors.js +5 -5
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookEditors.js +4 -4
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookKernels.js +6 -5
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookRenderers.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadOutputService.js +3 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadProfileContentHandlers.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadProgress.js +3 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadQuickDiff.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadQuickOpen.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadRemoteConnectionData.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadSCM.js +5 -5
- package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadSearch.js +5 -5
- package/vscode/src/vs/workbench/api/browser/mainThreadSecretState.js +4 -4
- package/vscode/src/vs/workbench/api/browser/mainThreadShare.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadSpeech.js +3 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadStatusBar.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadStorage.js +4 -4
- package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +4 -4
- package/vscode/src/vs/workbench/api/browser/mainThreadTelemetry.js +5 -4
- package/vscode/src/vs/workbench/api/browser/mainThreadTerminalService.js +9 -8
- package/vscode/src/vs/workbench/api/browser/mainThreadTerminalShellIntegration.js +3 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadTesting.js +5 -5
- package/vscode/src/vs/workbench/api/browser/mainThreadTheming.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadTimeline.js +3 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadTreeViews.js +5 -5
- package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.js +14 -10
- package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.js +9 -7
- package/vscode/src/vs/workbench/api/browser/mainThreadUrls.js +3 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviewPanels.js +9 -7
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviewViews.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadWindow.js +4 -4
- package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.js +14 -13
- package/vscode/src/vs/workbench/contrib/customEditor/common/customTextEditorModel.js +1 -1
- package/vscode/src/vs/workbench/contrib/externalUriOpener/common/contributedOpeners.js +2 -2
- package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionBisect.js +399 -0
- package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.d.ts +53 -0
- package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.service.d.ts +106 -0
- package/vscode/src/vs/workbench/services/extensions/browser/extensionService.d.ts +45 -0
- package/vscode/src/vs/workbench/services/extensions/browser/extensionService.js +20 -20
- package/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.d.ts +10 -0
- package/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.js +10 -10
- package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +162 -0
- package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +25 -23
- package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.d.ts +18 -0
- package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +5 -5
- package/vscode/src/vs/workbench/services/extensions/common/extensionHostManagers.d.ts +39 -0
- package/vscode/src/vs/workbench/services/extensions/common/extensionHostProxy.d.ts +17 -0
- package/vscode/src/vs/workbench/services/extensions/common/extensionManifestPropertiesService.service.d.ts +20 -0
- package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.d.ts +45 -0
- package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.js +4 -4
- package/vscode/src/vs/workbench/services/extensions/common/extensionStorageMigration.js +9 -8
- package/vscode/src/vs/workbench/services/extensions/common/extensionsProposedApi.d.ts +17 -0
- package/vscode/src/vs/workbench/services/extensions/common/extensionsProposedApi.js +3 -3
- package/vscode/src/vs/workbench/services/extensions/common/lazyCreateExtensionHostManager.js +1 -1
- package/vscode/src/vs/workbench/services/extensions/common/remoteExtensionHost.js +10 -10
- package/vscode/src/vs/workbench/services/extensions/common/rpcProtocol.d.ts +6 -0
- package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.d.ts +49 -0
- package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.service.d.ts +40 -0
- package/vscode/src/vs/workbench/services/remote/common/tunnelModel.d.ts +185 -0
- package/vscode/src/vs/workbench/services/userData/browser/userDataInit.d.ts +11 -0
- package/vscode/src/vs/workbench/services/userData/browser/userDataInit.service.d.ts +9 -0
- package/override/vs/platform/dialogs/common/dialogs.js +0 -10
package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.service.d.ts
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { ServiceIdentifier } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
|
|
2
|
+
import { Event } from 'vscode/vscode/vs/base/common/event';
|
|
3
|
+
import { IExtensionManagementService } from 'vscode/vscode/vs/platform/extensionManagement/common/extensionManagement.service';
|
|
4
|
+
import { InstallExtensionOnServerEvent, UninstallExtensionOnServerEvent, DidUninstallExtensionOnServerEvent, DidChangeProfileForServerEvent, IResourceExtension, EnablementState, ScanOptions, IScannedExtension, DidChangeProfileEvent } from './extensionManagement.js';
|
|
5
|
+
import { IExtension, IExtensionManifest, ExtensionType } from 'vscode/vscode/vs/platform/extensions/common/extensions';
|
|
6
|
+
import { URI } from 'vscode/vscode/vs/base/common/uri';
|
|
7
|
+
import { InstallExtensionResult, ILocalExtension, InstallOptions, IGalleryExtension, Metadata } from 'vscode/vscode/vs/platform/extensionManagement/common/extensionManagement';
|
|
8
|
+
|
|
9
|
+
declare const IProfileAwareExtensionManagementService: ServiceIdentifier<IProfileAwareExtensionManagementService>;
|
|
10
|
+
interface IProfileAwareExtensionManagementService extends IExtensionManagementService {
|
|
11
|
+
readonly onDidChangeProfile: Event<DidChangeProfileEvent>;
|
|
12
|
+
}
|
|
13
|
+
declare const IWorkbenchExtensionManagementService: ServiceIdentifier<IWorkbenchExtensionManagementService>;
|
|
14
|
+
interface IWorkbenchExtensionManagementService extends IProfileAwareExtensionManagementService {
|
|
15
|
+
readonly _serviceBrand: undefined;
|
|
16
|
+
onInstallExtension: Event<InstallExtensionOnServerEvent>;
|
|
17
|
+
onDidInstallExtensions: Event<readonly InstallExtensionResult[]>;
|
|
18
|
+
onUninstallExtension: Event<UninstallExtensionOnServerEvent>;
|
|
19
|
+
onDidUninstallExtension: Event<DidUninstallExtensionOnServerEvent>;
|
|
20
|
+
onDidChangeProfile: Event<DidChangeProfileForServerEvent>;
|
|
21
|
+
onDidEnableExtensions: Event<IExtension[]>;
|
|
22
|
+
isWorkspaceExtensionsSupported(): boolean;
|
|
23
|
+
getExtensions(locations: URI[]): Promise<IResourceExtension[]>;
|
|
24
|
+
getInstalledWorkspaceExtensions(includeInvalid: boolean): Promise<ILocalExtension[]>;
|
|
25
|
+
installVSIX(location: URI, manifest: IExtensionManifest, installOptions?: InstallOptions): Promise<ILocalExtension>;
|
|
26
|
+
installFromLocation(location: URI): Promise<ILocalExtension>;
|
|
27
|
+
installResourceExtension(extension: IResourceExtension, installOptions: InstallOptions): Promise<ILocalExtension>;
|
|
28
|
+
updateFromGallery(gallery: IGalleryExtension, extension: ILocalExtension, installOptions?: InstallOptions): Promise<ILocalExtension>;
|
|
29
|
+
}
|
|
30
|
+
declare const IWorkbenchExtensionEnablementService: ServiceIdentifier<IWorkbenchExtensionEnablementService>;
|
|
31
|
+
interface IWorkbenchExtensionEnablementService {
|
|
32
|
+
readonly _serviceBrand: undefined;
|
|
33
|
+
/**
|
|
34
|
+
* Event to listen on for extension enablement changes
|
|
35
|
+
*/
|
|
36
|
+
readonly onEnablementChanged: Event<readonly IExtension[]>;
|
|
37
|
+
/**
|
|
38
|
+
* Returns the enablement state for the given extension
|
|
39
|
+
*/
|
|
40
|
+
getEnablementState(extension: IExtension): EnablementState;
|
|
41
|
+
/**
|
|
42
|
+
* Returns the enablement states for the given extensions
|
|
43
|
+
* @param extensions list of extensions
|
|
44
|
+
* @param workspaceTypeOverrides Workspace type overrides
|
|
45
|
+
*/
|
|
46
|
+
getEnablementStates(extensions: IExtension[], workspaceTypeOverrides?: {
|
|
47
|
+
trusted?: boolean;
|
|
48
|
+
}): EnablementState[];
|
|
49
|
+
/**
|
|
50
|
+
* Returns the enablement states for the dependencies of the given extension
|
|
51
|
+
*/
|
|
52
|
+
getDependenciesEnablementStates(extension: IExtension): [IExtension, EnablementState][];
|
|
53
|
+
/**
|
|
54
|
+
* Returns `true` if the enablement can be changed.
|
|
55
|
+
*/
|
|
56
|
+
canChangeEnablement(extension: IExtension): boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Returns `true` if the enablement can be changed.
|
|
59
|
+
*/
|
|
60
|
+
canChangeWorkspaceEnablement(extension: IExtension): boolean;
|
|
61
|
+
/**
|
|
62
|
+
* Returns `true` if the given extension is enabled.
|
|
63
|
+
*/
|
|
64
|
+
isEnabled(extension: IExtension): boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Returns `true` if the given enablement state is enabled enablement state.
|
|
67
|
+
*/
|
|
68
|
+
isEnabledEnablementState(enablementState: EnablementState): boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Returns `true` if the given extension identifier is disabled globally.
|
|
71
|
+
* Extensions can be disabled globally or in workspace or both.
|
|
72
|
+
* If an extension is disabled in both then enablement state shows only workspace.
|
|
73
|
+
* This will
|
|
74
|
+
*/
|
|
75
|
+
isDisabledGlobally(extension: IExtension): boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Enable or disable the given extension.
|
|
78
|
+
* if `workspace` is `true` then enablement is done for workspace, otherwise globally.
|
|
79
|
+
*
|
|
80
|
+
* Returns a promise that resolves to boolean value.
|
|
81
|
+
* if resolves to `true` then requires restart for the change to take effect.
|
|
82
|
+
*
|
|
83
|
+
* Throws error if enablement is requested for workspace and there is no workspace
|
|
84
|
+
*/
|
|
85
|
+
setEnablement(extensions: IExtension[], state: EnablementState): Promise<boolean[]>;
|
|
86
|
+
/**
|
|
87
|
+
* Updates the enablement state of the extensions when workspace trust changes.
|
|
88
|
+
*/
|
|
89
|
+
updateExtensionsEnablementsWhenWorkspaceTrustChanges(): Promise<void>;
|
|
90
|
+
}
|
|
91
|
+
declare const IWebExtensionsScannerService: ServiceIdentifier<IWebExtensionsScannerService>;
|
|
92
|
+
interface IWebExtensionsScannerService {
|
|
93
|
+
readonly _serviceBrand: undefined;
|
|
94
|
+
scanSystemExtensions(): Promise<IExtension[]>;
|
|
95
|
+
scanUserExtensions(profileLocation: URI, options?: ScanOptions): Promise<IScannedExtension[]>;
|
|
96
|
+
scanExtensionsUnderDevelopment(): Promise<IExtension[]>;
|
|
97
|
+
scanExistingExtension(extensionLocation: URI, extensionType: ExtensionType, profileLocation: URI): Promise<IScannedExtension | null>;
|
|
98
|
+
addExtension(location: URI, metadata: Metadata, profileLocation: URI): Promise<IScannedExtension>;
|
|
99
|
+
addExtensionFromGallery(galleryExtension: IGalleryExtension, metadata: Metadata, profileLocation: URI): Promise<IScannedExtension>;
|
|
100
|
+
removeExtension(extension: IScannedExtension, profileLocation: URI): Promise<void>;
|
|
101
|
+
copyExtensions(fromProfileLocation: URI, toProfileLocation: URI, filter: (extension: IScannedExtension) => boolean): Promise<void>;
|
|
102
|
+
updateMetadata(extension: IScannedExtension, metaData: Partial<Metadata>, profileLocation: URI): Promise<IScannedExtension>;
|
|
103
|
+
scanExtensionManifest(extensionLocation: URI): Promise<IExtensionManifest | null>;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
export { IProfileAwareExtensionManagementService, IWebExtensionsScannerService, IWorkbenchExtensionEnablementService, IWorkbenchExtensionManagementService };
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration.service';
|
|
2
|
+
import { IDialogService } from 'vscode/vscode/vs/platform/dialogs/common/dialogs.service';
|
|
3
|
+
import { IExtension, IExtensionDescription } from 'vscode/vscode/vs/platform/extensions/common/extensions';
|
|
4
|
+
import { IFileService } from 'vscode/vscode/vs/platform/files/common/files.service';
|
|
5
|
+
import { IInstantiationService } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
|
|
6
|
+
import { ILogService } from 'vscode/vscode/vs/platform/log/common/log.service';
|
|
7
|
+
import { INotificationService } from 'vscode/vscode/vs/platform/notification/common/notification.service';
|
|
8
|
+
import { IProductService } from 'vscode/vscode/vs/platform/product/common/productService.service';
|
|
9
|
+
import { ResolverResult } from 'vscode/vscode/vs/platform/remote/common/remoteAuthorityResolver';
|
|
10
|
+
import { IRemoteAuthorityResolverService } from 'vscode/vscode/vs/platform/remote/common/remoteAuthorityResolver.service';
|
|
11
|
+
import { IRemoteExtensionsScannerService } from '../../../../platform/remote/common/remoteExtensionsScanner.service.js';
|
|
12
|
+
import { ITelemetryService } from 'vscode/vscode/vs/platform/telemetry/common/telemetry.service';
|
|
13
|
+
import { IWorkspaceContextService } from 'vscode/vscode/vs/platform/workspace/common/workspace.service';
|
|
14
|
+
import { IWorkspaceTrustManagementService } from 'vscode/vscode/vs/platform/workspace/common/workspaceTrust.service';
|
|
15
|
+
import { IBrowserWorkbenchEnvironmentService } from 'vscode/vscode/vs/workbench/services/environment/browser/environmentService.service';
|
|
16
|
+
import { IWorkbenchExtensionEnablementService, IWorkbenchExtensionManagementService, IWebExtensionsScannerService } from '../../extensionManagement/common/extensionManagement.service.js';
|
|
17
|
+
import { IExtensionHostKindPicker } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionHostKind';
|
|
18
|
+
import { IExtensionService } from 'vscode/vscode/vs/workbench/services/extensions/common/extensions.service';
|
|
19
|
+
import { AbstractExtensionService, IExtensionHostFactory, ResolvedExtensions } from '../common/abstractExtensionService.js';
|
|
20
|
+
import { IExtensionManifestPropertiesService } from '../common/extensionManifestPropertiesService.service.js';
|
|
21
|
+
import { ExtensionsProposedApi } from '../common/extensionsProposedApi.js';
|
|
22
|
+
import { ILifecycleService } from 'vscode/vscode/vs/workbench/services/lifecycle/common/lifecycle.service';
|
|
23
|
+
import { IRemoteAgentService } from 'vscode/vscode/vs/workbench/services/remote/common/remoteAgentService.service';
|
|
24
|
+
import { IRemoteExplorerService } from '../../remote/common/remoteExplorerService.service.js';
|
|
25
|
+
import { IUserDataInitializationService } from '../../userData/browser/userDataInit.service.js';
|
|
26
|
+
import { IUserDataProfileService } from 'vscode/vscode/vs/workbench/services/userDataProfile/common/userDataProfile.service';
|
|
27
|
+
|
|
28
|
+
declare class ExtensionService extends AbstractExtensionService implements IExtensionService {
|
|
29
|
+
private readonly _browserEnvironmentService;
|
|
30
|
+
private readonly _webExtensionsScannerService;
|
|
31
|
+
private readonly _userDataInitializationService;
|
|
32
|
+
private readonly _userDataProfileService;
|
|
33
|
+
private readonly _workspaceTrustManagementService;
|
|
34
|
+
private readonly _remoteExplorerService;
|
|
35
|
+
constructor(extensionsProposedApi: ExtensionsProposedApi, extensionHostFactory: IExtensionHostFactory, extensionHostKindPicker: IExtensionHostKindPicker, instantiationService: IInstantiationService, notificationService: INotificationService, _browserEnvironmentService: IBrowserWorkbenchEnvironmentService, telemetryService: ITelemetryService, extensionEnablementService: IWorkbenchExtensionEnablementService, fileService: IFileService, productService: IProductService, extensionManagementService: IWorkbenchExtensionManagementService, contextService: IWorkspaceContextService, configurationService: IConfigurationService, extensionManifestPropertiesService: IExtensionManifestPropertiesService, _webExtensionsScannerService: IWebExtensionsScannerService, logService: ILogService, remoteAgentService: IRemoteAgentService, remoteExtensionsScannerService: IRemoteExtensionsScannerService, lifecycleService: ILifecycleService, remoteAuthorityResolverService: IRemoteAuthorityResolverService, _userDataInitializationService: IUserDataInitializationService, _userDataProfileService: IUserDataProfileService, _workspaceTrustManagementService: IWorkspaceTrustManagementService, _remoteExplorerService: IRemoteExplorerService, dialogService: IDialogService);
|
|
36
|
+
protected _scanSingleExtension(extension: IExtension): Promise<IExtensionDescription | null>;
|
|
37
|
+
private _initFetchFileSystem;
|
|
38
|
+
protected _scanWebExtensions(): Promise<IExtensionDescription[]>;
|
|
39
|
+
protected _resolveExtensionsDefault(): Promise<ResolvedExtensions>;
|
|
40
|
+
protected _resolveExtensions(): Promise<ResolvedExtensions>;
|
|
41
|
+
protected _onExtensionHostExit(code: number): Promise<void>;
|
|
42
|
+
protected _resolveAuthority(remoteAuthority: string): Promise<ResolverResult>;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export { ExtensionService };
|
|
@@ -1,37 +1,37 @@
|
|
|
1
1
|
import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
|
|
2
2
|
import { mainWindow } from 'vscode/vscode/vs/base/browser/window';
|
|
3
3
|
import { Schemas } from 'vscode/vscode/vs/base/common/network';
|
|
4
|
-
import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration';
|
|
5
|
-
import '
|
|
6
|
-
import { IFileService } from 'vscode/vscode/vs/platform/files/common/files';
|
|
4
|
+
import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration.service';
|
|
5
|
+
import { IDialogService } from 'vscode/vscode/vs/platform/dialogs/common/dialogs.service';
|
|
6
|
+
import { IFileService } from 'vscode/vscode/vs/platform/files/common/files.service';
|
|
7
7
|
import { IInstantiationService } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
|
|
8
8
|
import { getLogs } from 'vscode/vscode/vs/platform/log/browser/log';
|
|
9
|
-
import { ILogService } from 'vscode/vscode/vs/platform/log/common/log';
|
|
10
|
-
import { INotificationService } from 'vscode/vscode/vs/platform/notification/common/notification';
|
|
11
|
-
import { IProductService } from 'vscode/vscode/vs/platform/product/common/productService';
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
9
|
+
import { ILogService } from 'vscode/vscode/vs/platform/log/common/log.service';
|
|
10
|
+
import { INotificationService } from 'vscode/vscode/vs/platform/notification/common/notification.service';
|
|
11
|
+
import { IProductService } from 'vscode/vscode/vs/platform/product/common/productService.service';
|
|
12
|
+
import { RemoteAuthorityResolverError } from 'vscode/vscode/vs/platform/remote/common/remoteAuthorityResolver';
|
|
13
|
+
import { IRemoteAuthorityResolverService } from 'vscode/vscode/vs/platform/remote/common/remoteAuthorityResolver.service';
|
|
14
|
+
import { IRemoteExtensionsScannerService } from 'vscode/vscode/vs/platform/remote/common/remoteExtensionsScanner.service';
|
|
15
|
+
import { ITelemetryService } from 'vscode/vscode/vs/platform/telemetry/common/telemetry.service';
|
|
16
|
+
import { IWorkspaceContextService } from 'vscode/vscode/vs/platform/workspace/common/workspace.service';
|
|
17
|
+
import { IWorkspaceTrustManagementService } from 'vscode/vscode/vs/platform/workspace/common/workspaceTrust.service';
|
|
18
|
+
import { IBrowserWorkbenchEnvironmentService } from 'vscode/vscode/vs/workbench/services/environment/browser/environmentService.service';
|
|
19
|
+
import { IWorkbenchExtensionEnablementService, IWorkbenchExtensionManagementService, IWebExtensionsScannerService } from 'vscode/vscode/vs/workbench/services/extensionManagement/common/extensionManagement.service';
|
|
19
20
|
import { WebWorkerExtensionHost } from './webWorkerExtensionHost.js';
|
|
20
21
|
import { FetchFileSystemProvider } from './webWorkerFileSystemProvider.js';
|
|
21
22
|
import { AbstractExtensionService, ResolvedExtensions, checkEnabledAndProposedAPI } from '../common/abstractExtensionService.js';
|
|
22
23
|
import { extensionRunningPreferenceToString, extensionHostKindToString } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionHostKind';
|
|
23
|
-
import { IExtensionManifestPropertiesService } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionManifestPropertiesService';
|
|
24
|
+
import { IExtensionManifestPropertiesService } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionManifestPropertiesService.service';
|
|
24
25
|
import { filterExtensionDescriptions } from '../common/extensionRunningLocationTracker.js';
|
|
25
26
|
import { toExtensionDescription, ExtensionHostExtensions } from 'vscode/vscode/vs/workbench/services/extensions/common/extensions';
|
|
26
27
|
import '../common/extensionsProposedApi.js';
|
|
27
28
|
import { dedupExtensions } from '../common/extensionsUtil.js';
|
|
28
29
|
import { RemoteExtensionHost } from '../common/remoteExtensionHost.js';
|
|
29
|
-
import { ILifecycleService } from 'vscode/vscode/vs/workbench/services/lifecycle/common/lifecycle';
|
|
30
|
-
import { IRemoteAgentService } from 'vscode/vscode/vs/workbench/services/remote/common/remoteAgentService';
|
|
31
|
-
import { IRemoteExplorerService } from 'vscode/vscode/vs/workbench/services/remote/common/remoteExplorerService';
|
|
32
|
-
import { IUserDataInitializationService } from 'vscode/vscode/vs/workbench/services/userData/browser/userDataInit';
|
|
33
|
-
import { IUserDataProfileService } from 'vscode/vscode/vs/workbench/services/userDataProfile/common/userDataProfile';
|
|
34
|
-
import { IDialogService } from 'vscode/vscode/vs/platform/dialogs/common/dialogs';
|
|
30
|
+
import { ILifecycleService } from 'vscode/vscode/vs/workbench/services/lifecycle/common/lifecycle.service';
|
|
31
|
+
import { IRemoteAgentService } from 'vscode/vscode/vs/workbench/services/remote/common/remoteAgentService.service';
|
|
32
|
+
import { IRemoteExplorerService } from 'vscode/vscode/vs/workbench/services/remote/common/remoteExplorerService.service';
|
|
33
|
+
import { IUserDataInitializationService } from 'vscode/vscode/vs/workbench/services/userData/browser/userDataInit.service';
|
|
34
|
+
import { IUserDataProfileService } from 'vscode/vscode/vs/workbench/services/userDataProfile/common/userDataProfile.service';
|
|
35
35
|
|
|
36
36
|
var BrowserExtensionHostKindPicker_1;
|
|
37
37
|
let ExtensionService = class ExtensionService extends AbstractExtensionService {
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ExtensionHostExtensions } from 'vscode/vscode/vs/workbench/services/extensions/common/extensions';
|
|
2
|
+
|
|
3
|
+
interface IWebWorkerExtensionHostInitData {
|
|
4
|
+
readonly extensions: ExtensionHostExtensions;
|
|
5
|
+
}
|
|
6
|
+
interface IWebWorkerExtensionHostDataProvider {
|
|
7
|
+
getInitData(): Promise<IWebWorkerExtensionHostInitData>;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export type { IWebWorkerExtensionHostDataProvider, IWebWorkerExtensionHostInitData };
|
|
@@ -4,7 +4,7 @@ import { parentOriginHash } from 'vscode/vscode/vs/base/browser/iframe';
|
|
|
4
4
|
import { mainWindow } from 'vscode/vscode/vs/base/browser/window';
|
|
5
5
|
import { Barrier } from 'vscode/vscode/vs/base/common/async';
|
|
6
6
|
import { VSBuffer } from 'vscode/vscode/vs/base/common/buffer';
|
|
7
|
-
import {
|
|
7
|
+
import { onUnexpectedError, canceled } from 'vscode/vscode/vs/base/common/errors';
|
|
8
8
|
import { Emitter, Event } from 'vscode/vscode/vs/base/common/event';
|
|
9
9
|
import { Disposable, toDisposable } from 'vscode/vscode/vs/base/common/lifecycle';
|
|
10
10
|
import { COI, FileAccess } from 'vscode/vscode/vs/base/common/network';
|
|
@@ -12,16 +12,16 @@ import { isWeb, Language, language } from 'vscode/vscode/vs/base/common/platform
|
|
|
12
12
|
import { joinPath } from 'vscode/vscode/vs/base/common/resources';
|
|
13
13
|
import { URI } from 'vscode/vscode/vs/base/common/uri';
|
|
14
14
|
import { generateUuid } from 'vscode/vscode/vs/base/common/uuid';
|
|
15
|
-
import { ILabelService } from 'vscode/vscode/vs/platform/label/common/label';
|
|
16
|
-
import { ILayoutService } from 'vscode/vscode/vs/platform/layout/browser/layoutService';
|
|
17
|
-
import { ILogService, ILoggerService } from 'vscode/vscode/vs/platform/log/common/log';
|
|
18
|
-
import { IProductService } from 'vscode/vscode/vs/platform/product/common/productService';
|
|
19
|
-
import { IStorageService } from 'vscode/vscode/vs/platform/storage/common/storage';
|
|
20
|
-
import { ITelemetryService } from 'vscode/vscode/vs/platform/telemetry/common/telemetry';
|
|
15
|
+
import { ILabelService } from 'vscode/vscode/vs/platform/label/common/label.service';
|
|
16
|
+
import { ILayoutService } from 'vscode/vscode/vs/platform/layout/browser/layoutService.service';
|
|
17
|
+
import { ILogService, ILoggerService } from 'vscode/vscode/vs/platform/log/common/log.service';
|
|
18
|
+
import { IProductService } from 'vscode/vscode/vs/platform/product/common/productService.service';
|
|
19
|
+
import { IStorageService } from 'vscode/vscode/vs/platform/storage/common/storage.service';
|
|
20
|
+
import { ITelemetryService } from 'vscode/vscode/vs/platform/telemetry/common/telemetry.service';
|
|
21
21
|
import { isLoggingOnly } from 'vscode/vscode/vs/platform/telemetry/common/telemetryUtils';
|
|
22
|
-
import { IUserDataProfilesService } from 'vscode/vscode/vs/platform/userDataProfile/common/userDataProfile';
|
|
23
|
-
import { IWorkspaceContextService } from 'vscode/vscode/vs/platform/workspace/common/workspace';
|
|
24
|
-
import { IBrowserWorkbenchEnvironmentService } from 'vscode/vscode/vs/workbench/services/environment/browser/environmentService';
|
|
22
|
+
import { IUserDataProfilesService } from 'vscode/vscode/vs/platform/userDataProfile/common/userDataProfile.service';
|
|
23
|
+
import { IWorkspaceContextService } from 'vscode/vscode/vs/platform/workspace/common/workspace.service';
|
|
24
|
+
import { IBrowserWorkbenchEnvironmentService } from 'vscode/vscode/vs/workbench/services/environment/browser/environmentService.service';
|
|
25
25
|
import { isMessageOfType, createMessageOfType, UIKind } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionHostProtocol';
|
|
26
26
|
|
|
27
27
|
let WebWorkerExtensionHost = class WebWorkerExtensionHost extends Disposable {
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { Event } from 'vscode/vscode/vs/base/common/event';
|
|
2
|
+
import { Disposable } from 'vscode/vscode/vs/base/common/lifecycle';
|
|
3
|
+
import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration.service';
|
|
4
|
+
import { IDialogService } from 'vscode/vscode/vs/platform/dialogs/common/dialogs.service';
|
|
5
|
+
import { ExtensionIdentifier, IExtensionDescription, IExtension, IExtensionContributions } from 'vscode/vscode/vs/platform/extensions/common/extensions';
|
|
6
|
+
import { IFileService } from 'vscode/vscode/vs/platform/files/common/files.service';
|
|
7
|
+
import { IInstantiationService } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
|
|
8
|
+
import { ILogService } from 'vscode/vscode/vs/platform/log/common/log.service';
|
|
9
|
+
import { INotificationService } from 'vscode/vscode/vs/platform/notification/common/notification.service';
|
|
10
|
+
import { IProductService } from 'vscode/vscode/vs/platform/product/common/productService.service';
|
|
11
|
+
import { ResolverResult } from 'vscode/vscode/vs/platform/remote/common/remoteAuthorityResolver';
|
|
12
|
+
import { IRemoteAuthorityResolverService } from 'vscode/vscode/vs/platform/remote/common/remoteAuthorityResolver.service';
|
|
13
|
+
import { IRemoteExtensionsScannerService } from '../../../../platform/remote/common/remoteExtensionsScanner.service.js';
|
|
14
|
+
import { ITelemetryService } from 'vscode/vscode/vs/platform/telemetry/common/telemetry.service';
|
|
15
|
+
import { IWorkspaceContextService } from 'vscode/vscode/vs/platform/workspace/common/workspace.service';
|
|
16
|
+
import { IWorkbenchEnvironmentService } from 'vscode/vscode/vs/workbench/services/environment/common/environmentService.service';
|
|
17
|
+
import { IWorkbenchExtensionEnablementService, IWorkbenchExtensionManagementService } from '../../extensionManagement/common/extensionManagement.service.js';
|
|
18
|
+
import { ExtensionDescriptionRegistrySnapshot } from './extensionDescriptionRegistry.js';
|
|
19
|
+
import { IExtensionHostKindPicker, ExtensionHostKind } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionHostKind';
|
|
20
|
+
import { IExtensionHostManager } from './extensionHostManagers.js';
|
|
21
|
+
import { IExtensionManifestPropertiesService } from './extensionManifestPropertiesService.service.js';
|
|
22
|
+
import { ExtensionRunningLocation } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionRunningLocation';
|
|
23
|
+
import { ExtensionRunningLocationTracker } from './extensionRunningLocationTracker.js';
|
|
24
|
+
import { IWillActivateEvent, IResponsiveStateChangeEvent, WillStopExtensionHostsEvent, IExtensionHost, ActivationKind, ExtensionActivationReason, ExtensionPointContribution, IExtensionsStatus } from 'vscode/vscode/vs/workbench/services/extensions/common/extensions';
|
|
25
|
+
import { IExtensionService } from 'vscode/vscode/vs/workbench/services/extensions/common/extensions.service';
|
|
26
|
+
import { ExtensionsProposedApi } from './extensionsProposedApi.js';
|
|
27
|
+
import { IExtensionPoint } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionsRegistry';
|
|
28
|
+
import { ILifecycleService } from 'vscode/vscode/vs/workbench/services/lifecycle/common/lifecycle.service';
|
|
29
|
+
import { IRemoteAgentService } from 'vscode/vscode/vs/workbench/services/remote/common/remoteAgentService.service';
|
|
30
|
+
|
|
31
|
+
declare abstract class AbstractExtensionService extends Disposable implements IExtensionService {
|
|
32
|
+
protected readonly _extensionsProposedApi: ExtensionsProposedApi;
|
|
33
|
+
protected readonly _extensionHostFactory: IExtensionHostFactory;
|
|
34
|
+
protected readonly _extensionHostKindPicker: IExtensionHostKindPicker;
|
|
35
|
+
protected readonly _instantiationService: IInstantiationService;
|
|
36
|
+
protected readonly _notificationService: INotificationService;
|
|
37
|
+
protected readonly _environmentService: IWorkbenchEnvironmentService;
|
|
38
|
+
protected readonly _telemetryService: ITelemetryService;
|
|
39
|
+
protected readonly _extensionEnablementService: IWorkbenchExtensionEnablementService;
|
|
40
|
+
protected readonly _fileService: IFileService;
|
|
41
|
+
protected readonly _productService: IProductService;
|
|
42
|
+
protected readonly _extensionManagementService: IWorkbenchExtensionManagementService;
|
|
43
|
+
private readonly _contextService;
|
|
44
|
+
private readonly _configurationService;
|
|
45
|
+
private readonly _extensionManifestPropertiesService;
|
|
46
|
+
protected readonly _logService: ILogService;
|
|
47
|
+
protected readonly _remoteAgentService: IRemoteAgentService;
|
|
48
|
+
protected readonly _remoteExtensionsScannerService: IRemoteExtensionsScannerService;
|
|
49
|
+
private readonly _lifecycleService;
|
|
50
|
+
protected readonly _remoteAuthorityResolverService: IRemoteAuthorityResolverService;
|
|
51
|
+
private readonly _dialogService;
|
|
52
|
+
_serviceBrand: undefined;
|
|
53
|
+
private readonly _onDidRegisterExtensions;
|
|
54
|
+
readonly onDidRegisterExtensions: Event<void>;
|
|
55
|
+
private readonly _onDidChangeExtensionsStatus;
|
|
56
|
+
readonly onDidChangeExtensionsStatus: Event<ExtensionIdentifier[]>;
|
|
57
|
+
private readonly _onDidChangeExtensions;
|
|
58
|
+
readonly onDidChangeExtensions: Event<{
|
|
59
|
+
readonly added: ReadonlyArray<IExtensionDescription>;
|
|
60
|
+
readonly removed: ReadonlyArray<IExtensionDescription>;
|
|
61
|
+
}>;
|
|
62
|
+
private readonly _onWillActivateByEvent;
|
|
63
|
+
readonly onWillActivateByEvent: Event<IWillActivateEvent>;
|
|
64
|
+
private readonly _onDidChangeResponsiveChange;
|
|
65
|
+
readonly onDidChangeResponsiveChange: Event<IResponsiveStateChangeEvent>;
|
|
66
|
+
private readonly _onWillStop;
|
|
67
|
+
readonly onWillStop: Event<WillStopExtensionHostsEvent>;
|
|
68
|
+
private readonly _activationEventReader;
|
|
69
|
+
private readonly _registry;
|
|
70
|
+
private readonly _installedExtensionsReady;
|
|
71
|
+
private readonly _extensionStatus;
|
|
72
|
+
private readonly _allRequestedActivateEvents;
|
|
73
|
+
private readonly _runningLocations;
|
|
74
|
+
private readonly _remoteCrashTracker;
|
|
75
|
+
private _deltaExtensionsQueue;
|
|
76
|
+
private _inHandleDeltaExtensions;
|
|
77
|
+
private _extensionHostManagers;
|
|
78
|
+
private _resolveAuthorityAttempt;
|
|
79
|
+
constructor(_extensionsProposedApi: ExtensionsProposedApi, _extensionHostFactory: IExtensionHostFactory, _extensionHostKindPicker: IExtensionHostKindPicker, _instantiationService: IInstantiationService, _notificationService: INotificationService, _environmentService: IWorkbenchEnvironmentService, _telemetryService: ITelemetryService, _extensionEnablementService: IWorkbenchExtensionEnablementService, _fileService: IFileService, _productService: IProductService, _extensionManagementService: IWorkbenchExtensionManagementService, _contextService: IWorkspaceContextService, _configurationService: IConfigurationService, _extensionManifestPropertiesService: IExtensionManifestPropertiesService, _logService: ILogService, _remoteAgentService: IRemoteAgentService, _remoteExtensionsScannerService: IRemoteExtensionsScannerService, _lifecycleService: ILifecycleService, _remoteAuthorityResolverService: IRemoteAuthorityResolverService, _dialogService: IDialogService);
|
|
80
|
+
protected _getExtensionHostManagers(kind: ExtensionHostKind): IExtensionHostManager[];
|
|
81
|
+
private _getExtensionHostManagerByRunningLocation;
|
|
82
|
+
protected _handleDeltaExtensions(item: DeltaExtensionsQueueItem): Promise<void>;
|
|
83
|
+
private _deltaExtensions;
|
|
84
|
+
private _updateExtensionsOnExtHosts;
|
|
85
|
+
private _updateExtensionsOnExtHost;
|
|
86
|
+
canAddExtension(extension: IExtensionDescription): boolean;
|
|
87
|
+
private _canAddExtension;
|
|
88
|
+
canRemoveExtension(extension: IExtensionDescription): boolean;
|
|
89
|
+
private _activateAddedExtensionIfNeeded;
|
|
90
|
+
protected _initialize(): Promise<void>;
|
|
91
|
+
private _processExtensions;
|
|
92
|
+
private _handleExtensionTests;
|
|
93
|
+
private findTestExtensionHost;
|
|
94
|
+
private _releaseBarrier;
|
|
95
|
+
protected _resolveAuthorityInitial(remoteAuthority: string): Promise<ResolverResult>;
|
|
96
|
+
protected _resolveAuthorityAgain(): Promise<void>;
|
|
97
|
+
private _resolveAuthorityWithLogging;
|
|
98
|
+
protected _resolveAuthorityOnExtensionHosts(kind: ExtensionHostKind, remoteAuthority: string): Promise<ResolverResult>;
|
|
99
|
+
stopExtensionHosts(reason: string): Promise<boolean>;
|
|
100
|
+
protected _doStopExtensionHosts(): void;
|
|
101
|
+
private _doStopExtensionHostsWithVeto;
|
|
102
|
+
private _startExtensionHostsIfNecessary;
|
|
103
|
+
private _createExtensionHostManager;
|
|
104
|
+
protected _doCreateExtensionHostManager(extensionHost: IExtensionHost, initialActivationEvents: string[]): IExtensionHostManager;
|
|
105
|
+
private _onExtensionHostCrashOrExit;
|
|
106
|
+
protected _onExtensionHostCrashed(extensionHost: IExtensionHostManager, code: number, signal: string | null): void;
|
|
107
|
+
private _getExtensionHostExitInfoWithTimeout;
|
|
108
|
+
private _onRemoteExtensionHostCrashed;
|
|
109
|
+
protected _logExtensionHostCrash(extensionHost: IExtensionHostManager): void;
|
|
110
|
+
startExtensionHosts(updates?: {
|
|
111
|
+
toAdd: IExtension[];
|
|
112
|
+
toRemove: string[];
|
|
113
|
+
}): Promise<void>;
|
|
114
|
+
activateByEvent(activationEvent: string, activationKind?: ActivationKind): Promise<void>;
|
|
115
|
+
private _activateByEvent;
|
|
116
|
+
activateById(extensionId: ExtensionIdentifier, reason: ExtensionActivationReason): Promise<void>;
|
|
117
|
+
activationEventIsDone(activationEvent: string): boolean;
|
|
118
|
+
whenInstalledExtensionsRegistered(): Promise<boolean>;
|
|
119
|
+
get extensions(): IExtensionDescription[];
|
|
120
|
+
protected _getExtensionRegistrySnapshotWhenReady(): Promise<ExtensionDescriptionRegistrySnapshot>;
|
|
121
|
+
getExtension(id: string): Promise<IExtensionDescription | undefined>;
|
|
122
|
+
readExtensionPointContributions<T extends IExtensionContributions[keyof IExtensionContributions]>(extPoint: IExtensionPoint<T>): Promise<ExtensionPointContribution<T>[]>;
|
|
123
|
+
getExtensionsStatus(): {
|
|
124
|
+
[id: string]: IExtensionsStatus;
|
|
125
|
+
};
|
|
126
|
+
getInspectPorts(extensionHostKind: ExtensionHostKind, tryEnableInspector: boolean): Promise<number[]>;
|
|
127
|
+
setRemoteEnvironment(env: {
|
|
128
|
+
[key: string]: string | null;
|
|
129
|
+
}): Promise<void>;
|
|
130
|
+
private _safeInvokeIsEnabled;
|
|
131
|
+
private _doHandleExtensionPoints;
|
|
132
|
+
private _getOrCreateExtensionStatus;
|
|
133
|
+
private _handleExtensionPointMessage;
|
|
134
|
+
private static _handleExtensionPoint;
|
|
135
|
+
private _acquireInternalAPI;
|
|
136
|
+
_activateById(extensionId: ExtensionIdentifier, reason: ExtensionActivationReason): Promise<void>;
|
|
137
|
+
private _onWillActivateExtension;
|
|
138
|
+
private _onDidActivateExtension;
|
|
139
|
+
private _onDidActivateExtensionError;
|
|
140
|
+
private _onExtensionRuntimeError;
|
|
141
|
+
protected abstract _resolveExtensions(): Promise<ResolvedExtensions>;
|
|
142
|
+
protected abstract _scanSingleExtension(extension: IExtension): Promise<IExtensionDescription | null>;
|
|
143
|
+
protected abstract _onExtensionHostExit(code: number): void;
|
|
144
|
+
protected abstract _resolveAuthority(remoteAuthority: string): Promise<ResolverResult>;
|
|
145
|
+
}
|
|
146
|
+
declare class ResolvedExtensions {
|
|
147
|
+
readonly local: IExtensionDescription[];
|
|
148
|
+
readonly remote: IExtensionDescription[];
|
|
149
|
+
readonly hasLocalProcess: boolean;
|
|
150
|
+
readonly allowRemoteExtensionsInLocalWebWorker: boolean;
|
|
151
|
+
constructor(local: IExtensionDescription[], remote: IExtensionDescription[], hasLocalProcess: boolean, allowRemoteExtensionsInLocalWebWorker: boolean);
|
|
152
|
+
}
|
|
153
|
+
interface IExtensionHostFactory {
|
|
154
|
+
createExtensionHost(runningLocations: ExtensionRunningLocationTracker, runningLocation: ExtensionRunningLocation, isInitialStart: boolean): IExtensionHost | null;
|
|
155
|
+
}
|
|
156
|
+
declare class DeltaExtensionsQueueItem {
|
|
157
|
+
readonly toAdd: IExtension[];
|
|
158
|
+
readonly toRemove: string[] | IExtension[];
|
|
159
|
+
constructor(toAdd: IExtension[], toRemove: string[] | IExtension[]);
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
export { AbstractExtensionService, DeltaExtensionsQueueItem, type IExtensionHostFactory, ResolvedExtensions };
|
|
@@ -10,38 +10,40 @@ import { isCI } from 'vscode/vscode/vs/base/common/platform';
|
|
|
10
10
|
import { isEqualOrParent } from 'vscode/vscode/vs/base/common/resources';
|
|
11
11
|
import { StopWatch } from 'vscode/vscode/vs/base/common/stopwatch';
|
|
12
12
|
import { localizeWithPath } from 'vscode/vscode/vs/nls';
|
|
13
|
-
import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration';
|
|
14
|
-
import '
|
|
13
|
+
import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration.service';
|
|
14
|
+
import { IDialogService } from 'vscode/vscode/vs/platform/dialogs/common/dialogs.service';
|
|
15
15
|
import { ImplicitActivationEvents } from 'vscode/vscode/vs/platform/extensionManagement/common/implicitActivationEvents';
|
|
16
16
|
import { ExtensionIdentifierMap, ExtensionIdentifier } from 'vscode/vscode/vs/platform/extensions/common/extensions';
|
|
17
|
-
import { IFileService } from 'vscode/vscode/vs/platform/files/common/files';
|
|
17
|
+
import { IFileService } from 'vscode/vscode/vs/platform/files/common/files.service';
|
|
18
18
|
import { SyncDescriptor } from 'vscode/vscode/vs/platform/instantiation/common/descriptors';
|
|
19
19
|
import { IInstantiationService } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
|
|
20
20
|
import { handleVetos } from '../../../../platform/lifecycle/common/lifecycle.js';
|
|
21
|
-
import { ILogService } from 'vscode/vscode/vs/platform/log/common/log';
|
|
22
|
-
import
|
|
23
|
-
import {
|
|
21
|
+
import { ILogService } from 'vscode/vscode/vs/platform/log/common/log.service';
|
|
22
|
+
import 'vscode/vscode/vs/platform/notification/common/notification';
|
|
23
|
+
import { INotificationService } from 'vscode/vscode/vs/platform/notification/common/notification.service';
|
|
24
|
+
import { IProductService } from 'vscode/vscode/vs/platform/product/common/productService.service';
|
|
24
25
|
import { Registry } from 'vscode/vscode/vs/platform/registry/common/platform';
|
|
25
|
-
import {
|
|
26
|
-
import {
|
|
27
|
-
import {
|
|
28
|
-
import {
|
|
29
|
-
import {
|
|
26
|
+
import { RemoteAuthorityResolverError, getRemoteAuthorityPrefix, RemoteAuthorityResolverErrorCode } from 'vscode/vscode/vs/platform/remote/common/remoteAuthorityResolver';
|
|
27
|
+
import { IRemoteAuthorityResolverService } from 'vscode/vscode/vs/platform/remote/common/remoteAuthorityResolver.service';
|
|
28
|
+
import { IRemoteExtensionsScannerService } from 'vscode/vscode/vs/platform/remote/common/remoteExtensionsScanner.service';
|
|
29
|
+
import { ITelemetryService } from 'vscode/vscode/vs/platform/telemetry/common/telemetry.service';
|
|
30
|
+
import { IWorkspaceContextService } from 'vscode/vscode/vs/platform/workspace/common/workspace.service';
|
|
31
|
+
import { IWorkbenchEnvironmentService } from 'vscode/vscode/vs/workbench/services/environment/common/environmentService.service';
|
|
30
32
|
import { Extensions } from 'vscode/vscode/vs/workbench/services/extensionManagement/common/extensionFeatures';
|
|
31
|
-
import { IWorkbenchExtensionEnablementService, IWorkbenchExtensionManagementService } from 'vscode/vscode/vs/workbench/services/extensionManagement/common/extensionManagement';
|
|
33
|
+
import { IWorkbenchExtensionEnablementService, IWorkbenchExtensionManagementService } from 'vscode/vscode/vs/workbench/services/extensionManagement/common/extensionManagement.service';
|
|
32
34
|
import { LockableExtensionDescriptionRegistry } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionDescriptionRegistry';
|
|
33
35
|
import { parseExtensionDevOptions } from './extensionDevOptions.js';
|
|
34
36
|
import { ExtensionHostManager } from './extensionHostManager.js';
|
|
35
|
-
import { IExtensionManifestPropertiesService } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionManifestPropertiesService';
|
|
37
|
+
import { IExtensionManifestPropertiesService } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionManifestPropertiesService.service';
|
|
36
38
|
import { RemoteRunningLocation, LocalProcessRunningLocation, LocalWebWorkerRunningLocation } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionRunningLocation';
|
|
37
39
|
import { ExtensionRunningLocationTracker, filterExtensionIdentifiers } from './extensionRunningLocationTracker.js';
|
|
38
40
|
import { ExtensionPointContribution, ActivationTimes, toExtension } from 'vscode/vscode/vs/workbench/services/extensions/common/extensions';
|
|
39
41
|
import { ExtensionsRegistry, ExtensionMessageCollector } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionsRegistry';
|
|
40
42
|
import { LazyCreateExtensionHostManager } from './lazyCreateExtensionHostManager.js';
|
|
41
43
|
import { checkGlobFileExists, checkActivateWorkspaceContainsExtension } from 'vscode/vscode/vs/workbench/services/extensions/common/workspaceContains';
|
|
42
|
-
import { ILifecycleService } from 'vscode/vscode/vs/workbench/services/lifecycle/common/lifecycle';
|
|
43
|
-
import { IRemoteAgentService } from 'vscode/vscode/vs/workbench/services/remote/common/remoteAgentService';
|
|
44
|
-
import
|
|
44
|
+
import { ILifecycleService } from 'vscode/vscode/vs/workbench/services/lifecycle/common/lifecycle.service';
|
|
45
|
+
import { IRemoteAgentService } from 'vscode/vscode/vs/workbench/services/remote/common/remoteAgentService.service';
|
|
46
|
+
import Severity$1 from 'vscode/vscode/vs/base/common/severity';
|
|
45
47
|
|
|
46
48
|
var AbstractExtensionService_1;
|
|
47
49
|
const hasOwnProperty = Object.hasOwnProperty;
|
|
@@ -236,7 +238,7 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
236
238
|
toRemove = toRemove.concat(result.removedDueToLooping);
|
|
237
239
|
if (result.removedDueToLooping.length > 0) {
|
|
238
240
|
this._notificationService.notify({
|
|
239
|
-
severity: Severity.Error,
|
|
241
|
+
severity: Severity$1.Error,
|
|
240
242
|
message: ( localizeWithPath(
|
|
241
243
|
'vs/workbench/services/extensions/common/abstractExtensionService',
|
|
242
244
|
'looping',
|
|
@@ -391,7 +393,7 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
391
393
|
const result = this._registry.deltaExtensions(lock, allExtensions, []);
|
|
392
394
|
if (result.removedDueToLooping.length > 0) {
|
|
393
395
|
this._notificationService.notify({
|
|
394
|
-
severity: Severity.Error,
|
|
396
|
+
severity: Severity$1.Error,
|
|
395
397
|
message: ( localizeWithPath(
|
|
396
398
|
'vs/workbench/services/extensions/common/abstractExtensionService',
|
|
397
399
|
'looping',
|
|
@@ -714,7 +716,7 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
714
716
|
this._startExtensionHostsIfNecessary(false, Array.from(( this._allRequestedActivateEvents.keys())));
|
|
715
717
|
}
|
|
716
718
|
else {
|
|
717
|
-
this._notificationService.prompt(Severity.Error, ( localizeWithPath(
|
|
719
|
+
this._notificationService.prompt(Severity$1.Error, ( localizeWithPath(
|
|
718
720
|
'vs/workbench/services/extensions/common/abstractExtensionService',
|
|
719
721
|
'extensionService.crash',
|
|
720
722
|
"Remote Extension host terminated unexpectedly 3 times within the last 5 minutes."
|
|
@@ -895,15 +897,15 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
|
|
|
895
897
|
extensionStatus.addMessage(msg);
|
|
896
898
|
const extension = this._registry.getExtensionDescription(msg.extensionId);
|
|
897
899
|
const strMsg = `[${msg.extensionId.value}]: ${msg.message}`;
|
|
898
|
-
if (msg.type === Severity.Error) {
|
|
900
|
+
if (msg.type === Severity$1.Error) {
|
|
899
901
|
if (extension && extension.isUnderDevelopment) {
|
|
900
|
-
this._notificationService.notify({ severity: Severity.Error, message: strMsg });
|
|
902
|
+
this._notificationService.notify({ severity: Severity$1.Error, message: strMsg });
|
|
901
903
|
}
|
|
902
904
|
this._logService.error(strMsg);
|
|
903
905
|
}
|
|
904
|
-
else if (msg.type === Severity.Warning) {
|
|
906
|
+
else if (msg.type === Severity$1.Warning) {
|
|
905
907
|
if (extension && extension.isUnderDevelopment) {
|
|
906
|
-
this._notificationService.notify({ severity: Severity.Warning, message: strMsg });
|
|
908
|
+
this._notificationService.notify({ severity: Severity$1.Warning, message: strMsg });
|
|
907
909
|
}
|
|
908
910
|
this._logService.warn(strMsg);
|
|
909
911
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { IExtensionDescription, ExtensionIdentifier } from 'vscode/vscode/vs/platform/extensions/common/extensions';
|
|
2
|
+
|
|
3
|
+
interface IReadOnlyExtensionDescriptionRegistry {
|
|
4
|
+
containsActivationEvent(activationEvent: string): boolean;
|
|
5
|
+
containsExtension(extensionId: ExtensionIdentifier): boolean;
|
|
6
|
+
getExtensionDescriptionsForActivationEvent(activationEvent: string): IExtensionDescription[];
|
|
7
|
+
getAllExtensionDescriptions(): IExtensionDescription[];
|
|
8
|
+
getExtensionDescription(extensionId: ExtensionIdentifier | string): IExtensionDescription | undefined;
|
|
9
|
+
getExtensionDescriptionByUUID(uuid: string): IExtensionDescription | undefined;
|
|
10
|
+
getExtensionDescriptionByIdOrUUID(extensionId: ExtensionIdentifier | string, uuid: string | undefined): IExtensionDescription | undefined;
|
|
11
|
+
}
|
|
12
|
+
declare class ExtensionDescriptionRegistrySnapshot {
|
|
13
|
+
readonly versionId: number;
|
|
14
|
+
readonly extensions: readonly IExtensionDescription[];
|
|
15
|
+
constructor(versionId: number, extensions: readonly IExtensionDescription[]);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export { ExtensionDescriptionRegistrySnapshot, type IReadOnlyExtensionDescriptionRegistry };
|
|
@@ -9,11 +9,11 @@ import { localize2WithPath } from 'vscode/vscode/vs/nls';
|
|
|
9
9
|
import { Categories } from 'vscode/vscode/vs/platform/action/common/actionCommonCategories';
|
|
10
10
|
import { registerAction2, Action2 } from 'vscode/vscode/vs/platform/actions/common/actions';
|
|
11
11
|
import { IInstantiationService } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
|
|
12
|
-
import { ILogService } from 'vscode/vscode/vs/platform/log/common/log';
|
|
13
|
-
import {
|
|
14
|
-
import { ITelemetryService } from 'vscode/vscode/vs/platform/telemetry/common/telemetry';
|
|
15
|
-
import { IEditorService } from 'vscode/vscode/vs/workbench/services/editor/common/editorService';
|
|
16
|
-
import { IWorkbenchEnvironmentService } from 'vscode/vscode/vs/workbench/services/environment/common/environmentService';
|
|
12
|
+
import { ILogService } from 'vscode/vscode/vs/platform/log/common/log.service';
|
|
13
|
+
import { getRemoteAuthorityPrefix, RemoteAuthorityResolverErrorCode } from 'vscode/vscode/vs/platform/remote/common/remoteAuthorityResolver';
|
|
14
|
+
import { ITelemetryService } from 'vscode/vscode/vs/platform/telemetry/common/telemetry.service';
|
|
15
|
+
import { IEditorService } from 'vscode/vscode/vs/workbench/services/editor/common/editorService.service';
|
|
16
|
+
import { IWorkbenchEnvironmentService } from 'vscode/vscode/vs/workbench/services/environment/common/environmentService.service';
|
|
17
17
|
import { ExtHostCustomersRegistry } from './extHostCustomers.js';
|
|
18
18
|
import { extensionHostKindToString } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionHostKind';
|
|
19
19
|
import { RPCProtocol } from 'vscode/vscode/vs/workbench/services/extensions/common/rpcProtocol';
|