diff --git a/Extension/src/LanguageServer/client.ts b/Extension/src/LanguageServer/client.ts index 2cb7ee8599..81de993909 100644 --- a/Extension/src/LanguageServer/client.ts +++ b/Extension/src/LanguageServer/client.ts @@ -776,7 +776,7 @@ export interface Client { PauseCodeAnalysis(): void; ResumeCodeAnalysis(): void; CancelCodeAnalysis(): void; - handleConfigurationSelectCommand(): Promise; + handleConfigurationSelectCommand(config?: string): Promise; handleConfigurationProviderSelectCommand(): Promise; handleShowActiveCodeAnalysisCommands(): Promise; handleShowIdleCodeAnalysisCommands(): Promise; @@ -3268,11 +3268,11 @@ export class DefaultClient implements Client { /** * command handlers */ - public async handleConfigurationSelectCommand(): Promise { + public async handleConfigurationSelectCommand(config?: string): Promise { await this.ready; const configNames: string[] | undefined = this.configuration.ConfigurationNames; if (configNames) { - const index: number = await ui.showConfigurations(configNames); + const index: number = config ? configNames.indexOf(config) : await ui.showConfigurations(configNames); if (index < 0) { return; } diff --git a/Extension/src/LanguageServer/extension.ts b/Extension/src/LanguageServer/extension.ts index 02dd3e8861..8bc64f82f8 100644 --- a/Extension/src/LanguageServer/extension.ts +++ b/Extension/src/LanguageServer/extension.ts @@ -584,13 +584,13 @@ async function installCompiler(sender?: any): Promise { telemetry.logLanguageServerEvent('installCompiler', telemetryProperties); } -async function onSelectConfiguration(): Promise { +async function onSelectConfiguration(config?: string): Promise { if (!isFolderOpen()) { void vscode.window.showInformationMessage(localize("configuration.select.first", 'Open a folder first to select a configuration.')); } else { // This only applies to the active client. You cannot change the configuration for // a client that is not active since that client's UI will not be visible. - return clients.ActiveClient.handleConfigurationSelectCommand(); + return clients.ActiveClient.handleConfigurationSelectCommand(config); } }