Dies verhindert, dass Code-Aktionen in Editoren funktionieren, die erwarten, dass die zurückgegebene Versionsnummer >= von dem ist, was an den LS gesendet wurde.
tsserver
sendet dieselbe Version zurück und Code-Aktionen funktionieren einwandfrei.
https://github.com/neovim/neovim/blob/c1fbc2ddf15b2f44b615f90b2511349ab974cb83/runtime/lua/vim/lsp/util.lua#L265 -L272
Hier ist Code von neovim-lsp
, der die Versionsnummer überprüft.
Werde weitere Informationen bearbeiten, wenn ich die Unterschiede zwischen svelteserver
und tsserver
bezüglich des Sendens der Versionsnummer finde.
Edit : Im Moment funktionieren diese nicht:
Code Actions:
1. (svelte) Disable missing-declaration for this line
2. Import 'teenStyle' from module "./helpers"
Wahrscheinlich muss diese Zeile die richtige Version erhalten https://github.com/sveltejs/language-tools/blob/eac5c7478aebe949bb4337126f38a45b46be8c10/packages/language-server/src/plugins/typescript/features/CodeActionsProvider.ts#L146
Für Svelte-Dateien sollte dies machbar sein, für TS / JS-Dateien sollten wir es jedoch beim derzeitigen Stand belassen, da wir einfach nicht wissen, was wir einstellen sollen, da wir die aktuellen Dokumentversionen davon nicht erhalten.
Für Svelte-Dateien sollte dies machbar sein, für TS / JS-Dateien sollten wir es jedoch beim derzeitigen Stand belassen, da wir einfach nicht wissen, was wir einstellen sollen, da wir die aktuellen Dokumentversionen davon nicht erhalten.
Meinen Sie die Situation, in der wir aufgrund von Code-Aktionen in der Svelte-Komponente Änderungen an externen js/ts-Dateien vornehmen müssen?
Ein Beispiel fällt mir gerade nicht ein. :Denken:
Es ist interessant, ich habe nicht getestet, was passieren würde, wenn ich die Umbenennung in der .ts
Datei verwende. Würde sich diese Änderung in schlanken Komponenten widerspiegeln... :thinking:
Brb. :Lächeln:
Wow... wird es nicht. Es sieht also so aus, als ob der Svelte-Sprachserver auch für .ts|.js
Dateien in Svelte-Projekten konfiguriert werden sollte?
Dies ist nicht der Fall und dies möglich zu machen, wird in #580 verfolgt
Umbenennungen in Svelte-Dateien, die sich auf JS-Dateien auswirken, sind ein Beispiel dafür, wo der Sprachserver Bearbeitungen für JS/TS-Dateien zurückgibt.
Für Svelte-Dateien sollte dies machbar sein, für TS / JS-Dateien sollten wir es jedoch beim derzeitigen Stand belassen, da wir einfach nicht wissen, was wir einstellen sollen, da wir die aktuellen Dokumentversionen davon nicht erhalten.
In der Spezifikation ist textDocument
von TextDocumentEdit
OptionalVersionedTextDocumentIdentifier
, also kann die Version null
und sollte stattdessen null
0, wenn der Server nicht die richtige Versionsnummer bereitstellen kann.