VS Javascript Intellisense类型被覆盖

时间:2015-09-21 20:32:29

标签: javascript dom visual-studio-2013 intellisense

我正在编写一个JavaScript类,并尝试使用Visual Studio 2013 intellisense将字段声明为特定的HTML元素。问题是,当我将字段设置为返回值时,它会将intellisense覆盖为返回类型值(即使我知道它是我将其设置为的XML类型)。

我想知道是否有办法防止自动覆盖字段类型。

这是一个人为的例子:

myClass = function myClass()
{
    /// <summary>Dummy class to demonstrate intellisense type overriding</summary>
    /// <field name="fieldDiv" type="HTMLDivElement">The thing under question</field>
    fieldDiv = null;
};

myClass.prototype.myFunction = function myFunction()
{
    this.fieldDiv;    //Intellisense works correctly as if it was a div element
    this.fieldDiv = getEl("myDiv"); //This breaks the intellisense
    this.fieldDiv;    //Intellisense now thinks it's a generic dom object
                      //I want it to think it's still a div element
};

我不介意在this.field = getEl("myDiv");之后添加xml标记行。我真的很想要div上下文信息。

谢谢!

1 个答案:

答案 0 :(得分:0)

有趣的是,它适用于我的VS2013。在第三行显示 HTMLDivElement 类型。 您可以尝试在 getEl 函数内添加返回类型签名。根据{{​​3}}(和具体的备注部分)。例如:

  function trim() {
    /// <signature>
    ///   <summary>Remove the whitespace from the beginning and end of a string.</summary>
    ///   <param name="str" type="String">The string to trim.</param>
    ///   <returns type="String" />
    /// </signature>
  }