From 76e567ce2406da3099a9e68647965a9e34852346 Mon Sep 17 00:00:00 2001 From: HeeJae Chang Date: Thu, 23 Mar 2023 17:35:45 -0700 Subject: [PATCH 1/2] make sure we delay start pylance server --- src/client/browser/extension.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/client/browser/extension.ts b/src/client/browser/extension.ts index 6ab6440bbe09..457801529963 100644 --- a/src/client/browser/extension.ts +++ b/src/client/browser/extension.ts @@ -25,8 +25,11 @@ export async function activate(context: vscode.ExtensionContext): Promise(PYLANCE_EXTENSION_ID); if (pylanceExtension) { - await runPylance(context, pylanceExtension); - return buildApi(reporter); + const promise = Promise.resolve(buildApi(reporter)); + + // Make sure we run pylance once we activated core extension. + promise.then(() => runPylance(context, pylanceExtension)); + return promise; } const changeDisposable = vscode.extensions.onDidChange(async () => { From 81fa301f90fda92701d373d8929855a92c7c41e0 Mon Sep 17 00:00:00 2001 From: HeeJae Chang Date: Thu, 23 Mar 2023 17:40:26 -0700 Subject: [PATCH 2/2] use promise all the way --- src/client/browser/extension.ts | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/client/browser/extension.ts b/src/client/browser/extension.ts index 457801529963..28e1912f67e4 100644 --- a/src/client/browser/extension.ts +++ b/src/client/browser/extension.ts @@ -20,16 +20,15 @@ interface BrowserConfig { let languageClient: LanguageClient | undefined; let pylanceApi: PylanceApi | undefined; -export async function activate(context: vscode.ExtensionContext): Promise { +export function activate(context: vscode.ExtensionContext): Promise { const reporter = getTelemetryReporter(); + const activationPromise = Promise.resolve(buildApi(reporter)); const pylanceExtension = vscode.extensions.getExtension(PYLANCE_EXTENSION_ID); if (pylanceExtension) { - const promise = Promise.resolve(buildApi(reporter)); - // Make sure we run pylance once we activated core extension. - promise.then(() => runPylance(context, pylanceExtension)); - return promise; + activationPromise.then(() => runPylance(context, pylanceExtension)); + return activationPromise; } const changeDisposable = vscode.extensions.onDidChange(async () => { @@ -40,7 +39,7 @@ export async function activate(context: vscode.ExtensionContext): Promise {