从Javascript Intellisense隐藏私有

时间:2009-09-17 10:42:09

标签: javascript visual-studio-2008 documentation javascript-intellisense

是否有可能隐藏某些功能/字段,以便在Visual Studio 2008的javascript intellisense下拉列表中显示?通过javascript documentaion XML以某种方式命名私有?

我在jquery vsdoc文件中看到<private />,这意味着这种行为,但不符合我的期望

{
    __hiddenField: 0,
    /// <private />
    increment: function(){
        /// <summary>Increments a private variable</summary>
        __hiddenField++;
    }
}

但由于字段不能包含文档(因为它们没有正文),因此必须将它们记录在顶部。但仍然无效:

{
    /// <field name="__hiddenField" type="Number" private="true">PRIVATE USE</field>
    __hiddenField: 0,
    increment: function(){
        /// <summary>Increments a private variable</summary>
        __hiddenField++;
    }
}

不可能是一个完美可能的答案,如果你知道它实际上是不可能的话,你将被接受。

2 个答案:

答案 0 :(得分:1)

我不确定如何将其隐藏在intellisense中,但你总是可以使用闭包来完全隐藏变量,如下所示:

(function(){
    var hiddenField = 0;

    // not sure how you're defining your object; 
    // I'll just assume a global variable
    window.something = {
        increment: function(){
            /// <summary>Increments a private variable</summary>
            hiddenField++;
        }
    }
})();

这会在您的定义周围创建一个匿名函数,因此window.something.increment()将起作用,并且“hiddenField”将被隐藏。

答案 1 :(得分:0)

我认为要将函数/字段设为私有,您应该在其名称之前添加连字符。

_increment: function(){
    /// <summary>Increments a private variable</summary>
    __hiddenField++;
}