Language-tools: VS Code affiche une erreur sur l'annotation de type

Créé le 20 mai 2020  ·  5Commentaires  ·  Source: sveltejs/language-tools

J'ai installé l'extension Svelte Beta et j'ai redémarré le serveur de langue. Mon svelte.config.js est :

const sveltePreprocess = require('svelte-preprocess');

module.exports = {
    preprocess: sveltePreprocess(),
};

Cependant, l'extension ne semble pas aider VS Code à comprendre que mon code est Typescript, car il génère une erreur sur l'annotation de type :

Les annotations de type ne peuvent être utilisées que dans les fichiers TypeScript. javascript

Screen Shot 2020-05-19 at 8 24 24 PM

Aussi intéressant, si je change lang="typescript" en type="text/typescript" , les couleurs de syntaxe disparaissent complètement, ainsi que l'erreur :

Screen Shot 2020-05-19 at 8 26 22 PM

Système (veuillez compléter les informations suivantes) :

  • Système d'exploitation : macOS Catalina 10.15.4
  • IDE : VS Code
  • Plugin : Svelte bêta
bug

Commentaire le plus utile

Ah, le problème était donc dû au fait que j'avais ceci dans les paramètres "Utilisateur" de VS Code :

  "files.associations": {
    "*.svelte": "html"
  },

Maintenant que je l'ai supprimé, tout semble fonctionner correctement.

Tous les 5 commentaires

Pouvez-vous poster le code du fichier entier ici ou un exemple de dépôt ? Je ne peux pas le reproduire. N'a pas besoin d'inclure tout le script mais a besoin d'autres balises de niveau supérieur

Voici une reproduction minimale :

<script lang="typescript">
    let countExcludingUser: number = 0;
</script>

<p>Hi</p>

Screen Shot 2020-05-19 at 8 53 22 PM

J'ai désactivé toutes les extensions sauf Svelte Beta et redémarré VS Code, sans succès.

Je n'ai réussi à me reproduire qu'une seule fois et pas de chance après ça. Pouvez-vous réessayer avec la dernière version 99.0.22 ? Il y a une mise à jour sur le prétraitement dans cette version. Si cela persiste, pouvez-vous créer un exemple de dépôt ?

D'après votre description, il semble que SveltePlugin.ts comprenne qu'il doit être prétraité avec Typescript car il n'y a pas d'erreur de syntaxe Svelte comme "jeton inattendu". D'un autre côté, TypescriptPlugin.ts - pour une raison quelconque - ne reconnaît pas que vous utilisez Typescript mais pense qu'il s'agit plutôt de Javascript. Vraiment étrange.. Un exemple de repo aiderait certainement.

Ah, le problème était donc dû au fait que j'avais ceci dans les paramètres "Utilisateur" de VS Code :

  "files.associations": {
    "*.svelte": "html"
  },

Maintenant que je l'ai supprimé, tout semble fonctionner correctement.

Cette page vous a été utile?
0 / 5 - 0 notes