From f47ae9e324c8abdb15fe2effef94c5c4cb02c5aa Mon Sep 17 00:00:00 2001 From: Matt Bierner Date: Mon, 11 Oct 2021 14:50:09 -0700 Subject: [PATCH] Disable dynamic routing when experimental project wide diagnostics are enabled Fixes #132121 We don't track project loading state properly when project wide diagnostics are enable. Just disable it for now since this is an experimental feature --- .../typescript-language-features/src/tsServer/spawner.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/extensions/typescript-language-features/src/tsServer/spawner.ts b/extensions/typescript-language-features/src/tsServer/spawner.ts index adae7c73106..6dcf81d929d 100644 --- a/extensions/typescript-language-features/src/tsServer/spawner.ts +++ b/extensions/typescript-language-features/src/tsServer/spawner.ts @@ -56,11 +56,13 @@ export class TypeScriptServerSpawner { ): ITypeScriptServer { let primaryServer: ITypeScriptServer; const serverType = this.getCompositeServerType(version, capabilities, configuration); + const shouldUseSeparateDiagnosticsServer = this.shouldUseSeparateDiagnosticsServer(configuration); + switch (serverType) { case CompositeServerType.SeparateSyntax: case CompositeServerType.DynamicSeparateSyntax: { - const enableDynamicRouting = serverType === CompositeServerType.DynamicSeparateSyntax; + const enableDynamicRouting = !shouldUseSeparateDiagnosticsServer && serverType === CompositeServerType.DynamicSeparateSyntax; primaryServer = new SyntaxRoutingTsServer({ syntax: this.spawnTsServer(TsServerProcessKind.Syntax, version, configuration, pluginManager, cancellerFactory), semantic: this.spawnTsServer(TsServerProcessKind.Semantic, version, configuration, pluginManager, cancellerFactory), @@ -79,7 +81,7 @@ export class TypeScriptServerSpawner { } } - if (this.shouldUseSeparateDiagnosticsServer(configuration)) { + if (shouldUseSeparateDiagnosticsServer) { return new GetErrRoutingTsServer({ getErr: this.spawnTsServer(TsServerProcessKind.Diagnostics, version, configuration, pluginManager, cancellerFactory), primary: primaryServer,