Visual studio 2012 单个intellisense文件用于多个js函数文件?
我有functions1.js、functions2.js和functions3.js。每个函数分别有一个函数funcA、funcB和funcC。我创建了一个名为“functions.intellisense.js”的文件,并将其添加到_reference.js中。然后,我在test.js文件中添加了对_reference.js的引用 为什么智能感知不起作用 functions.intellisense.jsVisual studio 2012 单个intellisense文件用于多个js函数文件?,visual-studio-2012,intellisense,javascript-intellisense,Visual Studio 2012,Intellisense,Javascript Intellisense,我有functions1.js、functions2.js和functions3.js。每个函数分别有一个函数funcA、funcB和funcC。我创建了一个名为“functions.intellisense.js”的文件,并将其添加到_reference.js中。然后,我在test.js文件中添加了对_reference.js的引用 为什么智能感知不起作用 functions.intellisense.js intellisense.annotate(funcA, function () {
intellisense.annotate(funcA, function () {
/// <signature>
/// <summary>Function A</summary>
/// </signature>
});
intellisense.annotate(funcC, function () {
/// <signature>
/// <summary>Function A</summary>
/// <param name="message">message</param>
/// </signature>
});
/// <reference path="functions.intellisense.js" />
function funcA() {
alert("this is function A");
}
function funcC(message) {
alert("this is function C " + mesage);
}
/// <reference path="Scripts/_reference.js" />
func //<--- expecting this to show intellisense
函数3.js
intellisense.annotate(funcA, function () {
/// <signature>
/// <summary>Function A</summary>
/// </signature>
});
intellisense.annotate(funcC, function () {
/// <signature>
/// <summary>Function A</summary>
/// <param name="message">message</param>
/// </signature>
});
/// <reference path="functions.intellisense.js" />
function funcA() {
alert("this is function A");
}
function funcC(message) {
alert("this is function C " + mesage);
}
/// <reference path="Scripts/_reference.js" />
func //<--- expecting this to show intellisense
test.js
intellisense.annotate(funcA, function () {
/// <signature>
/// <summary>Function A</summary>
/// </signature>
});
intellisense.annotate(funcC, function () {
/// <signature>
/// <summary>Function A</summary>
/// <param name="message">message</param>
/// </signature>
});
/// <reference path="functions.intellisense.js" />
function funcA() {
alert("this is function A");
}
function funcC(message) {
alert("this is function C " + mesage);
}
/// <reference path="Scripts/_reference.js" />
func //<--- expecting this to show intellisense
//
func/如果我修改functions.intellisense.js以包含对包含实际函数的脚本文件的引用,它似乎可以按预期工作
/// <reference path="functions1.js" />
/// <reference path="functions3.js" />
intellisense.annotate(funcA, function () {
/// <signature>
/// <summary>Function A does something important</summary>
/// </signature>
});
intellisense.annotate(funcC, function () {
/// <signature>
/// <summary>Function C does something equally important</summary>
/// <param name="message">message</param>
/// </signature>
});
//
///
intellisense.annotate(funcA,function(){
///
///函数A做了一些重要的事情
///
});
intellisense.annotate(函数,函数(){
///
///函数C做了同样重要的事情
///信息
///
});
我希望避免这种情况,因为我说过函数可能是尚未编写的函数的存根,但这仍然有效。我将等待接受此答案,看看Jordan是否有更多的建议。我已经评论过如何设置引用-在传递给intellisense之前必须声明函数。如果希望它们出现在intellisense中,请进行注释。函数声明驱动IntelliSense完成列表,注释调用更新已声明函数的文档
我希望能够预文档功能。也许在想法前面加上“TODO”,比如如果我没有编写Test.Add()函数,我仍然可以将它放在intellisense文件中,它会弹出“TODO:添加测试”
您可以通过为IntelliSense编写自己的帮助程序来实现这一点,例如:
function stubFunction(functionName, annotation) {
if (!window[functionName]) {
window[functionName] = function () { };
}
intellisense.annotate(window[functionName], annotation);
}
调用stubFunction
将创建stub函数声明,并在一次调用中对其进行注释:
stubFunction("funcA", function () {
/// <signature>
/// <summary>Function A does something important</summary>
/// </signature>
});
stubFunction(“funcA”,函数(){
///
///函数A做了一些重要的事情
///
});
现在,如果在编辑器中键入func
,您将看到funcA与您的文档注释一起出现在完成列表中
这个stubFunction
实用程序可以放在functions.intellisense.js中,然后用在该文件中预先记录所有函数。Hi Scott-你能粘贴到_references.js文件的内容吗?-Jordan,Microsoft Visual Studio PM///如果我在functions.intellisense.js的开头引用functions1.js和functions3.js,它看起来会起作用。感谢更新中的所有详细信息。只有在进行注释调用之前已经声明了目标函数,intellisense.annotate调用才会起作用。因此,正如您所发现的,在调用intellisense.annotate之前,通过引用functions1.js和functions3.js文件,可以声明并注释funcA和funcC。我建议将这两个引用放在包含functions.intellisense.js的行上方的_reference.js中。然后,所有引用都保存在一个位置。