【问题标题】:Moving Visual Studio 2012 JavaScript Intellisense Markup to Separate File将 Visual Studio 2012 JavaScript Intellisense 标记移动到单独的文件
【发布时间】:2012-08-25 16:51:03
【问题描述】:

我喜欢 Visual Studio 的智能感知功能,包括为我创建的方法生成我自己的 XML 标记的能力。但是,有时 cmets 实际上会妨碍我查看我在做什么(尤其是当方法只有几行并且它的智能感知比代码本身长三到四倍时!)

在 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 的文件,并将 XML cmets 从 module.js 移到此处:

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>
    }
});

保存文件后,我按 CtrlShiftJ 来强制更新智能感知,然后再考虑一下。之后,当我输入module.action( 时,我没有得到智能感知帮助。 需要做什么才能在 Visual Studio 2012 中制作功能性的自定义外部文件 JavaScript 智能感知?

【问题讨论】:

  • 您是否在构建 Windows 应用商店应用程序或网站项目时对此进行测试?此外,您似乎在模块定义的末尾有一个额外的结束括号: (module || {}));

标签: javascript intellisense visual-studio-2012


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

【讨论】:

  • 很好的答案!第一点没有实际意义。写问题时,额外的括号是一个错字。但是,您的第二点很关键......我试图让智能感知在module.js 内工作。一旦我转到另一个文件,智能感知就开始工作了。
  • 我意识到,IntelliSense 会自动更新。 Ctrl+Shift+J 如果你只使用本地文件没有意义,这个热键更新远程文件(通过 http:// 包含的脚本)。
猜你喜欢
  • 2012-09-26
  • 2012-10-23
  • 2012-07-14
  • 2015-05-23
  • 2013-01-29
  • 1970-01-01
  • 2020-11-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多