@codingame/monaco-vscode-extensions-service-override 25.1.2 → 26.0.1
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.js +7 -0
- package/package.json +3 -3
- package/vscode/src/vs/base/common/console.js +24 -15
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagementCLI.d.ts +4 -1
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagementCLI.js +149 -84
- package/vscode/src/vs/platform/extensionResourceLoader/browser/extensionResourceLoaderService.js +20 -12
- package/vscode/src/vs/platform/extensionResourceLoader/common/extensionResourceLoader.js +38 -21
- package/vscode/src/vs/platform/remote/common/managedSocket.js +7 -10
- package/vscode/src/vs/workbench/api/browser/mainThreadAiEmbeddingVector.js +5 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadAiRelatedInformation.js +5 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadAiSettingsSearch.js +4 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.js +200 -143
- package/vscode/src/vs/workbench/api/browser/mainThreadBulkEdits.js +10 -14
- package/vscode/src/vs/workbench/api/browser/mainThreadCLICommands.js +41 -31
- package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.d.ts +9 -12
- package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.js +168 -115
- package/vscode/src/vs/workbench/api/browser/mainThreadChatCodeMapper.js +11 -13
- package/vscode/src/vs/workbench/api/browser/mainThreadChatContext.d.ts +5 -5
- package/vscode/src/vs/workbench/api/browser/mainThreadChatContext.js +42 -15
- package/vscode/src/vs/workbench/api/browser/mainThreadChatOutputRenderer.js +8 -7
- package/vscode/src/vs/workbench/api/browser/mainThreadChatSessions.d.ts +4 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadChatSessions.js +170 -99
- package/vscode/src/vs/workbench/api/browser/mainThreadChatStatus.js +2 -5
- package/vscode/src/vs/workbench/api/browser/mainThreadClipboard.js +4 -9
- package/vscode/src/vs/workbench/api/browser/mainThreadCodeInsets.js +13 -12
- package/vscode/src/vs/workbench/api/browser/mainThreadCommands.js +16 -19
- package/vscode/src/vs/workbench/api/browser/mainThreadComments.js +127 -70
- package/vscode/src/vs/workbench/api/browser/mainThreadConfiguration.js +80 -26
- package/vscode/src/vs/workbench/api/browser/mainThreadConsole.js +5 -11
- package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.js +199 -97
- package/vscode/src/vs/workbench/api/browser/mainThreadDataChannels.js +1 -4
- package/vscode/src/vs/workbench/api/browser/mainThreadDebugService.js +88 -73
- package/vscode/src/vs/workbench/api/browser/mainThreadDecorations.js +5 -5
- package/vscode/src/vs/workbench/api/browser/mainThreadDiagnostics.js +16 -12
- package/vscode/src/vs/workbench/api/browser/mainThreadDialogs.js +10 -8
- package/vscode/src/vs/workbench/api/browser/mainThreadDocumentContentProviders.js +14 -6
- package/vscode/src/vs/workbench/api/browser/mainThreadDocuments.js +52 -37
- package/vscode/src/vs/workbench/api/browser/mainThreadDocumentsAndEditors.js +78 -58
- package/vscode/src/vs/workbench/api/browser/mainThreadEditSessionIdentityParticipant.js +5 -7
- package/vscode/src/vs/workbench/api/browser/mainThreadEditor.js +75 -63
- package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.js +99 -91
- package/vscode/src/vs/workbench/api/browser/mainThreadEditors.js +93 -55
- package/vscode/src/vs/workbench/api/browser/mainThreadEmbeddings.js +3 -7
- package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.js +85 -60
- package/vscode/src/vs/workbench/api/browser/mainThreadFileSystem.js +49 -45
- package/vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.js +114 -72
- package/vscode/src/vs/workbench/api/browser/mainThreadInteractive.js +4 -7
- package/vscode/src/vs/workbench/api/browser/mainThreadLabelService.js +1 -4
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.d.ts +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.js +381 -238
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModelTools.d.ts +7 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModelTools.js +90 -13
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.js +81 -58
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguages.js +9 -10
- package/vscode/src/vs/workbench/api/browser/mainThreadLocalization.js +2 -7
- package/vscode/src/vs/workbench/api/browser/mainThreadLogService.js +6 -10
- package/vscode/src/vs/workbench/api/browser/mainThreadManagedSockets.js +12 -10
- package/vscode/src/vs/workbench/api/browser/mainThreadMcp.d.ts +3 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadMcp.js +162 -97
- package/vscode/src/vs/workbench/api/browser/mainThreadMessageService.js +32 -26
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebook.js +38 -32
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocuments.js +48 -46
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocumentsAndEditors.js +22 -18
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDto.js +5 -8
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookEditors.js +35 -21
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookKernels.js +31 -28
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.js +5 -7
- package/vscode/src/vs/workbench/api/browser/mainThreadOutputService.js +47 -23
- package/vscode/src/vs/workbench/api/browser/mainThreadProfileContentHandlers.js +15 -12
- package/vscode/src/vs/workbench/api/browser/mainThreadProgress.js +17 -18
- package/vscode/src/vs/workbench/api/browser/mainThreadQuickDiff.js +6 -7
- package/vscode/src/vs/workbench/api/browser/mainThreadQuickOpen.js +83 -66
- package/vscode/src/vs/workbench/api/browser/mainThreadRemoteConnectionData.js +1 -5
- package/vscode/src/vs/workbench/api/browser/mainThreadSCM.js +250 -92
- package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.js +6 -8
- package/vscode/src/vs/workbench/api/browser/mainThreadSearch.js +37 -26
- package/vscode/src/vs/workbench/api/browser/mainThreadSecretState.js +34 -21
- package/vscode/src/vs/workbench/api/browser/mainThreadShare.js +3 -6
- package/vscode/src/vs/workbench/api/browser/mainThreadSpeech.js +19 -14
- package/vscode/src/vs/workbench/api/browser/mainThreadStatusBar.js +41 -16
- package/vscode/src/vs/workbench/api/browser/mainThreadStorage.js +18 -17
- package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +145 -145
- package/vscode/src/vs/workbench/api/browser/mainThreadTelemetry.js +19 -11
- package/vscode/src/vs/workbench/api/browser/mainThreadTerminalService.js +176 -80
- package/vscode/src/vs/workbench/api/browser/mainThreadTerminalShellIntegration.js +52 -21
- package/vscode/src/vs/workbench/api/browser/mainThreadTesting.js +26 -24
- package/vscode/src/vs/workbench/api/browser/mainThreadTheming.js +1 -4
- package/vscode/src/vs/workbench/api/browser/mainThreadTimeline.js +5 -8
- package/vscode/src/vs/workbench/api/browser/mainThreadTreeViews.d.ts +4 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadTreeViews.js +106 -46
- package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.js +83 -65
- package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.js +20 -20
- package/vscode/src/vs/workbench/api/browser/mainThreadUrls.js +14 -9
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviewManager.js +17 -9
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviewPanels.js +49 -38
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviewViews.js +10 -13
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.js +38 -27
- package/vscode/src/vs/workbench/api/browser/mainThreadWindow.js +5 -11
- package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.d.ts +4 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.js +73 -43
- package/vscode/src/vs/workbench/api/common/shared/dataTransferCache.js +2 -2
- package/vscode/src/vs/workbench/contrib/customEditor/common/customTextEditorModel.js +17 -10
- package/vscode/src/vs/workbench/contrib/externalUriOpener/common/contributedOpeners.js +17 -11
- package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionBisect.js +107 -80
- package/vscode/src/vs/workbench/services/extensionManagement/browser/webExtensionsScannerService.js +336 -175
- package/vscode/src/vs/workbench/services/extensions/browser/extensionService.js +126 -71
- package/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.js +76 -54
- package/vscode/src/vs/workbench/services/extensions/browser/webWorkerFileSystemProvider.js +1 -2
- package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +2 -0
- package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +343 -192
- package/vscode/src/vs/workbench/services/extensions/common/extHostCustomers.js +5 -3
- package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.d.ts +0 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +75 -68
- package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.js +135 -36
- package/vscode/src/vs/workbench/services/extensions/common/extensionsProposedApi.js +22 -18
- package/vscode/src/vs/workbench/services/extensions/common/extensionsUtil.js +14 -12
- package/vscode/src/vs/workbench/services/extensions/common/lazyCreateExtensionHostManager.js +21 -9
- package/vscode/src/vs/workbench/services/extensions/common/remoteExtensionHost.js +48 -25
- package/vscode/src/vs/workbench/services/themes/browser/cssExtensionPoint.d.ts +24 -0
- package/vscode/src/vs/workbench/services/themes/browser/cssExtensionPoint.js +300 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
3
|
function extHostNamedCustomer(id) {
|
|
4
|
-
return function
|
|
4
|
+
return function(ctor) {
|
|
5
5
|
ExtHostCustomersRegistryImpl.INSTANCE.registerNamedCustomer(id, ctor);
|
|
6
6
|
};
|
|
7
7
|
}
|
|
@@ -9,7 +9,7 @@ function extHostCustomer(ctor) {
|
|
|
9
9
|
ExtHostCustomersRegistryImpl.INSTANCE.registerCustomer(ctor);
|
|
10
10
|
}
|
|
11
11
|
var ExtHostCustomersRegistry;
|
|
12
|
-
(function
|
|
12
|
+
(function(ExtHostCustomersRegistry) {
|
|
13
13
|
function getNamedCustomers() {
|
|
14
14
|
return ExtHostCustomersRegistryImpl.INSTANCE.getNamedCustomers();
|
|
15
15
|
}
|
|
@@ -20,7 +20,9 @@ var ExtHostCustomersRegistry;
|
|
|
20
20
|
ExtHostCustomersRegistry.getCustomers = getCustomers;
|
|
21
21
|
})(ExtHostCustomersRegistry || (ExtHostCustomersRegistry = {}));
|
|
22
22
|
class ExtHostCustomersRegistryImpl {
|
|
23
|
-
static {
|
|
23
|
+
static {
|
|
24
|
+
this.INSTANCE = ( new ExtHostCustomersRegistryImpl());
|
|
25
|
+
}
|
|
24
26
|
constructor() {
|
|
25
27
|
this._namedCustomers = [];
|
|
26
28
|
this._customers = [];
|
|
@@ -34,7 +34,6 @@ export declare class ExtensionHostManager extends Disposable implements IExtensi
|
|
|
34
34
|
private readonly _customers;
|
|
35
35
|
private readonly _extensionHost;
|
|
36
36
|
private _proxy;
|
|
37
|
-
private _hasStarted;
|
|
38
37
|
get pid(): number | null;
|
|
39
38
|
get kind(): ExtensionHostKind;
|
|
40
39
|
get startup(): ExtensionHostStartup;
|
|
@@ -34,7 +34,15 @@ let ExtensionHostManager = ExtensionHostManager_1 = class ExtensionHostManager e
|
|
|
34
34
|
get friendyName() {
|
|
35
35
|
return friendlyExtHostName(this.kind, this.pid);
|
|
36
36
|
}
|
|
37
|
-
constructor(
|
|
37
|
+
constructor(
|
|
38
|
+
extensionHost,
|
|
39
|
+
initialActivationEvents,
|
|
40
|
+
_internalExtensionService,
|
|
41
|
+
_instantiationService,
|
|
42
|
+
_environmentService,
|
|
43
|
+
_telemetryService,
|
|
44
|
+
_logService
|
|
45
|
+
) {
|
|
38
46
|
super();
|
|
39
47
|
this._internalExtensionService = _internalExtensionService;
|
|
40
48
|
this._instantiationService = _instantiationService;
|
|
@@ -43,7 +51,6 @@ let ExtensionHostManager = ExtensionHostManager_1 = class ExtensionHostManager e
|
|
|
43
51
|
this._logService = _logService;
|
|
44
52
|
this._onDidChangeResponsiveState = this._register(( new Emitter()));
|
|
45
53
|
this.onDidChangeResponsiveState = this._onDidChangeResponsiveState.event;
|
|
46
|
-
this._hasStarted = false;
|
|
47
54
|
this._cachedActivationEvents = ( new Map());
|
|
48
55
|
this._resolvedActivationEvents = ( new Set());
|
|
49
56
|
this._rpcProtocol = null;
|
|
@@ -52,25 +59,26 @@ let ExtensionHostManager = ExtensionHostManager_1 = class ExtensionHostManager e
|
|
|
52
59
|
this.onDidExit = this._extensionHost.onExit;
|
|
53
60
|
const startingTelemetryEvent = {
|
|
54
61
|
time: Date.now(),
|
|
55
|
-
action:
|
|
62
|
+
action: "starting",
|
|
56
63
|
kind: extensionHostKindToString(this.kind)
|
|
57
64
|
};
|
|
58
|
-
this._telemetryService.publicLog2(
|
|
59
|
-
this._proxy = this._extensionHost.start().then(
|
|
60
|
-
this._hasStarted = true;
|
|
65
|
+
this._telemetryService.publicLog2("extensionHostStartup", startingTelemetryEvent);
|
|
66
|
+
this._proxy = this._extensionHost.start().then(protocol => {
|
|
61
67
|
const successTelemetryEvent = {
|
|
62
68
|
time: Date.now(),
|
|
63
|
-
action:
|
|
69
|
+
action: "success",
|
|
64
70
|
kind: extensionHostKindToString(this.kind)
|
|
65
71
|
};
|
|
66
|
-
this._telemetryService.publicLog2(
|
|
72
|
+
this._telemetryService.publicLog2("extensionHostStartup", successTelemetryEvent);
|
|
67
73
|
return this._createExtensionHostCustomers(this.kind, protocol);
|
|
68
|
-
},
|
|
69
|
-
this._logService.error(
|
|
74
|
+
}, err => {
|
|
75
|
+
this._logService.error(
|
|
76
|
+
`Error received from starting extension host (kind: ${extensionHostKindToString(this.kind)})`
|
|
77
|
+
);
|
|
70
78
|
this._logService.error(err);
|
|
71
79
|
const failureTelemetryEvent = {
|
|
72
80
|
time: Date.now(),
|
|
73
|
-
action:
|
|
81
|
+
action: "error",
|
|
74
82
|
kind: extensionHostKindToString(this.kind)
|
|
75
83
|
};
|
|
76
84
|
if (err && err.name) {
|
|
@@ -82,11 +90,13 @@ let ExtensionHostManager = ExtensionHostManager_1 = class ExtensionHostManager e
|
|
|
82
90
|
if (err && err.stack) {
|
|
83
91
|
failureTelemetryEvent.errorStack = err.stack;
|
|
84
92
|
}
|
|
85
|
-
this._telemetryService.publicLog2(
|
|
93
|
+
this._telemetryService.publicLog2("extensionHostStartup", failureTelemetryEvent);
|
|
86
94
|
return null;
|
|
87
95
|
});
|
|
88
96
|
this._proxy.then(() => {
|
|
89
|
-
initialActivationEvents.forEach(
|
|
97
|
+
initialActivationEvents.forEach(
|
|
98
|
+
activationEvent => this.activateByEvent(activationEvent, ActivationKind.Normal)
|
|
99
|
+
);
|
|
90
100
|
this._register(registerLatencyTestProvider({
|
|
91
101
|
measure: () => this.measure()
|
|
92
102
|
}));
|
|
@@ -102,8 +112,7 @@ let ExtensionHostManager = ExtensionHostManager_1 = class ExtensionHostManager e
|
|
|
102
112
|
const customer = this._customers[i];
|
|
103
113
|
try {
|
|
104
114
|
customer.dispose();
|
|
105
|
-
}
|
|
106
|
-
catch (err) {
|
|
115
|
+
} catch (err) {
|
|
107
116
|
onUnexpectedError(err);
|
|
108
117
|
}
|
|
109
118
|
}
|
|
@@ -165,29 +174,30 @@ let ExtensionHostManager = ExtensionHostManager_1 = class ExtensionHostManager e
|
|
|
165
174
|
let logger = null;
|
|
166
175
|
if (this._environmentService.logExtensionHostCommunication) {
|
|
167
176
|
logger = ( new RPCLogger(kind));
|
|
168
|
-
}
|
|
169
|
-
else if (TelemetryRPCLogger.isEnabled()) {
|
|
177
|
+
} else if (TelemetryRPCLogger.isEnabled()) {
|
|
170
178
|
logger = ( new TelemetryRPCLogger(this._telemetryService));
|
|
171
179
|
}
|
|
172
180
|
this._rpcProtocol = ( new RPCProtocol(protocol, logger));
|
|
173
|
-
this._register(
|
|
181
|
+
this._register(
|
|
182
|
+
this._rpcProtocol.onDidChangeResponsiveState(responsiveState => this._onDidChangeResponsiveState.fire(responsiveState))
|
|
183
|
+
);
|
|
174
184
|
let extensionHostProxy = null;
|
|
175
185
|
let mainProxyIdentifiers = [];
|
|
176
186
|
const extHostContext = {
|
|
177
187
|
remoteAuthority: this._extensionHost.remoteAuthority,
|
|
178
188
|
extensionHostKind: this.kind,
|
|
179
|
-
getProxy:
|
|
189
|
+
getProxy: identifier => ( this._rpcProtocol.getProxy(identifier)),
|
|
180
190
|
set: (identifier, instance) => this._rpcProtocol.set(identifier, instance),
|
|
181
191
|
dispose: () => this._rpcProtocol.dispose(),
|
|
182
|
-
assertRegistered:
|
|
192
|
+
assertRegistered: identifiers => this._rpcProtocol.assertRegistered(identifiers),
|
|
183
193
|
drain: () => this._rpcProtocol.drain(),
|
|
184
194
|
internalExtensionService: this._internalExtensionService,
|
|
185
|
-
_setExtensionHostProxy:
|
|
195
|
+
_setExtensionHostProxy: value => {
|
|
186
196
|
extensionHostProxy = value;
|
|
187
197
|
},
|
|
188
|
-
_setAllMainProxyIdentifiers:
|
|
198
|
+
_setAllMainProxyIdentifiers: value => {
|
|
189
199
|
mainProxyIdentifiers = value;
|
|
190
|
-
}
|
|
200
|
+
}
|
|
191
201
|
};
|
|
192
202
|
const namedCustomers = ExtHostCustomersRegistry.getNamedCustomers();
|
|
193
203
|
for (let i = 0, len = namedCustomers.length; i < len; i++) {
|
|
@@ -196,8 +206,7 @@ let ExtensionHostManager = ExtensionHostManager_1 = class ExtensionHostManager e
|
|
|
196
206
|
const instance = this._instantiationService.createInstance(ctor, extHostContext);
|
|
197
207
|
this._customers.push(instance);
|
|
198
208
|
this._rpcProtocol.set(id, instance);
|
|
199
|
-
}
|
|
200
|
-
catch (err) {
|
|
209
|
+
} catch (err) {
|
|
201
210
|
this._logService.error(`Cannot instantiate named customer: '${id.sid}'`);
|
|
202
211
|
this._logService.error(err);
|
|
203
212
|
onUnexpectedError(err);
|
|
@@ -208,8 +217,7 @@ let ExtensionHostManager = ExtensionHostManager_1 = class ExtensionHostManager e
|
|
|
208
217
|
try {
|
|
209
218
|
const instance = this._instantiationService.createInstance(ctor, extHostContext);
|
|
210
219
|
this._customers.push(instance);
|
|
211
|
-
}
|
|
212
|
-
catch (err) {
|
|
220
|
+
} catch (err) {
|
|
213
221
|
this._logService.error(err);
|
|
214
222
|
onUnexpectedError(err);
|
|
215
223
|
}
|
|
@@ -228,9 +236,6 @@ let ExtensionHostManager = ExtensionHostManager_1 = class ExtensionHostManager e
|
|
|
228
236
|
return proxy.activate(extension, reason);
|
|
229
237
|
}
|
|
230
238
|
activateByEvent(activationEvent, activationKind) {
|
|
231
|
-
if (activationKind === ActivationKind.Immediate && !this._hasStarted) {
|
|
232
|
-
return Promise.resolve();
|
|
233
|
-
}
|
|
234
239
|
if (!( this._cachedActivationEvents.has(activationEvent))) {
|
|
235
240
|
this._cachedActivationEvents.set(activationEvent, this._activateByEvent(activationEvent, activationKind));
|
|
236
241
|
}
|
|
@@ -269,14 +274,14 @@ let ExtensionHostManager = ExtensionHostManager_1 = class ExtensionHostManager e
|
|
|
269
274
|
async resolveAuthority(remoteAuthority, resolveAttempt) {
|
|
270
275
|
const sw = StopWatch.create(false);
|
|
271
276
|
const prefix = () => `[${extensionHostKindToString(this._extensionHost.runningLocation.kind)}${this._extensionHost.runningLocation.affinity}][resolveAuthority(${getRemoteAuthorityPrefix(remoteAuthority)},${resolveAttempt})][${sw.elapsed()}ms] `;
|
|
272
|
-
const logInfo =
|
|
277
|
+
const logInfo = msg => this._logService.info(`${prefix()}${msg}`);
|
|
273
278
|
const logError = (msg, err = undefined) => this._logService.error(`${prefix()}${msg}`, err);
|
|
274
279
|
logInfo(`obtaining proxy...`);
|
|
275
280
|
const proxy = await this._proxy;
|
|
276
281
|
if (!proxy) {
|
|
277
282
|
logError(`no proxy`);
|
|
278
283
|
return {
|
|
279
|
-
type:
|
|
284
|
+
type: "error",
|
|
280
285
|
error: {
|
|
281
286
|
message: `Cannot resolve authority`,
|
|
282
287
|
code: RemoteAuthorityResolverErrorCode.Unknown,
|
|
@@ -287,22 +292,20 @@ let ExtensionHostManager = ExtensionHostManager_1 = class ExtensionHostManager e
|
|
|
287
292
|
logInfo(`invoking...`);
|
|
288
293
|
const intervalLogger = ( new IntervalTimer());
|
|
289
294
|
try {
|
|
290
|
-
intervalLogger.cancelAndSet(() => logInfo(
|
|
295
|
+
intervalLogger.cancelAndSet(() => logInfo("waiting..."), 1000);
|
|
291
296
|
const resolverResult = await proxy.resolveAuthority(remoteAuthority, resolveAttempt);
|
|
292
297
|
intervalLogger.dispose();
|
|
293
|
-
if (resolverResult.type ===
|
|
298
|
+
if (resolverResult.type === "ok") {
|
|
294
299
|
logInfo(`returned ${resolverResult.value.authority.connectTo}`);
|
|
295
|
-
}
|
|
296
|
-
else {
|
|
300
|
+
} else {
|
|
297
301
|
logError(`returned an error`, resolverResult.error);
|
|
298
302
|
}
|
|
299
303
|
return resolverResult;
|
|
300
|
-
}
|
|
301
|
-
catch (err) {
|
|
304
|
+
} catch (err) {
|
|
302
305
|
intervalLogger.dispose();
|
|
303
306
|
logError(`returned an error`, err);
|
|
304
307
|
return {
|
|
305
|
-
type:
|
|
308
|
+
type: "error",
|
|
306
309
|
error: {
|
|
307
310
|
message: err.message,
|
|
308
311
|
code: RemoteAuthorityResolverErrorCode.Unknown,
|
|
@@ -329,7 +332,7 @@ let ExtensionHostManager = ExtensionHostManager_1 = class ExtensionHostManager e
|
|
|
329
332
|
async extensionTestsExecute() {
|
|
330
333
|
const proxy = await this._proxy;
|
|
331
334
|
if (!proxy) {
|
|
332
|
-
throw ( new Error(
|
|
335
|
+
throw ( new Error("Could not obtain Extension Host Proxy"));
|
|
333
336
|
}
|
|
334
337
|
return proxy.extensionTestsExecute();
|
|
335
338
|
}
|
|
@@ -358,12 +361,7 @@ let ExtensionHostManager = ExtensionHostManager_1 = class ExtensionHostManager e
|
|
|
358
361
|
return proxy.setRemoteEnvironment(env);
|
|
359
362
|
}
|
|
360
363
|
};
|
|
361
|
-
ExtensionHostManager = ExtensionHostManager_1 = ( __decorate([
|
|
362
|
-
( __param(3, IInstantiationService)),
|
|
363
|
-
( __param(4, IWorkbenchEnvironmentService)),
|
|
364
|
-
( __param(5, ITelemetryService)),
|
|
365
|
-
( __param(6, ILogService))
|
|
366
|
-
], ExtensionHostManager));
|
|
364
|
+
ExtensionHostManager = ExtensionHostManager_1 = ( __decorate([( __param(3, IInstantiationService)), ( __param(4, IWorkbenchEnvironmentService)), ( __param(5, ITelemetryService)), ( __param(6, ILogService))], ExtensionHostManager));
|
|
367
365
|
function friendlyExtHostName(kind, pid) {
|
|
368
366
|
if (pid) {
|
|
369
367
|
return `${extensionHostKindToString(kind)} pid: ${pid}`;
|
|
@@ -371,16 +369,16 @@ function friendlyExtHostName(kind, pid) {
|
|
|
371
369
|
return `${extensionHostKindToString(kind)}`;
|
|
372
370
|
}
|
|
373
371
|
const colorTables = [
|
|
374
|
-
[
|
|
375
|
-
[
|
|
372
|
+
["#2977B1", "#FC802D", "#34A13A", "#D3282F", "#9366BA"],
|
|
373
|
+
["#8B564C", "#E177C0", "#7F7F7F", "#BBBE3D", "#2EBECD"]
|
|
376
374
|
];
|
|
377
375
|
function prettyWithoutArrays(data) {
|
|
378
376
|
if (Array.isArray(data)) {
|
|
379
377
|
return data;
|
|
380
378
|
}
|
|
381
|
-
if (data && typeof data ===
|
|
379
|
+
if (data && typeof data === "object" && typeof data.toString === "function") {
|
|
382
380
|
const result = ( data.toString());
|
|
383
|
-
if (result !==
|
|
381
|
+
if (result !== "[object Object]") {
|
|
384
382
|
return result;
|
|
385
383
|
}
|
|
386
384
|
}
|
|
@@ -402,23 +400,28 @@ class RPCLogger {
|
|
|
402
400
|
data = pretty(data);
|
|
403
401
|
const colorTable = colorTables[initiator];
|
|
404
402
|
const color = colorTable[req % colorTable.length] ;
|
|
405
|
-
let args = [
|
|
403
|
+
let args = [
|
|
404
|
+
`%c[${extensionHostKindToString(this._kind)}][${direction}]%c[${String(totalLength).padStart(7)}]%c[len: ${String(msgLength).padStart(5)}]%c${String(req).padStart(5)} - ${str}`,
|
|
405
|
+
"color: darkgreen",
|
|
406
|
+
"color: grey",
|
|
407
|
+
"color: grey",
|
|
408
|
+
`color: ${color}`
|
|
409
|
+
];
|
|
406
410
|
if (/\($/.test(str)) {
|
|
407
411
|
args = args.concat(data);
|
|
408
|
-
args.push(
|
|
409
|
-
}
|
|
410
|
-
else {
|
|
412
|
+
args.push(")");
|
|
413
|
+
} else {
|
|
411
414
|
args.push(data);
|
|
412
415
|
}
|
|
413
416
|
console.log.apply(console, args);
|
|
414
417
|
}
|
|
415
418
|
logIncoming(msgLength, req, initiator, str, data) {
|
|
416
419
|
this._totalIncoming += msgLength;
|
|
417
|
-
this._log(
|
|
420
|
+
this._log("Ext → Win", this._totalIncoming, msgLength, req, initiator, str, data);
|
|
418
421
|
}
|
|
419
422
|
logOutgoing(msgLength, req, initiator, str, data) {
|
|
420
423
|
this._totalOutgoing += msgLength;
|
|
421
|
-
this._log(
|
|
424
|
+
this._log("Win → Ext", this._totalOutgoing, msgLength, req, initiator, str, data);
|
|
422
425
|
}
|
|
423
426
|
}
|
|
424
427
|
let TelemetryRPCLogger = class TelemetryRPCLogger {
|
|
@@ -431,33 +434,31 @@ let TelemetryRPCLogger = class TelemetryRPCLogger {
|
|
|
431
434
|
}
|
|
432
435
|
logIncoming(msgLength, req, initiator, str) {
|
|
433
436
|
if (initiator === RequestInitiator.LocalSide && /^receiveReply(Err)?:/.test(str)) {
|
|
434
|
-
const requestStr = this._pendingRequests.get(req) ??
|
|
437
|
+
const requestStr = this._pendingRequests.get(req) ?? "unknown_reply";
|
|
435
438
|
this._pendingRequests.delete(req);
|
|
436
|
-
this._telemetryService.publicLog2(
|
|
439
|
+
this._telemetryService.publicLog2("extensionhost.incoming", {
|
|
437
440
|
type: `${str} ${requestStr}`,
|
|
438
441
|
length: msgLength
|
|
439
442
|
});
|
|
440
443
|
}
|
|
441
444
|
if (initiator === RequestInitiator.OtherSide && /^receiveRequest /.test(str)) {
|
|
442
|
-
this._telemetryService.publicLog2(
|
|
445
|
+
this._telemetryService.publicLog2("extensionhost.incoming", {
|
|
443
446
|
type: `${str}`,
|
|
444
447
|
length: msgLength
|
|
445
448
|
});
|
|
446
449
|
}
|
|
447
450
|
}
|
|
448
451
|
logOutgoing(msgLength, req, initiator, str) {
|
|
449
|
-
if (initiator === RequestInitiator.LocalSide && str.startsWith(
|
|
452
|
+
if (initiator === RequestInitiator.LocalSide && str.startsWith("request: ")) {
|
|
450
453
|
this._pendingRequests.set(req, str);
|
|
451
|
-
this._telemetryService.publicLog2(
|
|
454
|
+
this._telemetryService.publicLog2("extensionhost.outgoing", {
|
|
452
455
|
type: str,
|
|
453
456
|
length: msgLength
|
|
454
457
|
});
|
|
455
458
|
}
|
|
456
459
|
}
|
|
457
460
|
};
|
|
458
|
-
TelemetryRPCLogger = ( __decorate([
|
|
459
|
-
( __param(0, ITelemetryService))
|
|
460
|
-
], TelemetryRPCLogger));
|
|
461
|
+
TelemetryRPCLogger = ( __decorate([( __param(0, ITelemetryService))], TelemetryRPCLogger));
|
|
461
462
|
const providers = [];
|
|
462
463
|
function registerLatencyTestProvider(provider) {
|
|
463
464
|
providers.push(provider);
|
|
@@ -478,8 +479,8 @@ function getLatencyTestProviders() {
|
|
|
478
479
|
registerAction2(class MeasureExtHostLatencyAction extends Action2 {
|
|
479
480
|
constructor() {
|
|
480
481
|
super({
|
|
481
|
-
id:
|
|
482
|
-
title: ( localize2(
|
|
482
|
+
id: "editor.action.measureExtHostLatency",
|
|
483
|
+
title: ( localize2(14394, "Measure Extension Host Latency")),
|
|
483
484
|
category: Categories.Developer,
|
|
484
485
|
f1: true
|
|
485
486
|
});
|
|
@@ -487,11 +488,17 @@ registerAction2(class MeasureExtHostLatencyAction extends Action2 {
|
|
|
487
488
|
async run(accessor) {
|
|
488
489
|
const editorService = accessor.get(IEditorService);
|
|
489
490
|
const measurements = await Promise.all(( getLatencyTestProviders().map(provider => provider.measure())));
|
|
490
|
-
editorService.openEditor({
|
|
491
|
+
editorService.openEditor({
|
|
492
|
+
resource: undefined,
|
|
493
|
+
contents: ( measurements.map(MeasureExtHostLatencyAction._print)).join("\n\n"),
|
|
494
|
+
options: {
|
|
495
|
+
pinned: true
|
|
496
|
+
}
|
|
497
|
+
});
|
|
491
498
|
}
|
|
492
499
|
static _print(m) {
|
|
493
500
|
if (!m) {
|
|
494
|
-
return
|
|
501
|
+
return "";
|
|
495
502
|
}
|
|
496
503
|
return `${m.remoteAuthority ? `Authority: ${m.remoteAuthority}\n` : ``}Roundtrip latency: ${m.latency.toFixed(3)}ms\nUp: ${MeasureExtHostLatencyAction._printSpeed(m.up)}\nDown: ${MeasureExtHostLatencyAction._printSpeed(m.down)}\n`;
|
|
497
504
|
}
|