Language-tools: Svelte para VS Code v102.5.0 / svelte-check 1.1.09 Rompe el soporte de TS en archivos .svelte cuando la etiqueta de estilo está presente a continuación

Creado en 5 nov. 2020  ·  9Comentarios  ·  Fuente: sveltejs/language-tools

Describe el error
Las importaciones y las sugerencias de tipo de interoperabilidad de marcado se rompen en los archivos .svelte para la versión 102.5.0.

  • Pasar el cursor sobre las variables js en el marcado (por ejemplo, <div>{obj.value}</div> ) no proporciona sugerencias de tipo.
  • No hay sugerencias de propiedades al intentar autocompletar en el marcado.
  • Falsos positivos con errores ts en <script lang="ts"> .
  • Falsos positivos con errores de importación de componentes (en algunos casos).

Revertir a v102.4.0 soluciona estos problemas: code --install-extension [email protected] .

Reproducir
Instale [email protected] . Compare con [email protected] .

Comportamiento esperado
Una descripción clara y concisa de lo que esperaba que sucediera.

Capturas de pantalla

  • No hay sugerencias de propiedades al intentar autocompletar:
    image
  • Falsos positivos con errores ts:
    image
  • Falsos positivos con importaciones de componentes (en algunos casos):
    image

Sistema (complete la siguiente información):

  • SO: Windows
  • IDE: VSCode 1.50.1, x64
  • Complemento / Paquete: Svelte para VSCode

Contexto adicional
Para ser claros, mi aplicación se ejecuta como se esperaba, parece ser completamente un problema de herramientas.

Fixed bug

Comentario más útil

Esto debería arreglarse con Svelte para VS Code 102.5.1 / svelte-check 1.1.10

Todos 9 comentarios

¿Tiene un fragmento de código mínimo que lo reproduzca, más específicamente, un fragmento de código donde ocurre el error "token inesperado" (supongo que todos los demás errores se deben a eso)? No puedo reproducirlo dada su descripción.

Con svelte-check 1.1.8

> svelte-check --output=machine
1604601599943 START "<my-path>"
1604601605719 COMPLETED 36 FILES 0 ERRORS 0 WARNINGS 10 HINTS

Con svelte-check 1.1.9

> svelte-check --output=machine
1604601792022 START "<my-path>"
1604601797435 ERROR "src/components/employee/Employees.svelte" 10:18 "Unexpected token"
1604601797435 COMPLETED 36 FILES 1 ERRORS 0 WARNINGS 9 HINTS

La línea en cuestión solo define una variable con un tipo:
let newEmployee: EmployeeDto;

Yo también recibo errores inesperados de mecanografía con la última actualización. Hasta ahora, solo ha sido con importaciones. Todos tienen el mismo error, pero normalmente no son las mismas líneas entre archivos. Aquí puede ver que marca * como error, otros archivos marcan { u otras partes en la línea de importación.

image

Si alguien está buscando una solución alternativa:

  • ctrl+,
  • Buscar extensions.autoUpdate y desactivarlo
  • Abra la terminal y revertir el complemento a v102.4.0 con code --install-extension [email protected]
  • Espere a que se instale y vuelva a cargar

No olvide volver a habilitar las actualizaciones automáticas más tarde

Parece que acaba de llegar un PR, pero en caso de que todavía ayude, aquí está el ejemplo más pequeño que pude reproducir de manera confiable:

<script context="module" lang="typescript">
  class Control {
    el: string;
  }
</script>

<script lang="typescript">
</script>

Esto debería arreglarse con Svelte para VS Code 102.5.1 / svelte-check 1.1.10

¿Podríamos agregar una prueba para que esto evite cosas como esta en el futuro? Me encantaría hacerlo, pero no pude encontrar ninguna prueba en este repositorio, tal vez puedas darme una pista.

Solo algunos antecedentes: soy nuevo en Svelte y he pasado entre 2 y 3 horas tratando de averiguar qué estaba pasando. Primero, la extensión svelte se rompió después de que recargué el código vs (de lo que no me di cuenta en ese momento), y luego svelte-check dejó de funcionar después de reinstalar todos los paquetes (que tampoco me di cuenta en ese momento). No pude buscar en Google nada ni encontrar nada en la guía de solución de problemas para la verificación svelte, ya que aparentemente esta es la primera vez que sucede algo como esto. No fue una gran experiencia. Para alguien que viene de React, una gran experiencia mecanografiada es imprescindible. Estaba a punto de deshacerme de Svelte para siempre :(

Agregué una prueba con la solución que puede ver en el compromiso. Amenazar con irse no ayuda.

Impresionante, me perdí que ya está incluido en el compromiso :)

Por cierto, no estoy "amenazando", simplemente estaba tratando de describir una situación en la que me metió y cómo me hizo sentir, eso es todo.

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