在大多数情况下,一旦你了解了这些细节,VS 2010中的Intellisense for JavaScript就能很好地运作。然而。请考虑以下示例:
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工作得很好。但。如果我将这个(非常hackadelic)if(false)
片段插入每个类:
function ClassA(someClassB) {
...
if(false) {
someClassB = new ClassB();
}
...
someClassB.method1(); //Intellisense now works
}
很明显,Intellisense能够读取我的XML文档并为我的类提供服务;但它似乎没有读取我在<param>
节点中定义的类型。这适用于jQuery,我注意到使用<param type="jQuery" name="$"></param>
进入相关函数。
我错过了什么?