Skip to content

Commit 97baf89

Browse files
author
Mikhail Arkhipov
authored
Improve detection when LS is fully loaded for IntelliCode (#12853)
* Fix path * Actually fix settings * Add news * Add test * Format * Suppress 'jediEnabled' removal * Drop survey first launch threshold * Wait for client ready * Handle async dispose
1 parent b29666a commit 97baf89

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

src/client/activation/languageServer/languageServerProxy.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,9 +102,13 @@ export class DotNetLanguageServerProxy implements ILanguageServerProxy {
102102
}
103103
@captureTelemetry(EventName.PYTHON_LANGUAGE_SERVER_READY, undefined, true)
104104
protected async serverReady(): Promise<void> {
105-
while (this.languageClient && !this.languageClient!.initializeResult) {
105+
// languageClient can be disposed in awaits.
106+
while (this.languageClient && !this.languageClient.initializeResult) {
106107
await sleep(100);
107108
}
109+
if (this.languageClient) {
110+
await this.languageClient.onReady();
111+
}
108112
this.startupCompleted.resolve();
109113
}
110114
@swallowExceptions('Activating Unit Tests Manager for Language Server')

src/client/activation/node/languageServerProxy.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,9 +146,12 @@ export class NodeLanguageServerProxy implements ILanguageServerProxy {
146146
NodeLanguageServerProxy.versionTelemetryProps
147147
)
148148
protected async serverReady(): Promise<void> {
149-
while (this.languageClient && !this.languageClient!.initializeResult) {
149+
while (this.languageClient && !this.languageClient.initializeResult) {
150150
await sleep(100);
151151
}
152+
if (this.languageClient) {
153+
await this.languageClient.onReady();
154+
}
152155
this.startupCompleted.resolve();
153156
}
154157

0 commit comments

Comments
 (0)