2013-04-14 55 views
10

我设法为HTML中的ng指令获得intellisense。我也为大多数JavaScript文件获得智能感知。但是,我不知道如何获得注入位的智能感知。考虑以下内容:在visual studio中的angularjs intellisense

function mandatsCtrl($scope, Domiciliation, logger, $q) { 
} 

如何获取智能感知$ q或$ scope,这是注入?

+3

你可能想看看这个 [视觉工作室2013 angularjs IntelliSense支持] [1] [1]:http://stackoverflow.com/questions/19709538/visual-studio-2013-angularjs-intellisense-support –

+0

你是如何获得HTML中ng指令的intellisense的?你能让我知道吗? –

回答

2

就我所知,你不能做那样的事情。 但是,如果您使用ReSharper,您可以尝试使用AngularJS support for ReSharper插件。它处于早期阶段,所以我想我们可以期待更多的时间。

这是另一个链接HTML5Schema(Intellisense中提供的所有ng- *属性)。 我想你已经有了。

还有一个Chrome插件AngularJS Batarang。扩展开发工具,添加用于调试和分析AngularJS应用程序的工具。

我期待着其他答案。

+0

是的,我有架构。 Resharper插件是有前途的,但现在它没有比模式做得多。等着瞧吧...... – Sam

+0

是的,我们希望会有更多。代码片段也很好。 – kayz1

2

如果您使用TypeScript,则可以在注入的参数(以及其他所有内容)上获得智能感知。 TypeScript让我们指定参数的类型,以便VS知道如何使用它们。

例如。

/// <reference path="./angular.d.ts" /> 

function mandatsCtrl($scope: ng.IScope) {...} 
+0

我看了一下TypeScript,看起来很有趣。但有一点我不明白,是如何获取这些.d.ts文件?例如,你提到的angular.d.ts文件在哪里?对于我使用的任何第三方库也是如此(jQuery等)。 – Sam

+0

@Sam这里有一个很好的社区管理的d.ts文件集合:http://www.tsdpm.com/ https://github.com/Diullei/TSD。 – rob

+0

谢谢!我可以使用旧版本的d.ts文件,并且仍然在我的代码中使用最新版本的库? – Sam

1

你有没有在这所一看:https://github.com/matijagrcic/AngularJS-Intellisense-For-Visual-Studio

我已经通过扩展一个有智能感知为$范围和$ Q我已经(认为它必须是“网络要点2012”),虽然它似乎不是特别智能的智能感知 - 它只是每个可能的JS方法/属性的建议。

+0

我试图安装它,但无法添加注册表项。这显然不是一个有效的关键... – Sam

+0

我明白了它的实际工作原理,但必须修改注册表项才能使其正常工作,如下所述:https://github.com/matijagrcic/AngularJS-Intellisense-For-视觉工作室/问题/ 1 /#issuecomment-20321607。在“文件”值中只需要一个反斜杠(\) - 即。它应该看起来像:“File”=“html \ html_5_angularjs.xsd” –

+0

有趣。我添加了注册表并选择了AngularJS作为我的HTML验证。但是它不适用于HTML(为了获得基本的HTML 5验证,我现在必须将Doc类型,Body等包含在我的Views中),而且它对Angular完全不起作用 –