2013-04-14 139 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完全不起作用 –