Vscode-ng-language-service: خريطة طريق خدمة اللغة الزاويّة

تم إنشاؤها على ٣٠ مايو ٢٠١٩  ·  20تعليقات  ·  مصدر: angular/vscode-ng-language-service

لقد مر أكثر من عام منذ أن تركchuckjaz ، المؤلف الأصلي لخدمة اللغة ، الفريق. منذ ذلك الحين ، انتشر الفريق في العمل على أهداف طموحة مختلفة ، مثل مترجم Ivy وتكامل Bazel مع CLI ، من بين أمور أخرى.
الآن بعد أن تم إطلاق الإصدار 8 ، نود تقديم بعض التحديثات وخارطة الطريق لخدمة اللغة للمضي قدمًا.

  1. الاستقرار / الأداء ✔️ تم!
    من أهم أولوياتنا التأكد من أن خدمة اللغة لا تتراجع في الأداء. سنواصل معالجة قضايا الاستقرار ، إن وجدت.

  2. تم الانتقال إلى البرنامج المساعد tsserver ✔️!
    خلال الأشهر القادمة ، سنتولى العمل المتبقي المطلوب للانتقال إلى نموذج البرنامج المساعد tsserver. الفوائد الرئيسية للمكوِّن الإضافي tsserver هي الأداء (لا يوجد تجميع TS مكرر) وعدم تطابق الإصدار (كل من Angular و TS). يتمثل معظم العمل في التأكد من دعم قوالب HTML الخارجية بشكل جيد.
    تحديث 11/11/2019: بينما سنواصل دعم وضع المكون الإضافي ، قررنا الحفاظ على الامتداد المستقل. تم تجديد الامتداد بالكامل لمعالجة مشكلات الأداء ، وتم إضافة العديد من الميزات. تم نشر إصدار جديد في السوق بالتزامن مع إصدار Angular الإصدار 9.

  3. إصلاحات الشوائب / التحسينات تم!
    بمجرد الانتهاء من المكون الإضافي ، سنقوم بمعالجة بعض الأخطاء طويلة الأمد فيما يتعلق بفحص نوع القالب وبعض تحسينات الميزات المطلوبة.

  4. قم بتبديل خدمة اللغة إلى مترجم Ivy انتهى!
    نظرًا لأن نموذج التجميع الموجود في Ivy يختلف اختلافًا كبيرًا عن ذلك الموجود في View Engine ، فسيتعين تجديد الواجهة الخلفية لخدمة اللغة لضمان التوافق في المستقبل.

شكرًا لك على جميع التعليقات ، ويُرجى إخبارنا إذا كنت ترغب في المساهمة!

التعليق الأكثر فائدة

آخر تحديث: ستكون خدمة اللغة Ivy متاحة للاختبار التجريبي في الإصدار 11. ومن المقرر حاليًا الإصدار في 11 نوفمبر 2020. ونحن نهدف إلى تحسين الأداء وتوفير مجموعة ميزات أوسع في هذا التكرار الجديد تمامًا لخدمة اللغة. من بين الميزات الجديدة:

  1. كتابة أفضل في القوالب الزاويّة
  2. إنتاج نفس التشخيصات مثل المترجم
  3. مستخدم الشرف angularCompilerOptions

نحن نعلم أنه قد مر وقت طويل ، لكن نشكرك على الدعم والصبر!

ال 20 كومينتر

حسنًا ، فقط لربطها هنا ، لدي مشكلتان / أخطاء ثقيلة في الأداء موصوفتان جيدًا:

في حين أن هناك حلًا بديلًا لأول واحد هو عدم إغلاق آخر محرر مفتوح على الأقل ، أما الثاني فهو تعطيل المكون الإضافي فقط. من خلال الاختبار المكثف الذي أجريته مع المكون الإضافي ، يمكنني القول إذا تم إصلاح هذين المكونين ، فإن المكون الإضافي يكاد يكون مثاليًا.

تم نشر إصدار جديد من الامتداد Angular على GitHub كمعاينة مبكرة ، يرجى الاطلاع على https://github.com/angular/vscode-ng-language-service/releases/tag/v0.900.0-next.0.

إذا جربته ، فالرجاء إخبارنا بأي مشاكل / أخطاء. شكرا لك!

kyliau : أود تجربة الذكاء الزاوي الأحدث المتكامل في Eclipse Wild Web Developer. هل الامتداد الذي قمت بربطه في تعليقك السابق يحتوي على خادم لغة (كما هو الحال في عملية تحدث LSP)؟ إذا كانت الإجابة بنعم ، فهل من المتوقع العمل على ملفات TS و HTML؟ وإذا كانت الإجابة بنعم ، فما هي الطريقة الموصى بها لبدء خادم اللغة هذا؟

kyliau لقد اتبعت الإرشادات لتثبيت الإصدار 0.900.0-next.0 ، ولكن لا توجد اقتراحات للإكمال التلقائي لأي شيء (مثل محددات المكونات ، والخصائص ، والأحداث ، وما إلى ذلك).

أنا سعيد أن أعلن أن النسخة RC قد أفرج عنه، وفي غضون بضعة أسابيع وسيتم نشر تمديد جديد لvscode السوق .
في غضون ذلك ، إذا كنت ترغب في تجربته ، فيرجى تنزيل البرنامج الثنائي من صفحة الإصدار .
نحن نركز حاليًا على عنصر العمل (3) ، حيث سنصلح بعض الأخطاء طويلة الأمد.

الامتداد الجديد نشط الآن. يرجى تنزيله من https://marketplace.visualstudio.com/items؟

لدي سؤال حول النقطة 4 "تبديل خدمة اللغة إلى مترجم Ivy [قيد التقدم]"

لدينا مكتبتنا الداخلية الخاصة ، والتي تستخدم فقط في التطبيقات التي نطورها بأنفسنا. لذلك قمنا بترحيلها إلى Ivy ، لأنه تم ترحيل كل قاعدة الرموز الخاصة بنا مرة واحدة. ولكن الآن لم يعد vscode يتعرف على التوجيهات والمكونات من المكتبة بعد الآن.

هذا يعني أن أفضل طريقة في الوقت الحالي هي أن نقوم بتجميع المكتبة باستخدام View Engine حتى تدعم خدمة اللغة Ivy بشكل كامل. هل هذا صحيح؟ إذا كان الأمر كذلك ، فهل هناك خارطة طريق عند وصول الدعم لخدمة اللغة؟

التطبيقات التي تستخدم مترجم Ivy ليس لديها مشكلة. يتم حل المكونات من التطبيقات بشكل صحيح.

furti كما لاحظت ، نعم ، في الوقت الحالي ، يجب تجميع المكتبات والتطبيقات باستخدام View Engine حتى تتمكن خدمة اللغة من التقاط metadata.json المقابل الذي يمثل أساس خدمة اللغة اليوم.
xiaoxiangmoe أنا أعمل مع فريق المترجم لدمج Ivy بالكامل في خدمة اللغة. في الوقت الحالي ، نهدف إلى إصدار تجريبي في الإصدار 10 ، والذي من المفترض أن يتم في نهاية يونيو / أوائل يوليو تقريبًا ، باستثناء أي مفاجآت. لقد تعطل تخطيطنا إلى حد ما بسبب الوضع المستمر لـ WFH ، لكننا سنبذل قصارى جهدنا للالتزام بخريطة الطريق الأصلية.

من الجميل أن نرى أن الإصدار الزاوي قد أصدر v10 🎉
هل هناك أي تحديث لـ "تبديل خدمة اللغة إلى مترجم Ivy"؟

xiaoxiangmoe لقد
لقد بدأ العمل بالفعل ، وقمنا بتجهيز بعض الأعضاء لزيادة الزخم في هذا المشروع.
يمكنك تتبع تقدم المشروع بأكمله هنا .
نخطط لإصدار Ivy LS جنبًا إلى جنب مع LS الحالي ، بحيث يمكن للمستخدمين الذين يرغبون في تجربة "معاينة مبكرة" القيام بذلك من إعدادات المحرر الخاصة بهم. يرجى ترقبوا!

أعتقد أن الأداء لم ينته بعد. كان هذا الامتداد أكبر مصدر لارتفاعات كبيرة في وحدة المعالجة المركزية بالنسبة لي وللعديد من الأشخاص الآخرين الذين أعرفهم لفترة طويلة ، وقد أبقى مؤخرًا المعجبين على نظام التشغيل macOS مجنونًا.

نعم أوافقDenysVuika. واجهت مشاكل مع هذا البرنامج المساعد لعدة أشهر. لقد تخليت عنه أمس وقمت بتعطيله. بعد أن أبدأ خادم الويب vscode و ng ، سترتفع وحدة المعالجة المركزية في مرحلة ما وتبقى هناك حتى أقوم بإعادة تشغيل vscode. سيتوقف Intellisense عن العمل عدة مرات في اليوم. أنا مجبر على إعادة تشغيل vscode كل يوم ، عدة مرات. منذ أن قمت بتعطيله ، عاد كل شيء إلى طبيعته. أنا على macOS أيضًا. فيما يلي بعض المعلومات السياقية:

الزاوي CLI: 10.0.1
العقدة: 12.13.0
نظام التشغيل: darwin x64

الزاوي: 10.0.2
... الرسوم المتحركة المشتركة والمترجم والمترجم CLI والنواة الأساسية
... مستعرض النظام الأساسي ، متصفح النظام الأساسي الديناميكي ، جهاز التوجيه
مساحة عمل Ivy: نعم

إصدار الحزمة

@ angular-devkit / مهندس معماري 0.1000.1
@ angular-devkit / build-angular 0.1000.1
@ angular-devkit / محسن البناء 0.1000.1
@ angular-devkit / build-webpack 0.1000.1
@ angular-devkit / core 10.0.1
@ angular-devkit / المخططات 10.0.1
@ الزاوي / cdk 10.0.1
@ الزاوي / cli 10.0.1
@ الزاوي / المادة 10.0.1
@ ngtools / webpack 10.0.1
@ المخططات / الزاوي 10.0.1
@ المخططات / تحديث 0.1000.1
rxjs 6.6.0
نسخة مطبوعة 3.9.6
حزمة الويب 4.43.0

في مشروع Angular 10 الحالي الخاص بي ، باستخدام الإصدار: 1.48.0-insider ، لم يعد لدي أي Angular Intellisense في قوالب HTML الخاصة بي ولا أي فحص للأخطاء (مثل ما إذا كنت ملزمًا بمتغير غير موجود).

آخر تحديث: ستكون خدمة اللغة Ivy متاحة للاختبار التجريبي في الإصدار 11. ومن المقرر حاليًا الإصدار في 11 نوفمبر 2020. ونحن نهدف إلى تحسين الأداء وتوفير مجموعة ميزات أوسع في هذا التكرار الجديد تمامًا لخدمة اللغة. من بين الميزات الجديدة:

  1. كتابة أفضل في القوالب الزاويّة
  2. إنتاج نفس التشخيصات مثل المترجم
  3. مستخدم الشرف angularCompilerOptions

نحن نعلم أنه قد مر وقت طويل ، لكن نشكرك على الدعم والصبر!

kyliau هل سيتم إصدار هذا باستخدام الزاوي v11.0.0-rc.2 أو v11.0.0-rc.3?

kyliau هل سيتم إصدار هذا باستخدام الزاوي v11.0.0-rc.2 أو v11.0.0-rc.3?

تظل خدمة اللغة xiaoxiangmoe Ivy تجريبية ومشتركة في الإصدار 11.0 ، لأنه لا يزال لدينا بعض العمل الذي يتعين علينا القيام به لتحسين تجربة المستخدم والتخلص من بعض الأخطاء. إذا كنت ترغب في تجربته على أي حال ، فيمكنك تنزيل إصدار RC من https://github.com/angular/vscode-ng-language-service/releases/tag/v0.1100.0-rc.0 وتثبيت .vsix يدويًا.

نظرًا لأن هذا يعد إنجازًا كبيرًا للمشروع ، نود التأكد من أن الامتداد قد تم اختباره جيدًا وإكمال الميزة قبل إصداره على أنه مستقر. لقد حققنا تقدمًا هائلاً ونحن متحمسون لمشاركة العمل مع المجتمع ، لكننا نقدر المزيد من الصبر بينما نربط الأطراف السائبة.

kyliau متى نتوقع أن يتم التحقيق في الأخطاء التي تم فتحها لخدمة Ivy Language؟
تم فتحه https://github.com/angular/vscode-ng-language-service/issues/936

kyliau هل سيتم إصدار هذا باستخدام الزاوي v11.0.0-rc.2 أو v11.0.0-rc.3?

تظل خدمة اللغة xiaoxiangmoe Ivy تجريبية ومشتركة في الإصدار 11.0 ، لأنه لا يزال لدينا بعض العمل الذي يتعين علينا القيام به لتحسين تجربة المستخدم والتخلص من بعض الأخطاء. إذا كنت ترغب في تجربته على أي حال ، فيمكنك تنزيل إصدار RC من https://github.com/angular/vscode-ng-language-service/releases/tag/v0.1100.0-rc.0 وتثبيت .vsix يدويًا.

نظرًا لأن هذا يعد إنجازًا كبيرًا للمشروع ، نود التأكد من أن الامتداد قد تم اختباره جيدًا وإكمال الميزة قبل إصداره على أنه مستقر. لقد حققنا تقدمًا هائلاً ونحن متحمسون لمشاركة العمل مع المجتمع ، لكننا نقدر المزيد من الصبر بينما نربط الأطراف السائبة.

ما هي الطريقة الصحيحة لتفعيل Ivy Language Service؟ لقد قمت بالفعل بتعيين هذا الإعداد التجريبي على "صواب" ، ولكن لا يمكن تشغيله. لقد حاولت تشغيله يدويًا من قبل ، لكنه لا يعمل. هل هناك أي خطوة واضحة لم أتخذها؟

آمل ألا ترفض هذا التعليق تمامًا مثل طلب دعم المستخدم الآخر. أعلم أنك لست مستعدًا لذلك. أريد فقط أن أعرف الطريقة الصحيحة لاختبار هذا.

MustafaHosny اللهم امين

{
    "angularCompilerOptions": {
        "fullTemplateTypeCheck": true,
        "strictInjectionParameters": true,
        "strictInputAccessModifiers": true,
        "strictTemplates": true
    }
}

أيضًا ، إذا كنت تستخدم vscode-ng-language-service v0.1100.1 أو v0.1100.3 ، فالرجاء إعادة تثبيت v0.1100.0. يبدو أن vscode-ng-language-service v0.1100.1 بها أخطاء خطيرة ولن تعمل خدمة لغة اللبلاب.

لقد مر وقت طويل في الإعداد ، ولكن اليوم خدمة اللغة الأصلية من Ivy متاحة أخيرًا للتجربة في الإصدار 11.1.0!
يعمل برنامج Ivy-native LS على إصلاح العديد من المشكلات الأساسية التي كان من المستحيل إصلاحها في View Engine:

  • أداء التجميع المتزايد ،
  • فحص أكثر قوة للنوع ،
  • نفس التشخيصات مثل المترجم ، إلخ ،

يقدم أيضًا بعض الميزات الجديدة مثل البحث عن مراجع للمتغيرات في القوالب.

يرجى التنزيل من سوق vscode وإعلامنا إذا كان لديك أي ملاحظات.
يمكن العثور على تعليمات لتمكين Ivy-native LS في ملاحظات الإصدار .

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات