diff --git a/Extension/src/LanguageServer/protocolFilter.ts b/Extension/src/LanguageServer/protocolFilter.ts index 0a166df83..d6462072e 100644 --- a/Extension/src/LanguageServer/protocolFilter.ts +++ b/Extension/src/LanguageServer/protocolFilter.ts @@ -45,8 +45,10 @@ export function createProtocolFilter(): Middleware { // client.takeOwnership() will call client.TrackedDocuments.add() again, but that's ok. It's a Set. client.takeOwnership(document); void sendMessage(document); - const cppEditors: vscode.TextEditor[] = vscode.window.visibleTextEditors.filter(e => util.isCpp(e.document)); - client.onDidChangeVisibleTextEditors(cppEditors).catch(logAndReturn.undefined); + client.ready.then(() => { + const cppEditors: vscode.TextEditor[] = vscode.window.visibleTextEditors.filter(e => util.isCpp(e.document)); + client.onDidChangeVisibleTextEditors(cppEditors).catch(logAndReturn.undefined); + }).catch(logAndReturn.undefined); } } }, diff --git a/Extension/test/scenarios/SingleRootProject/tests/lmTool.test.ts b/Extension/test/scenarios/SingleRootProject/tests/lmTool.test.ts index 3b45b308e..52d062a40 100644 --- a/Extension/test/scenarios/SingleRootProject/tests/lmTool.test.ts +++ b/Extension/test/scenarios/SingleRootProject/tests/lmTool.test.ts @@ -72,6 +72,7 @@ describe('CppConfigurationLanguageModelTool Tests', () => { this.isClosed = isClosed; this.eol = eol; this.lineCount = lineCount; + this.encoding = ''; } fileName: string; isUntitled: boolean; @@ -79,6 +80,7 @@ describe('CppConfigurationLanguageModelTool Tests', () => { version: number; isDirty: boolean; isClosed: boolean; + encoding: string; save(): Thenable { throw new Error('Method not implemented.'); }