Vscode-ng-language-service: لا تعمل مع Angular HTML Template و VS Code

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

لست متأكدًا مما أفعله بشكل خاطئ ، لكن لا يمكنني الحصول على أي دعم تحسس أو محرر لقوالب Angular HTML مع رمز VS بعد تثبيت هذا القالب .. إنه ببساطة لا يعمل. لا أرى أي ترميز لوني أو حساس ، فكل شيء مكتوب يدويًا إلى حد كبير كما هو الحال في المفكرة الآن بالنسبة لي باستخدام قوالب HTML الزاويّة.

bug

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

أنا أستخدم Angular CLI v1.6.4
خدمة اللغة الزاويّة: 5.2.1
TypeScript: 2.6.2

حتى قبل يومين ، كان لدي ارتباطات intellisense ومراجع الملف في قوالب HTML الخاصة بي. يبدو أن هذه الوظيفة مفقودة الآن. أعتقد أن أحدث إصدار يسبب بعض المشكلات في الإعداد الحالي (لاحظ أن الإضافة تم تحديثها تلقائيًا مؤخرًا)

ال 41 كومينتر

jontiefer هل

ذات صلة: # 214

هل يمكنك تجربة الحل المذكور في # 214؟

أنا أستخدم Angular CLI v1.6.4
خدمة اللغة الزاويّة: 5.2.1
TypeScript: 2.6.2

حتى قبل يومين ، كان لدي ارتباطات intellisense ومراجع الملف في قوالب HTML الخاصة بي. يبدو أن هذه الوظيفة مفقودة الآن. أعتقد أن أحدث إصدار يسبب بعض المشكلات في الإعداد الحالي (لاحظ أن الإضافة تم تحديثها تلقائيًا مؤخرًا)

لقد جربت الحل البديل في # 214 ولا يبدو أنه يغير شيئًا. ربما فعلت ذلك خطأ؟ لم أرَ إصدار Angular Language Service يتغير في المرتين التي تعبت من تشغيله. قمت للتو بتشغيل yarn remove @angular/language-service ثم أغلقت VSCode وأعدت فتحه مرة أخرى.

إليك ما حصلت عليه مؤخرًا بفتح VSCode على ملف html ثم أحاول التمرير فوق اسم متغير نصف مكتمل:

Search path: c:/git/PrimeCore/Prime.Core/ClientApp/app/vendor/tool-view
Config file name: c:/git/PrimeCore/Prime.Core/tsconfig.json
Angular Language Service: 5.2.1
TypeScript: 2.6.2
getTemplateReferences: 3446ms
Add recursive watcher for: c:/git/PrimeCore/Prime.Core
Opened configuration file c:/git/PrimeCore/Prime.Core/tsconfig.json
getTemplateReferences: 0ms
Angular Language Service: 5.2.1
TypeScript: 2.6.2
getTemplateReferences: 27ms
getDiagnostics: 4ms
getHoverAt: 0ms
getHoverAt: 1ms

بعد ذلك ، يأخذ getHoverAt و getCompletions دائمًا 0 مللي ثانية ولا يقدم أي خيارات.

rfuhrer هل قمت بتشغيل yarn install بعد yarn remove لتحديث node_modules؟ ربما yarn clean cache . يبدو أن خدمة اللغة لا تزال موجودة.
يوجد تحديث جديد لـ VSCode اليوم - سوف نرى ما إذا كان ذلك سيحدث أي فرق

ليس عليك القيام بـ yarn install أو yarn cache clean بعد إزالة شيء ما لأن الغزل يحافظ في الواقع على node_modules الخاصة بك نظيفة ومحدثة. لقد تحققت مرتين وكان مجلد خدمة اللغة مفقودًا بعد الإزالة وعاد للظهور بعد إعادة إضافته.
أنا أدير أيضًا إصدار اليوم من VSCode.

يبدو أن هناك نوعًا من قطع الاتصال بين HTML و. t لأنه يمكنك رؤية خدمة اللغة تقوم بأشياء أثناء وجودك داخل ملف .ts وهي تعرض جميع عناصر التحسس الرائعة:

Search path: c:/git/PrimeCore/Prime.Core/node_modules/@angular/material/dialog/typings
Config file name: c:/git/PrimeCore/Prime.Core/tsconfig.json
getTemplateReferences: 0ms
getTemplateReferences: 0ms
getTemplateReferences: 0ms
getCompletions: 1ms
getDiagnostics: 0ms
getHoverAt: 0ms
getHoverAt: 1ms
getCompletions: 0ms

هل جربت هذا باستخدام 0.1.8 من الامتداد؟

يجب أن يعالج 220 هذه المشكلة.

نعم ، قام تلقائيًا بتحديث الامتداد كما ذكر briancodes . يمكنني محاولة تثبيته يدويًا باستخدام VSIX ولكنه يقول 0.18 في شاشة الامتداد

حقيقة أن Angular Language Service: 5.2.1 تمت طباعته مرتين هي إشارة إلى أنه تم إنشاء مشروع ثان للطلب. إنها علامة على أن خدمة اللغة لم تتم الإشارة إلى ملف .html بواسطة المشروع.

ما قيمة templateUrl التي تستخدمها؟ هل المشروع يجمع بشكل نظيف في AOT؟

briancodes هل يمكنك إنتاج مشروع يمكنني استنساخه يعيد إنتاجه؟

نفس الشيء هنا ، بعد الترقية إلى 0.1.8 ، توقف عن العمل في ملفات .html . أنا ملتزم بمحاولة معرفة ما هي المشكلة :).

إنه مكسور بالنسبة لي أيضًا:

Angular Language Service: 5.2.1
TypeScript: 2.6.2

لقد طبقت الحل البديل رقم 214 ولكنه ما زال لا يعمل.

تضمين التغريدة لقد أنشأت مشروعًا جديدًا بأحدث إصدارات CLI و Angular (تم التحديث إلى أحدث إصدار مستقر من CLI اليوم). لديك أيضًا أحدث إصدار ثابت من VSCode

https://github.com/briancodes/language-ext-issue217

لقد أدخلت تفاصيل ما يحدث في ملف README.md

ملاحظة: لقد أضفت فرعًا remove-angular-language-service حيث قمت بعمل npm uninstall @angular/language-service . قام بعمل npm cache verify و npm install وأعاد تشغيل VSCode.

  • يستخدم المشروع Typescript "typescript": "~2.5.3" افتراضيًا
  • إصدار TypeScript من VSCode هو 2.6.2 ، لذلك قمت بتحديث المشروع لاستخدام 2.6.2 (نفس النتيجة)
  • تم تغيير Angular Project و VSCode لاستخدام TypeScript v2.5.3 (نفس النتيجة)

خدمة اللغة الزاويّة: 5.2.1
إصدار الامتداد: 0.1.8
إصدار TypeScript: 2.4.2، 2.6.2، 2.5.3، 2.7.0-insider

فشل كل شيء ...... طوارئ ، لا يمكن العمل بدونها!

0.1.8 لا يعمل بالنسبة لي سواء على قوالب HTML مع Angular 5.2.2 و TypeScript 2.6.2 و VS Code 1.19.3.

يعمل الحل البديل حاليًا على إعادة خدمة vscode-ng-language-service إلى 0.1.7 الموجودة هنا: https://github.com/angular/vscode-ng-language-service/releases/tag/0.1.7

يمكن التأكيد على أن العودة إلى 0.1.7 جعل كل شيء يعمل بشكل صحيح مرة أخرى على الرغم من وجوده على أحدث إصدار من الزاوية والخط المكتوب و VSCode

Briancodes لقد قمت باستنساخ https://github.com/briancodes/language-ext-issue217 وهو يعمل بالنسبة لي.

أظن أنها قد تكون مشكلة في المسارات على Windows ، لذا أحاول ذلك الآن.

من مصلحة ryanbuening ، ما هي عملية التراجع عن الامتداد؟ أظن أنه لا يدعمه VSCode خارج الصندوق

briancodes يعود ، يخرج رقم 223 في 5 دقائق ويطلق عليه 0.1.9 😄. يجب أن يكون هذا الامتداد الإصدار 1.0 فقط فهو مفيد للغاية وقد تخيف العلامة "التجريبية" بعض المستخدمين الأكثر تحفظًا. 🎉

أنا متأكد من أنه مجرد خطأ غبي / مقابل / أو شيء مزعج بنفس القدر بفضل مسار Windows المذهل

briancodes لقد قمت بإعادة إنتاج هذا في Windows. التحقيق الآن.

من مصلحة ryanbuening ، ما هي عملية التراجع عن الامتداد؟ أظن أنه لا يدعمه VSCode خارج الصندوق

briancodes تحتاج إلى تعطيل ملحقات التحديث التلقائي ثم تحديد التثبيت من VSIX ...

image

إنها مشكلة مسار وتغيير واضح في TypeScript لم أكن على دراية به.

نقوم بتمرير نتيجة path.join() مباشرة إلى TypeScript عند تهيئة المترجم يجب أن نستدعي path.posix.join() .

العمل المؤقت حول تغيير الخط:

containingFile = path.join(this.options.basePath, 'index.ts');

إلى:

containingFile = path.posix.join(this.options.basePath, 'index.ts');

في الملف language-service.umd.js في الحزمة @angular/language-service .

سأقوم بإجراء هذا التغيير في @angular/language-service وأقوم بتحديث الامتداد.

briancodesjontieferryanbuening يمكن واحد منكم (أو أي شخص آخر على موضوع) اختبار https://github.com/angular/vscode-ng-language-service/releases/tag/0.1.9 على ويندوز باستخدام مشاريعك؟

أعتقد أن هذا يعمل على إصلاح مشكلة Windows كما هو موضح أعلاه.

chuckjaz نجاح عظيم!
image

rfuhrer شكرا!

chuckjaz لم أدرك مدى

أشياء جيدة! الدرس المستفاد: في المرة القادمة سأذكر أنني على Windows عند كتابة تعليق.

تواجه نفس المشكلة مرة أخرى.
النظام الأساسي: Windows

PS C:\Dev\Programming\Ang5Tutorial\angular-tour-of-heroes> npm list @angular/language-service
[email protected] C:\Dev\Programming\Ang5Tutorial\angular-tour-of-heroes
`-- @angular/[email protected]

PS C:\Dev\Programming\Ang5Tutorial\angular-tour-of-heroes> npm list typescript
[email protected] C:\Dev\Programming\Ang5Tutorial\angular-tour-of-heroes
+-- @angular/[email protected]
| +-- @angular-devkit/[email protected]
| | `-- [email protected]
| `-- @schematics/[email protected]
|   `-- [email protected]
`-- [email protected]

PS C:\Dev\Programming\Ang5Tutorial\angular-tour-of-heroes>

ربما أخطأ؟

ربما لم أفهم كيف يجب استخدام هذا البرنامج المساعد.
ولكن رأيت للتو في علامة التبويب الاشتراكات بأن ملحقات الملفات ل"قالب الزاوي" و.ng، .ngml و.ng.html.
عندما قمت بتغيير امتداد ملف القالب الخاص بي من .html إلى .ng.html ، تغيرت اللغة إلى AngularTemplate وبدأت في تلقي قيم في intelisense لم أكن أتلقىها من قبل. على سبيل المثال: * ngIf و * ngFor وخصائص المكون. كما يمكنني الآن النقر بزر الماوس الأيمن فوق الأحداث أو الأساليب وإعادة توجيهي إلى ملف .ts.
لكني فقدت ألوان العلامة.

انه يعمل الان. فقط تأكد من عدم وجود أخطاء في TypeScript والتي كانت مشكلة في حالة الاستخدام الخاصة بي

https://github.com/Hotell/react-tools-for-better-angular-apps/pull/2

هل يمكن إغلاق هذا chuckjaz ؟

شكر!

michaeljmonte بعد تغيير نسخة مطبوعة مثل vscode ؛ أو غيّر "typecript.tsdk" إلى "./node_modules/typescript/lib" ، سيعمل البرنامج المساعد مرة أخرى ؛ آمل أن يساعدك

لا يزال لا يعمل على Mac منذ Angular 6 ...

حاولت تثبيت الامتداد يدويًا ولكنه لم يعمل مع مشروعي الآن:
Angular 6 and Typescript 2.7.2

هل هناك أي حل لهذه المشكلة لأنني بحاجة إلى هذا العمل كما كان من قبل؟

نفس الشيء هنا ، لا يعمل الإكمال على vscode لـ ng new app .

  • الزاوي 6.1.9
  • الطباعة المطبوعة 2.7.2

نفس الشيء ، لا يعمل.

  • أوبونتو 18.04 (x64)
  • زاوية CLI: 6.1.5
  • العقدة: 10.6.0
  • الطباعة المطبوعة 2.9.2

هل تتساءل عما إذا كان التمديد لا يزال محدثًا؟ آخر التزام مضى عليه شهرين (حسنًا ، لم يعد قديمًا بعد ؛)) ولكن هذه المشكلة عمرها حوالي 10 أشهر الآن ويبدو أنها مهمة للغاية.

لا يعمل معي في ملفات HTML على الإطلاق ، ولا استكمال ، ولا الانتقال

  • الزاوي 7.0.3
  • الكتابة المطبوعة 3.1.6
  • تمديد VS Code: 0.1.10

تحرير: حسنًا ، حسب:
https://angular.io/guide/language-service#installing -in-your-project

أضفت

"plugins": [ {"name": "@angular/language-service"} ]

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

واجهت هذه المشكلة أيضًا ، لكنني وجدت أخيرًا أنني قمت بتعيين بناء جملة خاطئ في ملف .html (قمت بتعيين wxml).
لذلك قمت بتغيير بناء الجملة ، وهو يعمل.

جربها ، قد يتم حلها

VSCode - إعدادات المستخدم

"editor.snippetSuggestions": "top"،

إلى

"editor.snippetSuggestions": "inline"،

إغلاق هذا ، حيث تم حل المشكلة في https://github.com/angular/vscode-ng-language-service/issues/217#issuecomment -360890538

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

اقرأ المزيد حول سياسة قفل المحادثة التلقائي .

_تم تنفيذ هذا الإجراء تلقائيًا بواسطة روبوت.

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