从 Javascript Intellisense 隐藏隐私

Posted

技术标签:

【中文标题】从 Javascript Intellisense 隐藏隐私【英文标题】:Hiding privates from Javascript Intellisense 【发布时间】:2010-11-29 02:38:40 【问题描述】:

是否可以在 Visual Studio 2008 的 javascript intellisense 下拉列表中隐藏某些函数/字段?是通过javascript文档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++;
    

不可能是一个完全可能的答案,如果您知道这实际上是不可能的,就会被接受。

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

【参考方案2】:

我不确定如何从智能感知中隐藏它,但您始终可以使用闭包来完全隐藏变量,如下所示:

(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”是真正隐藏的。

【讨论】:

以上是关于从 Javascript Intellisense 隐藏隐私的主要内容,如果未能解决你的问题,请参考以下文章

如何从 WebMatrix 2 Beta 中的 vsdoc 文件引用中获取 JavaScript Intellisense?

Visual Studio 2013 Javascript Intellisense 同步 obj 文件夹中的文件。是不是可以从同步中排除文件夹?

Javascript Intellisense 消息:JS Intellisense:Internal/(1:0) : Function expected

Javascript Intellisense 未显示所有内容

Visual Studio 2012 JavaScript Intellisense 不工作

Visual Studio Javascript Intellisense - 选项对象