المعرفات المضمنة get
و set
تكون زرقاء عند استخدامها في تعريفات الخصائص.
تكمن المشكلة في أنها زرقاء أيضًا إذا تم استخدامها كأسماء طريقة عادية ، والسلوك المتوقع هو أن لها نفس اللون مثل الطرق العادية الأخرى.
أصبحت هذه المشكلة التجميلية أكثر وضوحًا الآن حيث قدم أحدث مكون إضافي رسمي لـ Firestore طرقًا أعيدت تسميتها Query.get()
و DocumentReference.set()
. يستخدم أيضًا مكون إضافي شهير آخر get_it
طريقة تسمى get
.
هذا قيد على كيفية قيامنا حاليًا بتمييز بناء الجملة. تتمثل الخطة في التبديل إلى التمييز الدلالي المناسب كجزء من ترحيل LSP. هناك مشكلة مفتوحة حول هذا (والتي كنت أعمل عليها بالمصادفة!) على https://github.com/Dart-Code/Dart-Code/issues/2202
لم يكتمل بعد (لم يتم الانتهاء من مواصفات LSP) ، لكنني اختبرت للتو باستخدام get
و set
وهم ملونون بنفس الألوان عندما تكون طرقًا ، وكلمات رئيسية عندما تكون الكلمات الرئيسية:
سأغلق هذا بصفته مخادعًا ، ولكن يمكنك الاشتراك في # 2202 للحصول على تحديثات عند الشحن (على الرغم من أنه سيتطلب كلاً من Dart-Code وتحديث SDK نظرًا لأن خادم LSP يعيش في SDK).
شكرا!
تم الإصلاح بواسطة https://github.com/dart-lang/sdk/commit/cb2ede57b7c91fb61c0cb05971cc1823faee2086.
من أجل الحصول على الإصلاح ، ستحتاج إلى Dart-Code v3.18.0 (يجب أن يتوفر إصدار معاينة لاحقًا اليوم / غدًا) ، واستخدام LSP Preview ، والحصول على Dart SDK من بعد الأمس ( أحدث الأعمال
نظرًا لبعض مشكلات اللحظة الأخيرة ، لن يتم تضمين دعم LSP 3.16 (الذي يدعم الرموز المميزة الدلالية) في الإصدار 3.18 ، ولكن نأمل في الإصدار التالي بعد ذلك.