Как заставить Visual Studio JavaScript Intellisense распознавать мои собственные классы при передаче между функциями? - PullRequest
2 голосов
/ 29 июля 2011

По большей части, когда вы знаете все подробности, Intellisense для JavaScript в VS 2010 работает довольно хорошо.Тем не мение.Рассмотрим следующий пример:

   function ClassA(someClassB) {
       ///<summary>My A Class</summary>
       ///<param type="ClassB" name="someClassB">An instance of my B Class</param>
       someClassB.method1(); //Intellisense doesn't work
       this.method2 = function() {
            ///<summary...
       };
   }

   function ClassB(someClassA) {
       ///<summary>My A Class</summary>
       ///<param type="ClassA" name="someClassA">An instance of my A Class</param>
       someClassA.method2(); //Intellisense doesn't work
       this.method1 = function() {
            ///<summary...
       };
   }

Ни в том, ни в другом случае Intellisense не предлагает доступные методы из любого класса.У меня есть ссылки, и я создал vsdocs - и во всех других случаях Intellisense работает просто отлично.Но.Если я вставлю этот (очень взломанный) фрагмент if(false) в каждый класс:

function ClassA(someClassB) {
    ...
    if(false) {
        someClassB = new ClassB();
    }
    ...
    someClassB.method1(); //Intellisense now works
}

Так что ясно, что Intellisense может читать мою документацию XML и обслуживать мои классы;но, похоже, он не читает тип, который я определяю в узле <param>.Это работает для jQuery, который я отмечаю, входя в соответствующие функции, используя <param type="jQuery" name="$"></param>.

Чего мне не хватает?

...