Dart-code: Ungültige Syntaxhervorhebung für Methoden namens "get" oder "set"

Erstellt am 27. Aug. 2020  ·  3Kommentare  ·  Quelle: Dart-Code/Dart-Code

Die integrierten Bezeichner get und set sind blau, wenn sie in Eigenschaftsdeklarationen verwendet werden.

Das Problem ist, dass sie blau sind, auch wenn sie als normale Methodennamen verwendet werden. Das erwartete Verhalten ist, dass sie dieselbe Farbe wie andere normale Methoden haben.

Dieses kosmetische Problem ist jetzt sichtbarer, da das neueste offizielle Firestore-Plugin die umbenannten Methoden Query.get() und DocumentReference.set() . Auch ein anderes beliebtes Plugin get_it verwendet eine Methode namens get .

in editor is bug

Alle 3 Kommentare

Dies ist eine Einschränkung der Art und Weise, wie wir derzeit Syntax-Highlighting durchführen. Es ist geplant, im Rahmen der LSP-Migration auf eine angemessene semantische Hervorhebung umzustellen. Es gibt ein offenes Problem dazu (an dem ich zufällig gerade gearbeitet habe!) unter https://github.com/Dart-Code/Dart-Code/issues/2202

Es ist noch nicht vollständig (die LSP-Spezifikation wurde noch nicht fertiggestellt), aber ich habe gerade mit get und set getestet und sie haben die gleiche Farbe wie Methoden, wenn sie Methoden sind, und Schlüsselwörter, wenn sie sind Stichworte:

Screenshot 2020-08-27 at 15 34 30

Ich schließe dies als Duplikat, aber Sie können #2202 für Updates abonnieren, wenn es ausgeliefert wird (obwohl es sowohl ein Dart-Code- als auch ein SDK-Update erfordert, da der LSP-Server im SDK lebt).

Vielen Dank!

Behoben von https://github.com/dart-lang/sdk/commit/cb2ede57b7c91fb61c0cb05971cc1823faee2086.

Um den Fix zu erhalten, benötigen Sie Dart-Code v3.18.0 (eine Vorschauversion sollte heute/morgen verfügbar sein), die LSP-Vorschau verwenden und ein Dart-SDK von nachgestern haben ( die neuesten nächtlichen Werke und natürlich werden die nächsten Versionen von Dart/Flutter SDKs dies enthalten).

semantic_tokens

Aufgrund einiger Last-Minute-Probleme wird die Unterstützung für LSP 3.16 (die semantische Token unterstützt) nicht in v3.18 enthalten sein, aber hoffentlich in der nächsten Version danach.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen