是的,我已经可以看到即将出现的注释轨迹,内容为"然后使用声明的变量"。但请耐心等待。
情况是我有一堆中等的JS文件,每个文件都包含一个Dojo小部件。小部件包含对命名空间中各种函数dojo
但dojo
在小部件文件的作用域中不存在,因此智能感知会中断。
此处CTRL
+ [space]
自动完成包括预期的this.a
和this.b
:
new Object({
a: NaN,
b: function YesToIntellisense()
{
console.log(this.a); // CTRL+[space] includes this.a and this.b
}
});
这里CTRL
+ [space]
自动完成缺少this.a
和this.b
:
new Object({
a: dojo.foo(),
b: function NonIntellisense()
{
console.log(this.a); // CTRL+[space] does *not* include this.a and this.b
}
});
如何避免未声明的变量破坏VS2010中的智能感知?
在这个javascript文件的顶部有一个/// <reference path="path-to/dojo-file.js" />
标签。 查看 http://blogs.msdn.com/b/webdevtools/archive/2007/11/06/jscript-intellisense-a-reference-for-the-reference-tag.aspx 和 http://msdn.microsoft.com/en-us/library/bb385682.aspx
我不确定VS2010。我使用Aptana Studio 3,这就是我修复它的方式:
-
(在阿普塔纳)有一个名为"项目性质"的设置。在这里我通常检查
Web
,JavaScript
和PHP
。查看VS2010是否有这样的设置。 -
为了避免像"使用未声明的变量"这样的JavaScript警告,我只是简单地设置了js文件的第一行,如下所示:
/*global var1: false, var2: false, var3:false....*/
看看你是否能在VS2010中找到等效的。
对不起,如果答案没有帮助。我只会发表评论,但我没有足够的代表。祝你好运!