don't log link detection in extension host language features, https://github.com/microsoft/vscode/issues/145882

This commit is contained in:
Johannes
2022-03-23 14:35:31 +01:00
parent 68835e65a6
commit a6965fbd4d

View File

@@ -1770,7 +1770,8 @@ export class ExtHostLanguageFeatures implements extHostProtocol.ExtHostLanguageF
ctor: { new(...args: any[]): A },
callback: (adapter: A, extension: IExtensionDescription) => Promise<R>,
fallbackValue: R,
tokenToRaceAgainst: CancellationToken | undefined
tokenToRaceAgainst: CancellationToken | undefined,
doNotLog: boolean = false
): Promise<R> {
const data = this._adapter.get(handle);
if (!data || !(data.adapter instanceof ctor)) {
@@ -1778,7 +1779,9 @@ export class ExtHostLanguageFeatures implements extHostProtocol.ExtHostLanguageF
}
const t1: number = Date.now();
this._logService.trace(`[${data.extension.identifier.value}] INVOKE provider '${callback.toString().replace(/[\r\n]/g, '')}'`);
if (!doNotLog) {
this._logService.trace(`[${data.extension.identifier.value}] INVOKE provider '${callback.toString().replace(/[\r\n]/g, '')}'`);
}
const result = callback(data.adapter, data.extension);
@@ -1789,7 +1792,9 @@ export class ExtHostLanguageFeatures implements extHostProtocol.ExtHostLanguageF
this._logService.error(err);
}
}).finally(() => {
this._logService.trace(`[${data.extension.identifier.value}] provider DONE after ${Date.now() - t1}ms`);
if (!doNotLog) {
this._logService.trace(`[${data.extension.identifier.value}] provider DONE after ${Date.now() - t1}ms`);
}
});
if (CancellationToken.isCancellationToken(tokenToRaceAgainst)) {
@@ -2222,15 +2227,15 @@ export class ExtHostLanguageFeatures implements extHostProtocol.ExtHostLanguageF
}
$provideDocumentLinks(handle: number, resource: UriComponents, token: CancellationToken): Promise<extHostProtocol.ILinksListDto | undefined> {
return this._withAdapter(handle, LinkProviderAdapter, adapter => adapter.provideLinks(URI.revive(resource), token), undefined, token);
return this._withAdapter(handle, LinkProviderAdapter, adapter => adapter.provideLinks(URI.revive(resource), token), undefined, token, resource.scheme === 'output');
}
$resolveDocumentLink(handle: number, id: extHostProtocol.ChainedCacheId, token: CancellationToken): Promise<extHostProtocol.ILinkDto | undefined> {
return this._withAdapter(handle, LinkProviderAdapter, adapter => adapter.resolveLink(id, token), undefined, undefined);
return this._withAdapter(handle, LinkProviderAdapter, adapter => adapter.resolveLink(id, token), undefined, undefined, true);
}
$releaseDocumentLinks(handle: number, id: number): void {
this._withAdapter(handle, LinkProviderAdapter, adapter => adapter.releaseLinks(id), undefined, undefined);
this._withAdapter(handle, LinkProviderAdapter, adapter => adapter.releaseLinks(id), undefined, undefined, true);
}
registerColorProvider(extension: IExtensionDescription, selector: vscode.DocumentSelector, provider: vscode.DocumentColorProvider): vscode.Disposable {