Language-tools: [LS] Las acciones de código no devuelven la versión con textDocument

Creado en 2 mar. 2021  ·  5Comentarios  ·  Fuente: sveltejs/language-tools

Esto evita que las acciones de código funcionen en editores que esperan que el número de versión devuelto sea> = de lo que se envió al LS.

tsserver devuelve la misma versión y las acciones de código funcionan bien.

https://github.com/neovim/neovim/blob/c1fbc2ddf15b2f44b615f90b2511349ab974cb83/runtime/lua/vim/lsp/util.lua#L265 -L272
Aquí está el código de neovim-lsp que verifica el número de versión.

Editaré más información cuando encuentre las diferencias entre svelteserver y tsserver respecto al envío del número de versión.

Editar : por ahora estos no funcionan:

Code Actions:                                                                     
1. (svelte) Disable missing-declaration for this line
2. Import 'teenStyle' from module "./helpers"
Fixed bug

Todos 5 comentarios

Para los archivos Svelte, esto debería ser factible, para los archivos TS / JS, sin embargo, deberíamos dejarlo como actualmente porque simplemente no sabemos en qué configurarlo ya que no obtenemos las versiones actuales del documento de esos.

Para los archivos Svelte, esto debería ser factible, para los archivos TS / JS, sin embargo, deberíamos dejarlo como actualmente porque simplemente no sabemos en qué configurarlo ya que no obtenemos las versiones actuales del documento de esos.

¿Te refieres a la situación en la que necesitamos aplicar cambios a archivos js / ts externos debido a la acción del código en el componente esbelto?

No puedo pensar en un ejemplo en este momento. :pensando:

Es interesante, no he probado qué pasaría si uso el cambio de nombre en el archivo .ts . ¿Ese cambio se reflejaría en componentes esbeltos ...: pensando:
Brb. :sonrisa:

Vaya ... no lo hará. Entonces, ¿parece que el servidor de idioma esbelto también debería configurarse para archivos .ts|.js en proyectos esbeltos?

No es así y hacer esto posible se rastrea en # 580

Los cambios de nombre en los archivos Svelte que afectan a los archivos JS son un ejemplo de dónde el servidor de idiomas devuelve ediciones para archivos JS / TS.

Para los archivos Svelte, esto debería ser factible, para los archivos TS / JS, sin embargo, deberíamos dejarlo como actualmente porque simplemente no sabemos en qué configurarlo ya que no obtenemos las versiones actuales del documento de esos.

En la especificación, el textDocument del TextDocumentEdit es un OptionalVersionedTextDocumentIdentifier , por lo que la versión puede ser null , y debería ser null lugar de 0 si el servidor no puede proporcionar el número de versión correcto.

¿Fue útil esta página
0 / 5 - 0 calificaciones