Javascript 检测AngularJS标记中的键入错误

Javascript 检测AngularJS标记中的键入错误,javascript,angularjs,resharper,Javascript,Angularjs,Resharper,我是安格拉斯的新人,有一件事让我很困扰。在检测angularJS指令(如“ng repeat”)中的键入/语法错误时,无论是编辑器(我使用的是带Resharper的Visual Studio)还是浏览器/运行时组件,似乎都没有任何帮助。例如,如果我键入 (注意缺少的“r”) 而不是 我只是看不到表行。我完全靠我自己,通过仔细观察源头来找到原因。我不会在浏览器控制台窗口或任何地方得到任何线索。甚至连R#都没有警告我 我担心我会被扔回使用VB6编程而不使用“option explicit”的古老时

我是安格拉斯的新人,有一件事让我很困扰。在检测angularJS指令(如“ng repeat”)中的键入/语法错误时,无论是编辑器(我使用的是带Resharper的Visual Studio)还是浏览器/运行时组件,似乎都没有任何帮助。例如,如果我键入

(注意缺少的“r”)

而不是

我只是看不到表行。我完全靠我自己,通过仔细观察源头来找到原因。我不会在浏览器控制台窗口或任何地方得到任何线索。甚至连R#都没有警告我

我担心我会被扔回使用VB6编程而不使用“option explicit”的古老时代,在那里查找此类错误的原因很容易被占用半天,仅仅因为有人在变量名中犯了拼写错误


我是否忽略了一些显而易见的事情?还是我只是一个惯坏的程序员,习惯于依靠intellisense和R解决所有问题?

来解决intellisense
其中一个答案应该能够帮助您。

对于调试,允许您查看角度应用程序中使用的范围


当然,它不会标记任何语法错误或错误命名的变量,但它至少允许您确认该指令的作用域可以看到和使用哪些变量。由此,您应该能够确定
myAray
在作用域上不存在,并且应该将其重命名为
myArray
(如您的示例所示)

这将在不久的将来得到Resharper的支持。

请参阅功能请求


我们都期待着它:-)

我确实有intellisense在标签中工作。但我的问题是关于AngularJS标签中的intellisense,比如“ng repeat”。我不确定这是否真的可行。如果您查看它是什么,
ng repeat
只是一个HTML属性(尽管角度引擎可以识别)。从这个意义上讲,这些声明实际上根本不是角度的,它们看不到控制器作用域或其上声明的任何变量,反过来说,angular使用它们来操作DOM(如果有意义的话!?)。我的问题实际上是:如果ng repeat指令(或任何其他角度指令)不能按预期工作,即不显示任何内容,我应该如何查找错误?在浏览器中调试ng repeat“expression”似乎是不可能的,即设置断点或单步执行。所以,唯一的办法就是仔细看原文,找出原因?在现实生活中,我有时会有比变量名复杂得多的表达式,所以我想我会花很多时间跟踪像这样的“琐碎”错误。我知道这个扩展,但依赖它远不是我想象中的“开发人员友好”方式。我刚刚为R#people创建了一个在AngularJS指令()中支持intellisense的建议。也许他们能从中有所收获。请随意投票!:-)我投了赞成票,肯定会有用的。祝你好运看来喷气式飞机的人已经在上面了。。。看起来很有希望: