@codingame/monaco-vscode-extensions-service-override 11.1.2 → 12.0.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/index.d.ts +40 -2
- package/index.js +266 -1
- package/package.json +81 -11
- package/vscode/src/vs/base/common/console.d.ts +22 -0
- package/vscode/src/vs/base/common/console.js +3 -0
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagementCLI.d.ts +24 -0
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagementCLI.js +54 -53
- package/vscode/src/vs/platform/extensionResourceLoader/browser/extensionResourceLoaderService.d.ts +14 -0
- package/vscode/src/vs/platform/extensionResourceLoader/browser/extensionResourceLoaderService.js +4 -2
- package/vscode/src/vs/platform/lifecycle/common/lifecycle.d.ts +1 -0
- package/vscode/src/vs/platform/lifecycle/common/lifecycle.js +1 -0
- package/vscode/src/vs/platform/remote/common/managedSocket.d.ts +30 -0
- package/vscode/src/vs/platform/remote/common/managedSocket.js +1 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadAiEmbeddingVector.d.ts +12 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadAiEmbeddingVector.js +2 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadAiRelatedInformation.d.ts +15 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadAiRelatedInformation.js +2 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.d.ts +73 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.js +67 -39
- package/vscode/src/vs/workbench/api/browser/mainThreadBulkEdits.d.ts +18 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadBulkEdits.js +5 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadCLICommands.d.ts +1 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadCLICommands.js +12 -11
- package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.d.ts +65 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.js +33 -14
- package/vscode/src/vs/workbench/api/browser/mainThreadChatCodeMapper.d.ts +15 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadChatCodeMapper.js +2 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadChatVariables.d.ts +15 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadChatVariables.js +2 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadClipboard.d.ts +9 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadClipboard.js +2 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadCodeInsets.d.ts +21 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadCodeInsets.js +2 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadCommands.d.ts +20 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadCommands.js +2 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadComments.d.ts +169 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadComments.js +50 -58
- package/vscode/src/vs/workbench/api/browser/mainThreadConfiguration.d.ts +20 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadConfiguration.js +13 -10
- package/vscode/src/vs/workbench/api/browser/mainThreadConsole.d.ts +13 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadConsole.js +2 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.d.ts +38 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.js +82 -75
- package/vscode/src/vs/workbench/api/browser/mainThreadDebugService.d.ts +53 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadDebugService.js +7 -6
- package/vscode/src/vs/workbench/api/browser/mainThreadDecorations.d.ts +14 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadDecorations.js +2 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadDiagnostics.d.ts +21 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadDiagnostics.js +2 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadDialogs.d.ts +13 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadDialogs.js +2 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadDocumentContentProviders.d.ts +21 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadDocumentContentProviders.js +2 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadDocuments.d.ts +58 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadDocuments.js +5 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadDocumentsAndEditors.d.ts +40 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadDocumentsAndEditors.js +23 -13
- package/vscode/src/vs/workbench/api/browser/mainThreadDownloadService.d.ts +10 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadDownloadService.js +2 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadEditSessionIdentityParticipant.d.ts +9 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadEditSessionIdentityParticipant.js +8 -7
- package/vscode/src/vs/workbench/api/browser/mainThreadEditor.d.ts +65 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadEditor.js +15 -16
- package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.d.ts +37 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.js +53 -52
- package/vscode/src/vs/workbench/api/browser/mainThreadEditors.d.ts +60 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadEditors.js +97 -5
- package/vscode/src/vs/workbench/api/browser/mainThreadEmbeddings.d.ts +34 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadEmbeddings.js +4 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadErrors.d.ts +6 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadErrors.js +2 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.d.ts +42 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.js +42 -45
- package/vscode/src/vs/workbench/api/browser/mainThreadFileSystem.d.ts +32 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadFileSystem.js +7 -6
- package/vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.d.ts +25 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.js +64 -60
- package/vscode/src/vs/workbench/api/browser/mainThreadInteractive.d.ts +9 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadInteractive.js +2 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadLabelService.d.ts +12 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadLabelService.js +2 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.d.ts +108 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.js +31 -28
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModelTools.d.ts +18 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModelTools.js +2 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.d.ts +42 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.js +23 -22
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguages.d.ts +29 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguages.js +2 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadLocalization.d.ts +13 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadLocalization.js +2 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadLogService.d.ts +20 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadLogService.js +2 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadManagedSockets.d.ts +27 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadManagedSockets.js +6 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadMessageService.d.ts +22 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadMessageService.js +46 -47
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebook.d.ts +22 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebook.js +3 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocuments.d.ts +24 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocuments.js +2 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocumentsAndEditors.d.ts +29 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocumentsAndEditors.js +4 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDto.d.ts +17 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDto.js +5 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookEditors.d.ts +27 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookEditors.js +4 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookKernels.d.ts +49 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookKernels.js +3 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookRenderers.d.ts +10 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookRenderers.js +2 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.d.ts +9 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.js +9 -8
- package/vscode/src/vs/workbench/api/browser/mainThreadOutputService.d.ts +26 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadOutputService.js +39 -6
- package/vscode/src/vs/workbench/api/browser/mainThreadProfileContentHandlers.d.ts +12 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadProfileContentHandlers.js +2 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadProgress.d.ts +17 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadProgress.js +13 -13
- package/vscode/src/vs/workbench/api/browser/mainThreadQuickDiff.d.ts +13 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadQuickDiff.js +4 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadQuickOpen.d.ts +19 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadQuickOpen.js +2 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadRemoteConnectionData.d.ts +9 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadRemoteConnectionData.js +2 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadSCM.d.ts +52 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadSCM.js +11 -7
- package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.d.ts +9 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.js +9 -8
- package/vscode/src/vs/workbench/api/browser/mainThreadSearch.d.ts +24 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadSearch.js +9 -19
- package/vscode/src/vs/workbench/api/browser/mainThreadSecretState.d.ts +21 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadSecretState.js +2 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadShare.d.ts +13 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadShare.js +2 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadSpeech.d.ts +21 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadSpeech.js +2 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadStatusBar.d.ts +15 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadStatusBar.js +6 -4
- package/vscode/src/vs/workbench/api/browser/mainThreadStorage.d.ts +22 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadStorage.js +4 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadTask.d.ts +28 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +174 -195
- package/vscode/src/vs/workbench/api/browser/mainThreadTelemetry.d.ts +20 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadTelemetry.js +4 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadTerminalService.d.ts +80 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadTerminalService.js +27 -9
- package/vscode/src/vs/workbench/api/browser/mainThreadTerminalShellIntegration.d.ts +12 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadTerminalShellIntegration.js +7 -5
- package/vscode/src/vs/workbench/api/browser/mainThreadTesting.d.ts +44 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadTesting.js +6 -5
- package/vscode/src/vs/workbench/api/browser/mainThreadTheming.d.ts +10 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadTheming.js +2 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadTimeline.d.ts +16 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadTimeline.js +2 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadTreeViews.d.ts +45 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadTreeViews.js +41 -16
- package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.d.ts +44 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.js +29 -30
- package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.d.ts +25 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.js +21 -25
- package/vscode/src/vs/workbench/api/browser/mainThreadUrls.d.ts +17 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadUrls.js +2 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviewManager.d.ts +6 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviewManager.js +2 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviewPanels.d.ts +42 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviewPanels.js +9 -8
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviewViews.d.ts +26 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviewViews.js +2 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.d.ts +29 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.js +19 -18
- package/vscode/src/vs/workbench/api/browser/mainThreadWindow.d.ts +22 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadWindow.js +10 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.d.ts +71 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.js +34 -35
- package/vscode/src/vs/workbench/api/common/shared/dataTransferCache.d.ts +12 -0
- package/vscode/src/vs/workbench/api/common/shared/dataTransferCache.js +1 -0
- package/vscode/src/vs/workbench/common/comments.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/customEditor/common/customTextEditorModel.d.ts +39 -0
- package/vscode/src/vs/workbench/contrib/customEditor/common/customTextEditorModel.js +14 -12
- package/vscode/src/vs/workbench/contrib/externalUriOpener/common/contributedOpeners.d.ts +16 -0
- package/vscode/src/vs/workbench/contrib/externalUriOpener/common/contributedOpeners.js +6 -4
- package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionBisect.d.ts +25 -0
- package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionBisect.js +62 -60
- package/vscode/src/vs/workbench/services/extensions/browser/extensionService.d.ts +74 -0
- package/vscode/src/vs/workbench/services/extensions/browser/extensionService.js +63 -45
- package/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.d.ts +57 -0
- package/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.js +16 -12
- package/vscode/src/vs/workbench/services/extensions/browser/webWorkerFileSystemProvider.d.ts +20 -0
- package/vscode/src/vs/workbench/services/extensions/browser/webWorkerFileSystemProvider.js +3 -2
- package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +203 -0
- package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +217 -180
- package/vscode/src/vs/workbench/services/extensions/common/extHostCustomers.d.ts +32 -0
- package/vscode/src/vs/workbench/services/extensions/common/extHostCustomers.js +4 -2
- package/vscode/src/vs/workbench/services/extensions/common/extensionDevOptions.d.ts +8 -0
- package/vscode/src/vs/workbench/services/extensions/common/extensionDevOptions.js +1 -0
- package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.d.ts +68 -0
- package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +37 -39
- package/vscode/src/vs/workbench/services/extensions/common/extensionHostManagers.d.ts +40 -0
- package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.d.ts +38 -0
- package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.js +15 -14
- package/vscode/src/vs/workbench/services/extensions/common/extensionStorageMigration.d.ts +2 -0
- package/vscode/src/vs/workbench/services/extensions/common/extensionStorageMigration.js +4 -2
- package/vscode/src/vs/workbench/services/extensions/common/extensionsProposedApi.d.ts +14 -0
- package/vscode/src/vs/workbench/services/extensions/common/extensionsProposedApi.js +18 -19
- package/vscode/src/vs/workbench/services/extensions/common/extensionsUtil.d.ts +3 -0
- package/vscode/src/vs/workbench/services/extensions/common/extensionsUtil.js +8 -7
- package/vscode/src/vs/workbench/services/extensions/common/lazyCreateExtensionHostManager.d.ts +54 -0
- package/vscode/src/vs/workbench/services/extensions/common/lazyCreateExtensionHostManager.js +4 -3
- package/vscode/src/vs/workbench/services/extensions/common/remoteConsoleUtil.d.ts +4 -0
- package/vscode/src/vs/workbench/services/extensions/common/remoteConsoleUtil.js +1 -0
- package/vscode/src/vs/workbench/services/extensions/common/remoteExtensionHost.d.ts +68 -0
- package/vscode/src/vs/workbench/services/extensions/common/remoteExtensionHost.js +12 -9
- package/_virtual/semver.js +0 -5
- package/extensions.js +0 -257
- package/override/vs/workbench/browser/parts/editor/textEditor.weak.js +0 -11
- package/tools/url.js +0 -10
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { IDisposable } from "vscode/vscode/vs/base/common/lifecycle";
|
|
2
|
+
import { BrandedService, IConstructorSignature } from "vscode/vscode/vs/platform/instantiation/common/instantiation";
|
|
3
|
+
import { ExtensionHostKind } from "vscode/vscode/vs/workbench/services/extensions/common/extensionHostKind";
|
|
4
|
+
import { IExtensionHostProxy } from "vscode/vscode/vs/workbench/services/extensions/common/extensionHostProxy";
|
|
5
|
+
import { IInternalExtensionService } from "vscode/vscode/vs/workbench/services/extensions/common/extensions";
|
|
6
|
+
import { IRPCProtocol, ProxyIdentifier } from "vscode/vscode/vs/workbench/services/extensions/common/proxyIdentifier";
|
|
7
|
+
export interface IExtHostContext extends IRPCProtocol {
|
|
8
|
+
readonly remoteAuthority: string | null;
|
|
9
|
+
readonly extensionHostKind: ExtensionHostKind;
|
|
10
|
+
}
|
|
11
|
+
export interface IInternalExtHostContext extends IExtHostContext {
|
|
12
|
+
readonly internalExtensionService: IInternalExtensionService;
|
|
13
|
+
_setExtensionHostProxy(extensionHostProxy: IExtensionHostProxy): void;
|
|
14
|
+
_setAllMainProxyIdentifiers(mainProxyIdentifiers: ProxyIdentifier<any>[]): void;
|
|
15
|
+
}
|
|
16
|
+
export type IExtHostNamedCustomer<T extends IDisposable> = [
|
|
17
|
+
ProxyIdentifier<T>,
|
|
18
|
+
IExtHostCustomerCtor<T>
|
|
19
|
+
];
|
|
20
|
+
export type IExtHostCustomerCtor<T extends IDisposable> = IConstructorSignature<T, [
|
|
21
|
+
IExtHostContext
|
|
22
|
+
]>;
|
|
23
|
+
export declare function extHostNamedCustomer<T extends IDisposable>(id: ProxyIdentifier<T>): <Services extends BrandedService[]>(ctor: {
|
|
24
|
+
new (context: IExtHostContext, ...services: Services): T;
|
|
25
|
+
}) => void;
|
|
26
|
+
export declare function extHostCustomer<T extends IDisposable, Services extends BrandedService[]>(ctor: {
|
|
27
|
+
new (context: IExtHostContext, ...services: Services): T;
|
|
28
|
+
}): void;
|
|
29
|
+
export declare namespace ExtHostCustomersRegistry {
|
|
30
|
+
function getNamedCustomers(): IExtHostNamedCustomer<IDisposable>[];
|
|
31
|
+
function getCustomers(): IExtHostCustomerCtor<IDisposable>[];
|
|
32
|
+
}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
1
3
|
function extHostNamedCustomer(id) {
|
|
2
4
|
return function (ctor) {
|
|
3
5
|
ExtHostCustomersRegistryImpl.INSTANCE.registerNamedCustomer(id, ctor);
|
|
@@ -7,7 +9,7 @@ function extHostCustomer(ctor) {
|
|
|
7
9
|
ExtHostCustomersRegistryImpl.INSTANCE.registerCustomer(ctor);
|
|
8
10
|
}
|
|
9
11
|
var ExtHostCustomersRegistry;
|
|
10
|
-
( (
|
|
12
|
+
(function (ExtHostCustomersRegistry) {
|
|
11
13
|
function getNamedCustomers() {
|
|
12
14
|
return ExtHostCustomersRegistryImpl.INSTANCE.getNamedCustomers();
|
|
13
15
|
}
|
|
@@ -16,7 +18,7 @@ var ExtHostCustomersRegistry;
|
|
|
16
18
|
return ExtHostCustomersRegistryImpl.INSTANCE.getCustomers();
|
|
17
19
|
}
|
|
18
20
|
ExtHostCustomersRegistry.getCustomers = getCustomers;
|
|
19
|
-
})(ExtHostCustomersRegistry || (ExtHostCustomersRegistry = {}))
|
|
21
|
+
})(ExtHostCustomersRegistry || (ExtHostCustomersRegistry = {}));
|
|
20
22
|
class ExtHostCustomersRegistryImpl {
|
|
21
23
|
static { this.INSTANCE = ( new ExtHostCustomersRegistryImpl()); }
|
|
22
24
|
constructor() {
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IEnvironmentService } from "vscode/vscode/vs/platform/environment/common/environment.service";
|
|
2
|
+
export interface IExtensionDevOptions {
|
|
3
|
+
readonly isExtensionDevHost: boolean;
|
|
4
|
+
readonly isExtensionDevDebug: boolean;
|
|
5
|
+
readonly isExtensionDevDebugBrk: boolean;
|
|
6
|
+
readonly isExtensionDevTestFromCli: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare function parseExtensionDevOptions(environmentService: IEnvironmentService): IExtensionDevOptions;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { Event } from "vscode/vscode/vs/base/common/event";
|
|
2
|
+
import { Disposable } from "vscode/vscode/vs/base/common/lifecycle";
|
|
3
|
+
import { URI } from "vscode/vscode/vs/base/common/uri";
|
|
4
|
+
import { ExtensionIdentifier, IExtensionDescription } from "vscode/vscode/vs/platform/extensions/common/extensions";
|
|
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 { ITelemetryService } from "vscode/vscode/vs/platform/telemetry/common/telemetry.service";
|
|
8
|
+
import { IWorkbenchEnvironmentService } from "vscode/vscode/vs/workbench/services/environment/common/environmentService.service";
|
|
9
|
+
import { ExtensionHostKind } from "vscode/vscode/vs/workbench/services/extensions/common/extensionHostKind";
|
|
10
|
+
import { IExtensionHostManager } from "./extensionHostManagers.js";
|
|
11
|
+
import { IExtensionDescriptionDelta } from "vscode/vscode/vs/workbench/services/extensions/common/extensionHostProtocol";
|
|
12
|
+
import { IResolveAuthorityResult } from "vscode/vscode/vs/workbench/services/extensions/common/extensionHostProxy";
|
|
13
|
+
import { ExtensionRunningLocation } from "@codingame/monaco-vscode-d7f659f5-da33-5ea8-a3b8-9b94f2cf5f33-common/vscode/vs/workbench/services/extensions/common/extensionRunningLocation";
|
|
14
|
+
import { ActivationKind, ExtensionActivationReason, ExtensionHostStartup, IExtensionHost, IInternalExtensionService } from "vscode/vscode/vs/workbench/services/extensions/common/extensions";
|
|
15
|
+
import { ResponsiveState } from "vscode/vscode/vs/workbench/services/extensions/common/rpcProtocol";
|
|
16
|
+
export declare class ExtensionHostManager extends Disposable implements IExtensionHostManager {
|
|
17
|
+
private readonly _internalExtensionService;
|
|
18
|
+
private readonly _instantiationService;
|
|
19
|
+
private readonly _environmentService;
|
|
20
|
+
private readonly _telemetryService;
|
|
21
|
+
private readonly _logService;
|
|
22
|
+
readonly onDidExit: Event<[
|
|
23
|
+
number,
|
|
24
|
+
string | null
|
|
25
|
+
]>;
|
|
26
|
+
private readonly _onDidChangeResponsiveState;
|
|
27
|
+
readonly onDidChangeResponsiveState: Event<ResponsiveState>;
|
|
28
|
+
private readonly _cachedActivationEvents;
|
|
29
|
+
private readonly _resolvedActivationEvents;
|
|
30
|
+
private _rpcProtocol;
|
|
31
|
+
private readonly _customers;
|
|
32
|
+
private readonly _extensionHost;
|
|
33
|
+
private _proxy;
|
|
34
|
+
private _hasStarted;
|
|
35
|
+
get pid(): number | null;
|
|
36
|
+
get kind(): ExtensionHostKind;
|
|
37
|
+
get startup(): ExtensionHostStartup;
|
|
38
|
+
get friendyName(): string;
|
|
39
|
+
constructor(extensionHost: IExtensionHost, initialActivationEvents: string[], _internalExtensionService: IInternalExtensionService, _instantiationService: IInstantiationService, _environmentService: IWorkbenchEnvironmentService, _telemetryService: ITelemetryService, _logService: ILogService);
|
|
40
|
+
disconnect(): Promise<void>;
|
|
41
|
+
dispose(): void;
|
|
42
|
+
private measure;
|
|
43
|
+
ready(): Promise<void>;
|
|
44
|
+
private _measureLatency;
|
|
45
|
+
private static _convert;
|
|
46
|
+
private _measureUp;
|
|
47
|
+
private _measureDown;
|
|
48
|
+
private _createExtensionHostCustomers;
|
|
49
|
+
activate(extension: ExtensionIdentifier, reason: ExtensionActivationReason): Promise<boolean>;
|
|
50
|
+
activateByEvent(activationEvent: string, activationKind: ActivationKind): Promise<void>;
|
|
51
|
+
activationEventIsDone(activationEvent: string): boolean;
|
|
52
|
+
private _activateByEvent;
|
|
53
|
+
getInspectPort(tryEnableInspector: boolean): Promise<{
|
|
54
|
+
port: number;
|
|
55
|
+
host: string;
|
|
56
|
+
} | undefined>;
|
|
57
|
+
resolveAuthority(remoteAuthority: string, resolveAttempt: number): Promise<IResolveAuthorityResult>;
|
|
58
|
+
getCanonicalURI(remoteAuthority: string, uri: URI): Promise<URI | null>;
|
|
59
|
+
start(extensionRegistryVersionId: number, allExtensions: IExtensionDescription[], myExtensions: ExtensionIdentifier[]): Promise<void>;
|
|
60
|
+
extensionTestsExecute(): Promise<number>;
|
|
61
|
+
representsRunningLocation(runningLocation: ExtensionRunningLocation): boolean;
|
|
62
|
+
deltaExtensions(incomingExtensionsDelta: IExtensionDescriptionDelta): Promise<void>;
|
|
63
|
+
containsExtension(extensionId: ExtensionIdentifier): boolean;
|
|
64
|
+
setRemoteEnvironment(env: {
|
|
65
|
+
[key: string]: string | null;
|
|
66
|
+
}): Promise<void>;
|
|
67
|
+
}
|
|
68
|
+
export declare function friendlyExtHostName(kind: ExtensionHostKind, pid: number | null): string;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from 'vscode/external/tslib/tslib.es6';
|
|
2
3
|
import { IntervalTimer } from 'vscode/vscode/vs/base/common/async';
|
|
3
4
|
import { VSBuffer } from 'vscode/vscode/vs/base/common/buffer';
|
|
4
5
|
import { onUnexpectedError } from 'vscode/vscode/vs/base/common/errors';
|
|
@@ -16,7 +17,8 @@ import { IEditorService } from 'vscode/vscode/vs/workbench/services/editor/commo
|
|
|
16
17
|
import { IWorkbenchEnvironmentService } from 'vscode/vscode/vs/workbench/services/environment/common/environmentService.service';
|
|
17
18
|
import { ExtHostCustomersRegistry } from './extHostCustomers.js';
|
|
18
19
|
import { extensionHostKindToString } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionHostKind';
|
|
19
|
-
import {
|
|
20
|
+
import { ActivationKind } from 'vscode/vscode/vs/workbench/services/extensions/common/extensions';
|
|
21
|
+
import { RPCProtocol, RequestInitiator } from 'vscode/vscode/vs/workbench/services/extensions/common/rpcProtocol';
|
|
20
22
|
|
|
21
23
|
var ExtensionHostManager_1;
|
|
22
24
|
let ExtensionHostManager = ExtensionHostManager_1 = class ExtensionHostManager extends Disposable {
|
|
@@ -39,11 +41,11 @@ let ExtensionHostManager = ExtensionHostManager_1 = class ExtensionHostManager e
|
|
|
39
41
|
this._environmentService = _environmentService;
|
|
40
42
|
this._telemetryService = _telemetryService;
|
|
41
43
|
this._logService = _logService;
|
|
42
|
-
this._onDidChangeResponsiveState = this._register((
|
|
44
|
+
this._onDidChangeResponsiveState = this._register(( new Emitter()));
|
|
43
45
|
this.onDidChangeResponsiveState = this._onDidChangeResponsiveState.event;
|
|
44
46
|
this._hasStarted = false;
|
|
45
|
-
this._cachedActivationEvents = (
|
|
46
|
-
this._resolvedActivationEvents = (
|
|
47
|
+
this._cachedActivationEvents = ( new Map());
|
|
48
|
+
this._resolvedActivationEvents = ( new Set());
|
|
47
49
|
this._rpcProtocol = null;
|
|
48
50
|
this._customers = [];
|
|
49
51
|
this._extensionHost = extensionHost;
|
|
@@ -84,7 +86,7 @@ let ExtensionHostManager = ExtensionHostManager_1 = class ExtensionHostManager e
|
|
|
84
86
|
return null;
|
|
85
87
|
});
|
|
86
88
|
this._proxy.then(() => {
|
|
87
|
-
initialActivationEvents.forEach((activationEvent) => this.activateByEvent(activationEvent,
|
|
89
|
+
initialActivationEvents.forEach((activationEvent) => this.activateByEvent(activationEvent, ActivationKind.Normal));
|
|
88
90
|
this._register(registerLatencyTestProvider({
|
|
89
91
|
measure: () => this.measure()
|
|
90
92
|
}));
|
|
@@ -162,19 +164,19 @@ let ExtensionHostManager = ExtensionHostManager_1 = class ExtensionHostManager e
|
|
|
162
164
|
_createExtensionHostCustomers(kind, protocol) {
|
|
163
165
|
let logger = null;
|
|
164
166
|
if (this._environmentService.logExtensionHostCommunication) {
|
|
165
|
-
logger = (
|
|
167
|
+
logger = ( new RPCLogger(kind));
|
|
166
168
|
}
|
|
167
169
|
else if (TelemetryRPCLogger.isEnabled()) {
|
|
168
|
-
logger = (
|
|
170
|
+
logger = ( new TelemetryRPCLogger(this._telemetryService));
|
|
169
171
|
}
|
|
170
|
-
this._rpcProtocol = (
|
|
172
|
+
this._rpcProtocol = ( new RPCProtocol(protocol, logger));
|
|
171
173
|
this._register(this._rpcProtocol.onDidChangeResponsiveState((responsiveState) => this._onDidChangeResponsiveState.fire(responsiveState)));
|
|
172
174
|
let extensionHostProxy = null;
|
|
173
175
|
let mainProxyIdentifiers = [];
|
|
174
176
|
const extHostContext = {
|
|
175
177
|
remoteAuthority: this._extensionHost.remoteAuthority,
|
|
176
178
|
extensionHostKind: this.kind,
|
|
177
|
-
getProxy: (identifier) => (
|
|
179
|
+
getProxy: (identifier) => ( this._rpcProtocol.getProxy(identifier)),
|
|
178
180
|
set: (identifier, instance) => this._rpcProtocol.set(identifier, instance),
|
|
179
181
|
dispose: () => this._rpcProtocol.dispose(),
|
|
180
182
|
assertRegistered: (identifiers) => this._rpcProtocol.assertRegistered(identifiers),
|
|
@@ -213,7 +215,7 @@ let ExtensionHostManager = ExtensionHostManager_1 = class ExtensionHostManager e
|
|
|
213
215
|
}
|
|
214
216
|
}
|
|
215
217
|
if (!extensionHostProxy) {
|
|
216
|
-
throw (
|
|
218
|
+
throw ( new Error(`Missing IExtensionHostProxy!`));
|
|
217
219
|
}
|
|
218
220
|
this._rpcProtocol.assertRegistered(mainProxyIdentifiers);
|
|
219
221
|
return extensionHostProxy;
|
|
@@ -226,18 +228,16 @@ let ExtensionHostManager = ExtensionHostManager_1 = class ExtensionHostManager e
|
|
|
226
228
|
return proxy.activate(extension, reason);
|
|
227
229
|
}
|
|
228
230
|
activateByEvent(activationEvent, activationKind) {
|
|
229
|
-
if (activationKind ===
|
|
231
|
+
if (activationKind === ActivationKind.Immediate && !this._hasStarted) {
|
|
230
232
|
return Promise.resolve();
|
|
231
233
|
}
|
|
232
|
-
if (!(
|
|
234
|
+
if (!( this._cachedActivationEvents.has(activationEvent))) {
|
|
233
235
|
this._cachedActivationEvents.set(activationEvent, this._activateByEvent(activationEvent, activationKind));
|
|
234
236
|
}
|
|
235
237
|
return this._cachedActivationEvents.get(activationEvent);
|
|
236
238
|
}
|
|
237
239
|
activationEventIsDone(activationEvent) {
|
|
238
|
-
return (
|
|
239
|
-
(this._resolvedActivationEvents.has(activationEvent))
|
|
240
|
-
);
|
|
240
|
+
return ( this._resolvedActivationEvents.has(activationEvent));
|
|
241
241
|
}
|
|
242
242
|
async _activateByEvent(activationEvent, activationKind) {
|
|
243
243
|
if (!this._proxy) {
|
|
@@ -285,7 +285,7 @@ let ExtensionHostManager = ExtensionHostManager_1 = class ExtensionHostManager e
|
|
|
285
285
|
};
|
|
286
286
|
}
|
|
287
287
|
logInfo(`invoking...`);
|
|
288
|
-
const intervalLogger = (
|
|
288
|
+
const intervalLogger = ( new IntervalTimer());
|
|
289
289
|
try {
|
|
290
290
|
intervalLogger.cancelAndSet(() => logInfo('waiting...'), 1000);
|
|
291
291
|
const resolverResult = await proxy.resolveAuthority(remoteAuthority, resolveAttempt);
|
|
@@ -314,7 +314,7 @@ let ExtensionHostManager = ExtensionHostManager_1 = class ExtensionHostManager e
|
|
|
314
314
|
async getCanonicalURI(remoteAuthority, uri) {
|
|
315
315
|
const proxy = await this._proxy;
|
|
316
316
|
if (!proxy) {
|
|
317
|
-
throw (
|
|
317
|
+
throw ( new Error(`Cannot resolve canonical URI`));
|
|
318
318
|
}
|
|
319
319
|
return proxy.getCanonicalURI(remoteAuthority, uri);
|
|
320
320
|
}
|
|
@@ -329,7 +329,7 @@ let ExtensionHostManager = ExtensionHostManager_1 = class ExtensionHostManager e
|
|
|
329
329
|
async extensionTestsExecute() {
|
|
330
330
|
const proxy = await this._proxy;
|
|
331
331
|
if (!proxy) {
|
|
332
|
-
throw (
|
|
332
|
+
throw ( new Error('Could not obtain Extension Host Proxy'));
|
|
333
333
|
}
|
|
334
334
|
return proxy.extensionTestsExecute();
|
|
335
335
|
}
|
|
@@ -358,12 +358,12 @@ let ExtensionHostManager = ExtensionHostManager_1 = class ExtensionHostManager e
|
|
|
358
358
|
return proxy.setRemoteEnvironment(env);
|
|
359
359
|
}
|
|
360
360
|
};
|
|
361
|
-
ExtensionHostManager = ExtensionHostManager_1 = (
|
|
362
|
-
(
|
|
363
|
-
(
|
|
364
|
-
(
|
|
365
|
-
(
|
|
366
|
-
], ExtensionHostManager))
|
|
361
|
+
ExtensionHostManager = ExtensionHostManager_1 = ( __decorate([
|
|
362
|
+
( __param(3, IInstantiationService)),
|
|
363
|
+
( __param(4, IWorkbenchEnvironmentService)),
|
|
364
|
+
( __param(5, ITelemetryService)),
|
|
365
|
+
( __param(6, ILogService))
|
|
366
|
+
], ExtensionHostManager));
|
|
367
367
|
function friendlyExtHostName(kind, pid) {
|
|
368
368
|
if (pid) {
|
|
369
369
|
return `${extensionHostKindToString(kind)} pid: ${pid}`;
|
|
@@ -379,7 +379,7 @@ function prettyWithoutArrays(data) {
|
|
|
379
379
|
return data;
|
|
380
380
|
}
|
|
381
381
|
if (data && typeof data === 'object' && typeof data.toString === 'function') {
|
|
382
|
-
const result = (
|
|
382
|
+
const result = ( data.toString());
|
|
383
383
|
if (result !== '[object Object]') {
|
|
384
384
|
return result;
|
|
385
385
|
}
|
|
@@ -388,9 +388,7 @@ function prettyWithoutArrays(data) {
|
|
|
388
388
|
}
|
|
389
389
|
function pretty(data) {
|
|
390
390
|
if (Array.isArray(data)) {
|
|
391
|
-
return (
|
|
392
|
-
(data.map(prettyWithoutArrays))
|
|
393
|
-
);
|
|
391
|
+
return ( data.map(prettyWithoutArrays));
|
|
394
392
|
}
|
|
395
393
|
return prettyWithoutArrays(data);
|
|
396
394
|
}
|
|
@@ -429,10 +427,10 @@ let TelemetryRPCLogger = class TelemetryRPCLogger {
|
|
|
429
427
|
}
|
|
430
428
|
constructor(_telemetryService) {
|
|
431
429
|
this._telemetryService = _telemetryService;
|
|
432
|
-
this._pendingRequests = (
|
|
430
|
+
this._pendingRequests = ( new Map());
|
|
433
431
|
}
|
|
434
432
|
logIncoming(msgLength, req, initiator, str) {
|
|
435
|
-
if (initiator ===
|
|
433
|
+
if (initiator === RequestInitiator.LocalSide && /^receiveReply(Err)?:/.test(str)) {
|
|
436
434
|
const requestStr = this._pendingRequests.get(req) ?? 'unknown_reply';
|
|
437
435
|
this._pendingRequests.delete(req);
|
|
438
436
|
this._telemetryService.publicLog2('extensionhost.incoming', {
|
|
@@ -440,7 +438,7 @@ let TelemetryRPCLogger = class TelemetryRPCLogger {
|
|
|
440
438
|
length: msgLength
|
|
441
439
|
});
|
|
442
440
|
}
|
|
443
|
-
if (initiator ===
|
|
441
|
+
if (initiator === RequestInitiator.OtherSide && /^receiveRequest /.test(str)) {
|
|
444
442
|
this._telemetryService.publicLog2('extensionhost.incoming', {
|
|
445
443
|
type: `${str}`,
|
|
446
444
|
length: msgLength
|
|
@@ -448,7 +446,7 @@ let TelemetryRPCLogger = class TelemetryRPCLogger {
|
|
|
448
446
|
}
|
|
449
447
|
}
|
|
450
448
|
logOutgoing(msgLength, req, initiator, str) {
|
|
451
|
-
if (initiator ===
|
|
449
|
+
if (initiator === RequestInitiator.LocalSide && str.startsWith('request: ')) {
|
|
452
450
|
this._pendingRequests.set(req, str);
|
|
453
451
|
this._telemetryService.publicLog2('extensionhost.outgoing', {
|
|
454
452
|
type: str,
|
|
@@ -457,9 +455,9 @@ let TelemetryRPCLogger = class TelemetryRPCLogger {
|
|
|
457
455
|
}
|
|
458
456
|
}
|
|
459
457
|
};
|
|
460
|
-
TelemetryRPCLogger = (
|
|
461
|
-
(
|
|
462
|
-
], TelemetryRPCLogger))
|
|
458
|
+
TelemetryRPCLogger = ( __decorate([
|
|
459
|
+
( __param(0, ITelemetryService))
|
|
460
|
+
], TelemetryRPCLogger));
|
|
463
461
|
const providers = [];
|
|
464
462
|
function registerLatencyTestProvider(provider) {
|
|
465
463
|
providers.push(provider);
|
|
@@ -481,15 +479,15 @@ registerAction2(class MeasureExtHostLatencyAction extends Action2 {
|
|
|
481
479
|
constructor() {
|
|
482
480
|
super({
|
|
483
481
|
id: 'editor.action.measureExtHostLatency',
|
|
484
|
-
title: ( localize2(
|
|
482
|
+
title: ( localize2(11485, "Measure Extension Host Latency")),
|
|
485
483
|
category: Categories.Developer,
|
|
486
484
|
f1: true
|
|
487
485
|
});
|
|
488
486
|
}
|
|
489
487
|
async run(accessor) {
|
|
490
488
|
const editorService = accessor.get(IEditorService);
|
|
491
|
-
const measurements = await Promise.all((
|
|
492
|
-
editorService.openEditor({ resource: undefined, contents: (
|
|
489
|
+
const measurements = await Promise.all(( getLatencyTestProviders().map(provider => provider.measure())));
|
|
490
|
+
editorService.openEditor({ resource: undefined, contents: ( measurements.map(MeasureExtHostLatencyAction._print)).join('\n\n'), options: { pinned: true } });
|
|
493
491
|
}
|
|
494
492
|
static _print(m) {
|
|
495
493
|
if (!m) {
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Event } from "vscode/vscode/vs/base/common/event";
|
|
2
|
+
import { URI } from "vscode/vscode/vs/base/common/uri";
|
|
3
|
+
import { ExtensionIdentifier, IExtensionDescription } from "vscode/vscode/vs/platform/extensions/common/extensions";
|
|
4
|
+
import { ExtensionHostKind } from "vscode/vscode/vs/workbench/services/extensions/common/extensionHostKind";
|
|
5
|
+
import { IExtensionDescriptionDelta } from "vscode/vscode/vs/workbench/services/extensions/common/extensionHostProtocol";
|
|
6
|
+
import { IResolveAuthorityResult } from "vscode/vscode/vs/workbench/services/extensions/common/extensionHostProxy";
|
|
7
|
+
import { ExtensionRunningLocation } from "@codingame/monaco-vscode-d7f659f5-da33-5ea8-a3b8-9b94f2cf5f33-common/vscode/vs/workbench/services/extensions/common/extensionRunningLocation";
|
|
8
|
+
import { ActivationKind, ExtensionActivationReason, ExtensionHostStartup } from "vscode/vscode/vs/workbench/services/extensions/common/extensions";
|
|
9
|
+
import { ResponsiveState } from "vscode/vscode/vs/workbench/services/extensions/common/rpcProtocol";
|
|
10
|
+
export interface IExtensionHostManager {
|
|
11
|
+
readonly pid: number | null;
|
|
12
|
+
readonly kind: ExtensionHostKind;
|
|
13
|
+
readonly startup: ExtensionHostStartup;
|
|
14
|
+
readonly friendyName: string;
|
|
15
|
+
readonly onDidExit: Event<[
|
|
16
|
+
number,
|
|
17
|
+
string | null
|
|
18
|
+
]>;
|
|
19
|
+
readonly onDidChangeResponsiveState: Event<ResponsiveState>;
|
|
20
|
+
disconnect(): Promise<void>;
|
|
21
|
+
dispose(): void;
|
|
22
|
+
ready(): Promise<void>;
|
|
23
|
+
representsRunningLocation(runningLocation: ExtensionRunningLocation): boolean;
|
|
24
|
+
deltaExtensions(extensionsDelta: IExtensionDescriptionDelta): Promise<void>;
|
|
25
|
+
containsExtension(extensionId: ExtensionIdentifier): boolean;
|
|
26
|
+
activate(extension: ExtensionIdentifier, reason: ExtensionActivationReason): Promise<boolean>;
|
|
27
|
+
activateByEvent(activationEvent: string, activationKind: ActivationKind): Promise<void>;
|
|
28
|
+
activationEventIsDone(activationEvent: string): boolean;
|
|
29
|
+
getInspectPort(tryEnableInspector: boolean): Promise<{
|
|
30
|
+
port: number;
|
|
31
|
+
host: string;
|
|
32
|
+
} | undefined>;
|
|
33
|
+
resolveAuthority(remoteAuthority: string, resolveAttempt: number): Promise<IResolveAuthorityResult>;
|
|
34
|
+
getCanonicalURI(remoteAuthority: string, uri: URI): Promise<URI | null>;
|
|
35
|
+
start(extensionRegistryVersionId: number, allExtensions: readonly IExtensionDescription[], myExtensions: ExtensionIdentifier[]): Promise<void>;
|
|
36
|
+
extensionTestsExecute(): Promise<number>;
|
|
37
|
+
setRemoteEnvironment(env: {
|
|
38
|
+
[key: string]: string | null;
|
|
39
|
+
}): Promise<void>;
|
|
40
|
+
}
|
package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.d.ts
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { IConfigurationService } from "vscode/vscode/vs/platform/configuration/common/configuration.service";
|
|
2
|
+
import { ExtensionKind } from "vscode/vscode/vs/platform/environment/common/environment";
|
|
3
|
+
import { ExtensionIdentifier, ExtensionIdentifierMap, IExtensionDescription } from "vscode/vscode/vs/platform/extensions/common/extensions";
|
|
4
|
+
import { ILogService } from "vscode/vscode/vs/platform/log/common/log.service";
|
|
5
|
+
import { IWorkbenchEnvironmentService } from "vscode/vscode/vs/workbench/services/environment/common/environmentService.service";
|
|
6
|
+
import { IReadOnlyExtensionDescriptionRegistry } from "vscode/vscode/vs/workbench/services/extensions/common/extensionDescriptionRegistry";
|
|
7
|
+
import { ExtensionHostKind, IExtensionHostKindPicker } from "vscode/vscode/vs/workbench/services/extensions/common/extensionHostKind";
|
|
8
|
+
import { IExtensionHostManager } from "./extensionHostManagers.js";
|
|
9
|
+
import { IExtensionManifestPropertiesService } from "vscode/vscode/vs/workbench/services/extensions/common/extensionManifestPropertiesService.service";
|
|
10
|
+
import { ExtensionRunningLocation } from "@codingame/monaco-vscode-d7f659f5-da33-5ea8-a3b8-9b94f2cf5f33-common/vscode/vs/workbench/services/extensions/common/extensionRunningLocation";
|
|
11
|
+
export declare class ExtensionRunningLocationTracker {
|
|
12
|
+
private readonly _registry;
|
|
13
|
+
private readonly _extensionHostKindPicker;
|
|
14
|
+
private readonly _environmentService;
|
|
15
|
+
private readonly _configurationService;
|
|
16
|
+
private readonly _logService;
|
|
17
|
+
private readonly _extensionManifestPropertiesService;
|
|
18
|
+
private _runningLocation;
|
|
19
|
+
private _maxLocalProcessAffinity;
|
|
20
|
+
private _maxLocalWebWorkerAffinity;
|
|
21
|
+
get maxLocalProcessAffinity(): number;
|
|
22
|
+
get maxLocalWebWorkerAffinity(): number;
|
|
23
|
+
constructor(_registry: IReadOnlyExtensionDescriptionRegistry, _extensionHostKindPicker: IExtensionHostKindPicker, _environmentService: IWorkbenchEnvironmentService, _configurationService: IConfigurationService, _logService: ILogService, _extensionManifestPropertiesService: IExtensionManifestPropertiesService);
|
|
24
|
+
set(extensionId: ExtensionIdentifier, runningLocation: ExtensionRunningLocation): void;
|
|
25
|
+
readExtensionKinds(extensionDescription: IExtensionDescription): ExtensionKind[];
|
|
26
|
+
getRunningLocation(extensionId: ExtensionIdentifier): ExtensionRunningLocation | null;
|
|
27
|
+
filterByRunningLocation(extensions: readonly IExtensionDescription[], desiredRunningLocation: ExtensionRunningLocation): IExtensionDescription[];
|
|
28
|
+
filterByExtensionHostKind(extensions: readonly IExtensionDescription[], desiredExtensionHostKind: ExtensionHostKind): IExtensionDescription[];
|
|
29
|
+
filterByExtensionHostManager(extensions: readonly IExtensionDescription[], extensionHostManager: IExtensionHostManager): IExtensionDescription[];
|
|
30
|
+
private _computeAffinity;
|
|
31
|
+
computeRunningLocation(localExtensions: IExtensionDescription[], remoteExtensions: IExtensionDescription[], isInitialAllocation: boolean): ExtensionIdentifierMap<ExtensionRunningLocation | null>;
|
|
32
|
+
private _doComputeRunningLocation;
|
|
33
|
+
initializeRunningLocation(localExtensions: IExtensionDescription[], remoteExtensions: IExtensionDescription[]): void;
|
|
34
|
+
deltaExtensions(toAdd: IExtensionDescription[], toRemove: ExtensionIdentifier[]): ExtensionIdentifierMap<ExtensionRunningLocation | null>;
|
|
35
|
+
private _updateRunningLocationForAddedExtensions;
|
|
36
|
+
}
|
|
37
|
+
export declare function filterExtensionDescriptions(extensions: readonly IExtensionDescription[], runningLocation: ExtensionIdentifierMap<ExtensionRunningLocation | null>, predicate: (extRunningLocation: ExtensionRunningLocation) => boolean): IExtensionDescription[];
|
|
38
|
+
export declare function filterExtensionIdentifiers(extensions: readonly ExtensionIdentifier[], runningLocation: ExtensionIdentifierMap<ExtensionRunningLocation | null>, predicate: (extRunningLocation: ExtensionRunningLocation) => boolean): ExtensionIdentifier[];
|
package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from 'vscode/external/tslib/tslib.es6';
|
|
2
3
|
import { Schemas } from 'vscode/vscode/vs/base/common/network';
|
|
3
4
|
import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration.service';
|
|
4
5
|
import { ExtensionIdentifierMap } from 'vscode/vscode/vs/platform/extensions/common/extensions';
|
|
5
6
|
import { ILogService } from 'vscode/vscode/vs/platform/log/common/log.service';
|
|
6
7
|
import { IWorkbenchEnvironmentService } from 'vscode/vscode/vs/workbench/services/environment/common/environmentService.service';
|
|
7
|
-
import { determineExtensionHostKinds } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionHostKind';
|
|
8
|
+
import { determineExtensionHostKinds, ExtensionHostKind, ExtensionRunningPreference } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionHostKind';
|
|
8
9
|
import { IExtensionManifestPropertiesService } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionManifestPropertiesService.service';
|
|
9
|
-
import { RemoteRunningLocation, LocalProcessRunningLocation, LocalWebWorkerRunningLocation } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionRunningLocation';
|
|
10
|
+
import { RemoteRunningLocation, LocalProcessRunningLocation, LocalWebWorkerRunningLocation } from '@codingame/monaco-vscode-d7f659f5-da33-5ea8-a3b8-9b94f2cf5f33-common/vscode/vs/workbench/services/extensions/common/extensionRunningLocation';
|
|
10
11
|
|
|
11
12
|
let ExtensionRunningLocationTracker = class ExtensionRunningLocationTracker {
|
|
12
13
|
get maxLocalProcessAffinity() {
|
|
@@ -171,29 +172,29 @@ let ExtensionRunningLocationTracker = class ExtensionRunningLocationTracker {
|
|
|
171
172
|
const localWebWorkerExtensions = [];
|
|
172
173
|
for (const [extensionIdKey, extensionHostKind] of extensionHostKinds) {
|
|
173
174
|
let runningLocation = null;
|
|
174
|
-
if (extensionHostKind ===
|
|
175
|
+
if (extensionHostKind === ExtensionHostKind.LocalProcess) {
|
|
175
176
|
const extensionDescription = extensions.get(extensionIdKey);
|
|
176
177
|
if (extensionDescription) {
|
|
177
178
|
localProcessExtensions.push(extensionDescription);
|
|
178
179
|
}
|
|
179
180
|
}
|
|
180
|
-
else if (extensionHostKind ===
|
|
181
|
+
else if (extensionHostKind === ExtensionHostKind.LocalWebWorker) {
|
|
181
182
|
const extensionDescription = extensions.get(extensionIdKey);
|
|
182
183
|
if (extensionDescription) {
|
|
183
184
|
localWebWorkerExtensions.push(extensionDescription);
|
|
184
185
|
}
|
|
185
186
|
}
|
|
186
|
-
else if (extensionHostKind ===
|
|
187
|
+
else if (extensionHostKind === ExtensionHostKind.Remote) {
|
|
187
188
|
runningLocation = ( new RemoteRunningLocation());
|
|
188
189
|
}
|
|
189
190
|
result.set(extensionIdKey, runningLocation);
|
|
190
191
|
}
|
|
191
|
-
const { affinities, maxAffinity } = this._computeAffinity(localProcessExtensions,
|
|
192
|
+
const { affinities, maxAffinity } = this._computeAffinity(localProcessExtensions, ExtensionHostKind.LocalProcess, isInitialAllocation);
|
|
192
193
|
for (const extension of localProcessExtensions) {
|
|
193
194
|
const affinity = affinities.get(extension.identifier) || 0;
|
|
194
195
|
result.set(extension.identifier, ( new LocalProcessRunningLocation(affinity)));
|
|
195
196
|
}
|
|
196
|
-
const { affinities: localWebWorkerAffinities, maxAffinity: maxLocalWebWorkerAffinity } = this._computeAffinity(localWebWorkerExtensions,
|
|
197
|
+
const { affinities: localWebWorkerAffinities, maxAffinity: maxLocalWebWorkerAffinity } = this._computeAffinity(localWebWorkerExtensions, ExtensionHostKind.LocalWebWorker, isInitialAllocation);
|
|
197
198
|
for (const extension of localWebWorkerExtensions) {
|
|
198
199
|
const affinity = localWebWorkerAffinities.get(extension.identifier) || 0;
|
|
199
200
|
result.set(extension.identifier, ( new LocalWebWorkerRunningLocation(affinity)));
|
|
@@ -227,25 +228,25 @@ let ExtensionRunningLocationTracker = class ExtensionRunningLocationTracker {
|
|
|
227
228
|
for (const extension of toAdd) {
|
|
228
229
|
const extensionKind = this.readExtensionKinds(extension);
|
|
229
230
|
const isRemote = extension.extensionLocation.scheme === Schemas.vscodeRemote;
|
|
230
|
-
const extensionHostKind = this._extensionHostKindPicker.pickExtensionHostKind(extension.identifier, extensionKind, !isRemote, isRemote,
|
|
231
|
+
const extensionHostKind = this._extensionHostKindPicker.pickExtensionHostKind(extension.identifier, extensionKind, !isRemote, isRemote, ExtensionRunningPreference.None);
|
|
231
232
|
let runningLocation = null;
|
|
232
|
-
if (extensionHostKind ===
|
|
233
|
+
if (extensionHostKind === ExtensionHostKind.LocalProcess) {
|
|
233
234
|
localProcessExtensions.push(extension);
|
|
234
235
|
}
|
|
235
|
-
else if (extensionHostKind ===
|
|
236
|
+
else if (extensionHostKind === ExtensionHostKind.LocalWebWorker) {
|
|
236
237
|
localWebWorkerExtensions.push(extension);
|
|
237
238
|
}
|
|
238
|
-
else if (extensionHostKind ===
|
|
239
|
+
else if (extensionHostKind === ExtensionHostKind.Remote) {
|
|
239
240
|
runningLocation = ( new RemoteRunningLocation());
|
|
240
241
|
}
|
|
241
242
|
this._runningLocation.set(extension.identifier, runningLocation);
|
|
242
243
|
}
|
|
243
|
-
const { affinities } = this._computeAffinity(localProcessExtensions,
|
|
244
|
+
const { affinities } = this._computeAffinity(localProcessExtensions, ExtensionHostKind.LocalProcess, false);
|
|
244
245
|
for (const extension of localProcessExtensions) {
|
|
245
246
|
const affinity = affinities.get(extension.identifier) || 0;
|
|
246
247
|
this._runningLocation.set(extension.identifier, ( new LocalProcessRunningLocation(affinity)));
|
|
247
248
|
}
|
|
248
|
-
const { affinities: webWorkerExtensionsAffinities } = this._computeAffinity(localWebWorkerExtensions,
|
|
249
|
+
const { affinities: webWorkerExtensionsAffinities } = this._computeAffinity(localWebWorkerExtensions, ExtensionHostKind.LocalWebWorker, false);
|
|
249
250
|
for (const extension of localWebWorkerExtensions) {
|
|
250
251
|
const affinity = webWorkerExtensionsAffinities.get(extension.identifier) || 0;
|
|
251
252
|
this._runningLocation.set(extension.identifier, ( new LocalWebWorkerRunningLocation(affinity)));
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
|
|
1
2
|
import { getErrorMessage } from 'vscode/vscode/vs/base/common/errors';
|
|
2
3
|
import { IEnvironmentService } from 'vscode/vscode/vs/platform/environment/common/environment.service';
|
|
3
4
|
import { IExtensionStorageService } from 'vscode/vscode/vs/platform/extensionManagement/common/extensionStorage.service';
|
|
4
5
|
import { FileSystemProviderErrorCode } from 'vscode/vscode/vs/platform/files/common/files';
|
|
5
6
|
import { IFileService } from 'vscode/vscode/vs/platform/files/common/files.service';
|
|
6
7
|
import { ILogService } from 'vscode/vscode/vs/platform/log/common/log.service';
|
|
8
|
+
import { StorageScope, StorageTarget } from 'vscode/vscode/vs/platform/storage/common/storage';
|
|
7
9
|
import { IStorageService } from 'vscode/vscode/vs/platform/storage/common/storage.service';
|
|
8
10
|
import { IUriIdentityService } from 'vscode/vscode/vs/platform/uriIdentity/common/uriIdentity.service';
|
|
9
11
|
import { IUserDataProfilesService } from 'vscode/vscode/vs/platform/userDataProfile/common/userDataProfile.service';
|
|
@@ -30,7 +32,7 @@ async function migrateExtensionStorage(fromExtensionId, toExtensionId, global, i
|
|
|
30
32
|
}
|
|
31
33
|
return uriIdentityService.extUri.joinPath(environmentService.workspaceStorageHome, workspaceContextService.getWorkspace().id, extensionId);
|
|
32
34
|
};
|
|
33
|
-
const storageScope = global ?
|
|
35
|
+
const storageScope = global ? StorageScope.PROFILE : StorageScope.WORKSPACE;
|
|
34
36
|
if (!storageService.getBoolean(storageMigratedKey, storageScope, false) && !(migrateLowerCaseStorageKey && storageService.getBoolean(migrateLowerCaseStorageKey, storageScope, false))) {
|
|
35
37
|
logService.info(`Migrating ${global ? 'global' : 'workspace'} extension storage from ${fromExtensionId} to ${toExtensionId}...`);
|
|
36
38
|
const value = extensionStorageService.getExtensionState(fromExtensionId, global);
|
|
@@ -51,7 +53,7 @@ async function migrateExtensionStorage(fromExtensionId, toExtensionId, global, i
|
|
|
51
53
|
}
|
|
52
54
|
}
|
|
53
55
|
logService.info(`Migrated ${global ? 'global' : 'workspace'} extension storage from ${fromExtensionId} to ${toExtensionId}`);
|
|
54
|
-
storageService.store(storageMigratedKey, true, storageScope,
|
|
56
|
+
storageService.store(storageMigratedKey, true, storageScope, StorageTarget.MACHINE);
|
|
55
57
|
}
|
|
56
58
|
});
|
|
57
59
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { IExtensionDescription } from "vscode/vscode/vs/platform/extensions/common/extensions";
|
|
2
|
+
import { ILogService } from "vscode/vscode/vs/platform/log/common/log.service";
|
|
3
|
+
import { IProductService } from "vscode/vscode/vs/platform/product/common/productService.service";
|
|
4
|
+
import { IWorkbenchEnvironmentService } from "vscode/vscode/vs/workbench/services/environment/common/environmentService.service";
|
|
5
|
+
export declare class ExtensionsProposedApi {
|
|
6
|
+
private readonly _logService;
|
|
7
|
+
private readonly _environmentService;
|
|
8
|
+
private readonly _envEnablesProposedApiForAll;
|
|
9
|
+
private readonly _envEnabledExtensions;
|
|
10
|
+
private readonly _productEnabledExtensions;
|
|
11
|
+
constructor(_logService: ILogService, _environmentService: IWorkbenchEnvironmentService, productService: IProductService);
|
|
12
|
+
updateEnabledApiProposals(extensions: IExtensionDescription[]): void;
|
|
13
|
+
private doUpdateEnabledApiProposals;
|
|
14
|
+
}
|