diff --git a/src/vs/workbench/api/common/extHostLanguageFeatures.ts b/src/vs/workbench/api/common/extHostLanguageFeatures.ts index ab6dbb99bac..a438b79f332 100644 --- a/src/vs/workbench/api/common/extHostLanguageFeatures.ts +++ b/src/vs/workbench/api/common/extHostLanguageFeatures.ts @@ -1770,7 +1770,8 @@ export class ExtHostLanguageFeatures implements extHostProtocol.ExtHostLanguageF ctor: { new(...args: any[]): A }, callback: (adapter: A, extension: IExtensionDescription) => Promise, fallbackValue: R, - tokenToRaceAgainst: CancellationToken | undefined + tokenToRaceAgainst: CancellationToken | undefined, + doNotLog: boolean = false ): Promise { 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 { - 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 { - 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 {