diff --git a/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/util/SimpleTextDocumentService.java b/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/util/SimpleTextDocumentService.java index 5cc9daa75..31bd77102 100644 --- a/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/util/SimpleTextDocumentService.java +++ b/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/util/SimpleTextDocumentService.java @@ -129,6 +129,12 @@ public class SimpleTextDocumentService implements TextDocumentService, DocumentE this.appContext = appContext; this.messageWorkerThreadPool = Executors.newCachedThreadPool(); + + server.onShutdown(() -> { + for (TextDocument d : getAll()) { + publishDiagnostics(d.getId(), Collections.emptyList()); + } + }); } /** diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/BootLanguageServerInitializer.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/BootLanguageServerInitializer.java index eac98214a..c7dd041ea 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/BootLanguageServerInitializer.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/BootLanguageServerInitializer.java @@ -179,6 +179,12 @@ public class BootLanguageServerInitializer implements InitializingBean { server.getWorkspaceService().getFileObserver().onFilesCreated(FILES_TO_WATCH_GLOB, this::handleFiles); springIndexer.onUpdate(v -> reconcile()); + + server.onShutdown(() -> { + for (IJavaProject p : projectFinder.all()) { + doNotValidateProject(p); + } + }); } private void reconcile() {