Vscode-ng-language-service: Plugin aktualisieren, um Angular 6 . zu verwenden

Erstellt am 25. Juni 2018  ·  15Kommentare  ·  Quelle: angular/vscode-ng-language-service

Das Plugin ist immer noch für Angular 5 gebaut, sollte auf Angular 6 aktualisiert werden. Könnte #256 lösen, und dieser Kommentar zu einem Angular-Problem deutet darauf hin, dass die neue Typprüfung angezeigt werden muss (?), was dazu führen würde

<p *ngIf="foo">{{foo.length}}</p>

Stoppen Sie die roten Linien foo.length wenn strictNullChecks ist.

Abgesehen davon, wenn dieser Kommentar falsch ist und dieser Edge-Case immer noch nicht behandelt wird, selbst wenn er mit dem neuesten Angular erstellt wurde, lassen Sie es mich bitte wissen und ich werde ein separates Problem öffnen, um sicherzustellen, dass es verfolgt wird. Ich dachte, das wäre es, worüber #71 gesprochen hat, aber es ist ein separater Fall. Ich hoffe, dass dies eine einfache Lösung ist und auch *ngIf="foo && (foo.length > 2)" rote Linien foo.length abdecken wird (obwohl der and-Operator vor der Auswertung null aus dem Typ von foo entfernen sollte).

Hilfreichster Kommentar

Dieses Plugin ist im Moment für uns im Grunde unbrauchbar, da wir die Vorteile von TS 2.7-Funktionen wie strictPropertyInitialization . Aus diesem Grund sind unsere HTML-Dateien mit Fehlern wie diesen bedeckt:

[Angular] Identifier 'xxx' is not defined. '<anonymous>' does not contain such a member

Angular 6 ist jetzt seit 2 Monaten draußen - es wäre schön, wenn dieses Plugin aktualisiert würde.

Alle 15 Kommentare

Vielleicht Duplikat von #256

Ich habe auf dieses Problem Bezug genommen, aber ich denke, dies sollte als eigene Sache offen bleiben, weil a) es möglicherweise möglich ist, #256 aufzulösen, ohne zu Angular 6 zu wechseln, und b) es möglicherweise möglich ist, gegen Angular 6 zu bauen, ohne die Vorlage tatsächlich aufzulösen -Scope-Problem gebe ich als Beispiel. Ich möchte sicherstellen, dass mein spezifisches Problem (falsches Redlining in Vorlagen) tatsächlich gelöst wird.

Dieses Plugin ist im Moment für uns im Grunde unbrauchbar, da wir die Vorteile von TS 2.7-Funktionen wie strictPropertyInitialization . Aus diesem Grund sind unsere HTML-Dateien mit Fehlern wie diesen bedeckt:

[Angular] Identifier 'xxx' is not defined. '<anonymous>' does not contain such a member

Angular 6 ist jetzt seit 2 Monaten draußen - es wäre schön, wenn dieses Plugin aktualisiert würde.

Wird an diesem Plugin überhaupt gearbeitet? Ich sehe, dass der letzte Commit über 6 Monate her ist.

@JitinDhillon Scheint so, als ob dies aufgegeben wurde. Leider sind mir keine gewarteten Gabeln oder Alternativen bekannt.

Echt schade, dass das aufgegeben wurde.

@chuckjaz @DBosley ist es möglich, Informationen über die Absicht des Angular-Teams zu erhalten, dieses Projekt am Leben zu erhalten? Im Moment gibt es viele eklatante offene Fragen und es scheint, als ob dieses Projekt aufgegeben wurde. Wenn Sie das nicht mehr pflegen, ist es möglich, jemand anderen aus dem Angular-Team zuzuweisen?

Edit: habe gerade bemerkt, dass @chuckjaz seit fast einem Jahr nicht mehr auf Github aktiv ist, also nur um zu versuchen, andere Angular-Mitglieder zu stoßen: @IgorMinar @vicb @petebacondarwin ?

Hey Leute, ich habe gerade eine PR an den Master-Zweig gemacht, um die neueste Angular v6 zu unterstützen. (#276). Ich brauche jemanden, der mir hilft, mir diese Veränderungen anzusehen.

v0.1.10 ist raus mit dem angle-language-service 6.1 und TS 2.7, danke @kyliau

Ich erhalte immer noch die Fehlermeldung "enthält kein solches Mitglied" für myControl.errors?.someErrorName . Wird erwartet, dass dies jetzt behoben wird, da der neuere Sprachdienst / die TS-Version verwendet wird?

Gleichfalls. Ich bin jetzt auf Version 0.1.10, aber ich scheine immer noch all die falschen Fehler zu bekommen, die ich vorher bekommen habe.

Hier ist ein Beispiel für einen Fall, in dem sich der Sprachdienst über einen Nullable-Wert beschwert, obwohl ich eine *ngIf="model !== null Überprüfung habe.

model-can-not-be-null

Ja, soweit ich das beurteilen kann, funktioniert das verbesserte Scoping für ngIf, das mit dem neuen Sprachdienst kommen soll, nicht. Andere Arten der Verengung funktionieren auch nicht. Zum Beispiel habe ich eine Klasse mit einer Methode isFoo(x: any): x is Foo . Der AOT-Compiler erkennt dies korrekt als Einschränkung des Typs der übergebenen Variablen auf Foo , aber ich erhalte im Code die Fehlermeldung "enthält kein solches Element", wenn ich auf Foo-Mitglieder innerhalb eines *ngIf="isFoo(thing)" referenziere .

Zum Schluss, da, wie @angular/language-service Version 8 verwendet.
In Zukunft werde ich dafür sorgen, dass die Erweiterung mit der Veröffentlichung von Angular auf dem neuesten Stand gehalten wird.

Dieses Problem wurde aufgrund von Inaktivität automatisch gesperrt.
Bitte reichen Sie ein neues Problem ein, wenn Sie auf ein ähnliches oder verwandtes Problem stoßen.

Lesen Sie mehr über unsere Richtlinie zum automatischen Sperren von Konversationen .

_Diese Aktion wurde automatisch von einem Bot ausgeführt._

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen