microsoft / microsoft/TypeScript

Recognize properties introduced by jQuery extend

Offen
#31,314 1 Kommentar 2 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Awaiting More Feedback Suggestion
Vorherrschende Sprache
Go
Sterne
111k
Forks
14.4k
Ø Merge
1 T. 19 Std.
Gemergte PRs (30 T.)
117

Beschreibung

The old VS JS language service used to make runtime types available at design-time, allowing it to support jQuery's extend function for adding properties dynamically. The new one uses static types and so does not offer these symbols during completion, navigate-to, etc. We've had some customer inquiries about the possibility of supporting this functionality in the TS language service.

https://developercommunity.visualstudio.com/content/problem/529989/aspnet-在html-文件-js-智能提示失效.html
https://developercommunity.visualstudio.com/content/problem/560277/javascript-go-to-members-doesnt-work-with-property.html

The latter provided this example:

(function ($) {

    mynamespace.myClass = Class.extend({
      init: function (options) {
        // unless you specifically type this.testProperty = "abc" in JS, the 'Go to Members' will not find the below property even though it's explicitely defined.
      },
       __properties: {

       'testProperty': {
                /// <summary>
                /// Gets or sets the test property
                /// </summary>
                /// <value type="String"></value>

                get: function () {
                    return this._testProperty;
                },

                set: function (value) {
                    this._testProperty = value;
                }
            }
       }
   });

})(jQuery);

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit der Prüfung der beiden verknüpften Developer Community-Berichte und des jQuery/Class.extend-Beispiels. Da keine Quelldateien oder Tests genannt sind, identifiziere zunächst die Einstiegspunkte des TypeScript language-service für completion und navigate-to und lege dann fest, was die Erkennung dynamisch eingeführter Eigenschaften abdecken sollte und wie sie getestet werden kann.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
javascript, typescript
Bereich
devtools
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.