diff --git a/packages/language-service/plugin-factory.ts b/packages/language-service/plugin-factory.ts index 116059511d2..876ca87f34c 100644 --- a/packages/language-service/plugin-factory.ts +++ b/packages/language-service/plugin-factory.ts @@ -21,8 +21,7 @@ export const factory: ts.server.PluginModuleFactory = (tsModule): PluginModule = return { create(info: ts.server.PluginCreateInfo): NgLanguageService { - // Use a module name based import path to allow it to be marked external. - plugin = require(`@angular/language-service/bundles/language-service.js`)(tsModule); + plugin ??= require(`@angular/language-service/bundles/language-service.js`)(tsModule); return plugin.create(info); }, getExternalFiles(project: ts.server.Project): string[] { diff --git a/vscode-ng-language-service/server/src/session.ts b/vscode-ng-language-service/server/src/session.ts index 2bb75a712e7..440203bfc64 100644 --- a/vscode-ng-language-service/server/src/session.ts +++ b/vscode-ng-language-service/server/src/session.ts @@ -706,6 +706,11 @@ export class Session { this.triggerDiagnostics(event.data.openFiles, event.eventName); break; case ts.server.ProjectLanguageServiceStateEvent: + this.logger.info( + `Project language service state changed for ${event.data.project.getProjectName()}. Enabled: ${ + event.data.languageServiceEnabled + }`, + ); this.connection.sendNotification(ProjectLanguageService, { projectName: event.data.project.getProjectName(), languageServiceEnabled: event.data.languageServiceEnabled, @@ -969,6 +974,7 @@ export class Session { if (!filePath) { return; } + this.logger.info(`Closing file: ${filePath}`); this.openFiles.delete(filePath); this.projectService.closeClientFile(filePath); }