Language-tools: [LS] Codeaktionen geben keine Version mit textDocument zurück

Erstellt am 2. März 2021  ·  5Kommentare  ·  Quelle: sveltejs/language-tools

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"
Fixed bug

Alle 5 Kommentare

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.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen