Language-tools: Svelte para VS Code v102.5.0 / svelte-check 1.1.09 Rompe o suporte TS em arquivos .svelte quando a tag de estilo está presente abaixo

Criado em 5 nov. 2020  ·  9Comentários  ·  Fonte: sveltejs/language-tools

Descreva o bug
Importações e dicas de tipo de interoperabilidade de marcação quebram em arquivos .svelte para a versão 102.5.0.

  • Passar o mouse sobre as variáveis ​​js na marcação (por exemplo, <div>{obj.value}</div> ) não fornece dicas de tipo.
  • Nenhuma sugestão de propriedade ao tentar autocompletar na marcação.
  • Falsos positivos com erros ts em <script lang="ts"> .
  • Falsos positivos com erros de importação de componentes (em alguns casos).

Reverter para a v102.4.0 corrige estes problemas: code --install-extension [email protected] .

Reproduzir
Instale [email protected] . Compare com [email protected] .

Comportamento esperado
Uma descrição clara e concisa do que você esperava que acontecesse.

Capturas de tela

  • Nenhuma sugestão de propriedade ao tentar preencher automaticamente:
    image
  • Falsos positivos com erros ts:
    image
  • Falsos positivos com importações de componentes (em alguns casos):
    image

Sistema (preencha as seguintes informações):

  • SO: Windows
  • IDE: VSCode 1.50.1, x64
  • Plugin / pacote: Svelte para VSCode

Contexto adicional
Para ser claro, meu aplicativo funciona conforme o esperado, parece ser totalmente um problema de ferramentas.

Fixed bug

Comentários muito úteis

Isso deve ser corrigido com Svelte para o código VS 102.5.1 / svelte-check 1.1.10

Todos 9 comentários

Você tem um trecho de código mínimo que reproduz isso para você, mais especificamente, um trecho de código onde o erro "token inesperado" acontece (meu palpite é que todos os outros erros são por causa disso)? Não posso reproduzi-lo com sua descrição.

Com verificação svelte 1.1.8

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

Com verificação svelte 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

A linha em questão apenas define uma variável com um tipo:
let newEmployee: EmployeeDto;

Eu também estou recebendo erros inesperados de digitação com a atualização mais recente. Até agora, só com importações. Todos têm o mesmo erro, mas geralmente não são as mesmas linhas entre os arquivos. Você pode ver aqui que marca * como o erro, outros arquivos marcam { ou outras partes na linha de importação.

image

Se alguém está procurando uma solução alternativa:

  • ctrl+,
  • Pesquise extensions.autoUpdate e desative-o
  • Abra o terminal e reverta o plugin para v102.4.0 com code --install-extension [email protected]
  • Espere que ele instale e recarregue

Não se esqueça de reativar as atualizações automáticas mais tarde

Parece que um RP acabou de chegar, mas caso ainda ajude, aqui está o menor exemplo que eu poderia conseguir para reproduzir de forma confiável:

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

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

Isso deve ser corrigido com Svelte para o código VS 102.5.1 / svelte-check 1.1.10

Podemos adicionar um teste para evitar coisas como essa no futuro? Eu adoraria fazer isso, mas não consegui encontrar nenhum teste neste repositório, talvez você possa me dar uma dica.

Apenas algumas informações básicas: sou novo no Svelte e passei cerca de 2 a 3 horas tentando descobrir o que estava acontecendo. Primeiro, a extensão svelte quebrou depois que recarreguei o código (o que eu não percebi na época), e então o svelte-check parou de funcionar depois que reinstalei todos os pacotes (o que também não percebi naquela época). Não consegui pesquisar nada no Google ou encontrar nada no guia de solução de problemas do svelte-check, já que esta é aparentemente a primeira vez que algo assim aconteceu. Não é uma ótima experiência. Para alguém que vem do React, uma ótima experiência datilografada é imprescindível. Eu estava prestes a abandonar Svelte para sempre :(

Eu adicionei um teste com a correção que você pode ver no commit. Ameaçar ir embora não está ajudando.

Incrível, eu perdi que já está incluso no commit :)

Aliás, eu não sou "ameaçador", eu estava apenas tentando descrever uma situação em que me meteu e como isso me fez sentir, só isso.

Esta página foi útil?
0 / 5 - 0 avaliações