diff --git a/extensions/typescript-language-features/src/tsServer/spawner.ts b/extensions/typescript-language-features/src/tsServer/spawner.ts index 891735c80c3..88c31e89a69 100644 --- a/extensions/typescript-language-features/src/tsServer/spawner.ts +++ b/extensions/typescript-language-features/src/tsServer/spawner.ts @@ -10,7 +10,7 @@ import { ClientCapabilities, ClientCapability, ServerType } from '../typescriptS import API from '../utils/api'; import { SyntaxServerConfiguration, TsServerLogLevel, TypeScriptServiceConfiguration } from '../utils/configuration'; import { Logger } from '../utils/logger'; -import { isWeb } from '../utils/platform'; +import { isWeb, isWebAndHasSharedArrayBuffers } from '../utils/platform'; import { TypeScriptPluginPathsProvider } from '../utils/pluginPathsProvider'; import { PluginManager } from '../utils/plugins'; import { TelemetryReporter } from '../utils/telemetry'; @@ -261,6 +261,10 @@ export class TypeScriptServerSpawner { args.push('--validateDefaultNpmLocation'); + if (isWebAndHasSharedArrayBuffers()) { + args.push('--enableProjectWideIntelliSenseOnWeb'); + } + return { args, tsServerLogFile, tsServerTraceDirectory }; } diff --git a/extensions/typescript-language-features/web/webServer.ts b/extensions/typescript-language-features/web/webServer.ts index 17b9b27d880..58ae976ee50 100644 --- a/extensions/typescript-language-features/web/webServer.ts +++ b/extensions/typescript-language-features/web/webServer.ts @@ -544,7 +544,7 @@ async function initializeSession(args: string[], extensionUri: URI, platform: st }; let sys: ServerHostWithImport; - if (serverMode === ts.LanguageServiceMode.Semantic) { + if (hasArgument(args, '--enableProjectWideIntelliSenseOnWeb')) { const connection = new ClientConnection(ports.sync); await connection.serviceReady();