Language-tools: Svelte für VS Code v102.5.0 / svelte-check 1.1.09 Unterbricht die TS-Unterstützung in .svelte-Dateien, wenn das unten stehende Style-Tag vorhanden ist

Erstellt am 5. Nov. 2020  ·  9Kommentare  ·  Quelle: sveltejs/language-tools

Beschreibe den Fehler
Importe und Markup-Interop-Typ-Hinweise brechen in .svelte-Dateien für Version 102.5.0 auf.

  • Wenn Sie den Mauszeiger über js-Variablen im Markup bewegen (z. B. <div>{obj.value}</div> ), werden keine Typhinweise angezeigt.
  • Keine Eigenschaftsvorschläge beim Versuch, die automatische Vervollständigung im Markup durchzuführen.
  • False Positives mit ts-Fehlern in <script lang="ts"> .
  • False Positives mit Komponentenimportfehlern (in einigen Fällen).

Das Zurücksetzen auf v102.4.0 behebt die folgenden Probleme: code --install-extension [email protected] .

Fortpflanzen
Installieren Sie [email protected] . Vergleiche mit [email protected] .

Erwartetes Verhalten
Eine klare und präzise Beschreibung dessen, was Sie erwartet hatten.

Screenshots

  • Keine Eigenschaftsvorschläge beim Versuch der automatischen Vervollständigung:
    image
  • False Positives mit ts-Fehlern:
    image
  • False Positives bei Komponentenimporten (in einigen Fällen):
    image

System (bitte vervollständigen Sie die folgenden Informationen):

  • Betriebssystem: Windows
  • IDE: VSCode 1.50.1, x64
  • Plugin / Paket: Svelte für VSCode

Zusätzlicher Kontext
Um klar zu sein, meine App läuft wie erwartet, es scheint sich um ein Tooling-Problem zu handeln.

Fixed bug

Hilfreichster Kommentar

Dies sollte mit Svelte für VS Code 102.5.1 / svelte-check 1.1.10 behoben werden

Alle 9 Kommentare

Haben Sie ein minimales Code-Snippet, das dies für Sie reproduziert, insbesondere ein Code-Snippet, bei dem der Fehler "Unerwartetes Token" auftritt (ich vermute, dass alle anderen Fehler darauf zurückzuführen sind)? Ich kann es aufgrund Ihrer Beschreibung nicht reproduzieren.

Mit Svelte-Check 1.1.8

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

Mit 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

Die betreffende Zeile definiert lediglich eine Variable mit einem Typ:
let newEmployee: EmployeeDto;

Auch ich erhalte mit dem neuesten Update unerwartete Typoskriptfehler. Bisher war es nur mit Importen. Alle haben den gleichen Fehler, aber normalerweise sind es nicht die gleichen Zeilen zwischen Dateien. Sie können hier sehen, dass * als Fehler markiert ist, andere Dateien { oder andere Teile in der Importzeile markieren.

image

Wenn jemand nach einer Lösung sucht:

  • ctrl+,
  • Suchen Sie nach extensions.autoUpdate und deaktivieren Sie es
  • Öffnen Sie das Terminal und setzen Sie das Plugin mit code --install-extension [email protected] auf v102.4.0 zurück
  • Warten Sie, bis es installiert und neu geladen ist

Vergessen Sie nicht, die automatischen Updates später wieder zu aktivieren

Es sieht so aus, als wäre gerade eine PR eingegangen, aber falls es trotzdem hilft, hier das kleinste Beispiel, das ich zuverlässig reproduzieren könnte:

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

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

Dies sollte mit Svelte für VS Code 102.5.1 / svelte-check 1.1.10 behoben werden

Könnten wir einen Test hinzufügen, um solche Dinge in Zukunft zu verhindern? Ich würde es gerne tun, aber ich konnte in diesem Repo keine Tests finden, vielleicht kannst du mir einen Hinweis geben.

Nur ein paar Hintergrundinformationen: Ich bin neu bei Svelte und habe ungefähr 2-3 Stunden damit verbracht herauszufinden, was los war. Zuerst brach die svelte-Erweiterung ab, nachdem ich vs code neu geladen hatte (was ich zu diesem Zeitpunkt nicht realisiert hatte), und dann funktionierte svelte-check nicht mehr, nachdem ich alle Pakete neu installiert hatte (was ich zu diesem Zeitpunkt auch nicht realisiert hatte). Ich konnte nichts googeln oder etwas in der Fehlerbehebungsanleitung für die schlanke Überprüfung finden, da dies anscheinend das erste Mal ist, dass so etwas passiert ist. Keine großartige Erfahrung. Für jemanden, der von React kommt, ist eine großartige Erfahrung mit Typoskripten ein Muss. Ich wollte Svelte endgültig loswerden :(

Ich habe einen Test mit dem Fix hinzugefügt, den Sie im Commit sehen können. Die Drohung zu gehen hilft nicht.

Super, ich habe vermisst, dass es bereits im Commit enthalten ist :)

Übrigens bin ich nicht "bedrohlich", ich habe nur versucht, eine Situation zu beschreiben, in die ich geraten bin, und wie ich mich dabei gefühlt habe, das ist alles.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen