将Visual Studio 2012 JavaScript智能感知标记移动到单独的文件

时间:2012-08-30 21:20:24

标签: javascript intellisense visual-studio-2012

我喜欢Visual Studio的intellisense功能,包括为我创建的方法生成自己的XML标记的功能。但是,有时这些注释实际上会妨碍我看到我正在做的事情(特别是当方法长达几行并且它的智能感知时间比代码本身长三到四倍时!)

在Visual Studio 2012下,应该可以move the intellisense markup到单独的文件,将.intellisense.js添加到文件名的末尾并将文件放在同一目录中。不幸的是,我似乎无法让它发挥作用。

例如,假设文件module.js包含以下代码:

var module = (function (my) {
    /// <summary>Description of the module</summary>

    my.action = function(doThis) {
        /// <summary>Take an action</summary>
        /// <param type="String">Do this action</param>
        /// <returns type="String" />
        return doThis.toLowerCase();
    }

    return my;
}(module || {}));

我尝试在名为module.intellisense.js的同一目录中创建一个文件,并将module.js的XML注释移到此处:

intellisense.annotate(module, {
    'action': function() {
        /// <summary>Take an action</summary>
        /// <param type="String">Do this action</param>
        /// <returns type="String" />
    }
});

intellisense.annotate(window, {
    'module': function() {
        /// <summary>Description of the module</summary>
    }
});

保存文件后,我按 Ctrl Shift J 强制智能感知更新,然后给它一点思考。之后,当我输入module.action(时,我没有获得智能感知帮助。 在Visual Studio 2012中制作功能性自定义外部文件JavaScript智能感知需要做些什么?

1 个答案:

答案 0 :(得分:1)

  1. 你的module.js示例中有一个额外的右括号,所以它可能是个问题。
  2. 据我了解,module.intellisense.js不适用于module.js本身。但其他文件,将使用module.js工作正常。
  3. 即使使用Ctrl + Shift + J,module.intellisense.js中的更改也不会立即应用 - 需要一些时间或文件操作。