From 0f439371ce55e7ff723387c2e66b010e2253d46e Mon Sep 17 00:00:00 2001 From: johnsoncodehk Date: Sat, 16 Jul 2022 23:58:56 +0800 Subject: [PATCH] feat: add diagnostics delay setting close #1295 --- extensions/vscode-vue-language-features/package.json | 5 +++++ packages/vue-language-server/src/projects.ts | 9 ++++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/extensions/vscode-vue-language-features/package.json b/extensions/vscode-vue-language-features/package.json index a951c39b3..b60358089 100644 --- a/extensions/vscode-vue-language-features/package.json +++ b/extensions/vscode-vue-language-features/package.json @@ -444,6 +444,11 @@ "type": "boolean", "default": true, "description": "Enabled update imports on file move." + }, + "volar.diagnostics.delay": { + "type": "number", + "default": 200, + "description": "Delay time for diagnostics." } } }, diff --git a/packages/vue-language-server/src/projects.ts b/packages/vue-language-server/src/projects.ts index 28562b7a9..a045bfada 100644 --- a/packages/vue-language-server/src/projects.ts +++ b/packages/vue-language-server/src/projects.ts @@ -116,8 +116,6 @@ export function createProjects( } }); - updateDiagnostics(undefined); - return { workspaces, getProject, @@ -129,8 +127,6 @@ export function createProjects( await updateDiagnostics(driveFileName ? shared.fsPathToUri(driveFileName) : undefined); - await shared.sleep(100); - if (req === semanticTokensReq) { if (options.languageFeatures?.semanticTokens) { connection.languages.semanticTokens.refresh(); @@ -150,8 +146,9 @@ export function createProjects( } const req = ++documentUpdatedReq; + const delay = await lsConfigs?.getConfiguration('volar.diagnostics.delay'); - await shared.sleep(100); + await shared.sleep(delay ?? 200); if (req !== documentUpdatedReq) return; @@ -181,6 +178,8 @@ export function createProjects( for (const doc of otherDocs) { + await shared.sleep(delay ?? 200); + if (req !== documentUpdatedReq) return;