Visual Studio 2015中没有适用于AngularJS TypeScript的IntelliSense

max*_*ntz 5 intellisense angularjs typescript visual-studio-2015

我正在使用Visual Studio 2015中的TypeScript中的ASP.NET 5和AngularJS构建应用程序.但是,即使在通过NuGet为AngularJS安装AngularJS Core和DefinitelyTyped TS引用之后,我仍然没有获得AngularJS库的IntelliSense.

我也使用ReSharper 9.1 AngularJS扩展,它在HTML文件中提供了IntelliSense,但在我的TypeScript代码中没有.

我也注意到即使存在对AngularJS和定义文件的引用,文件本身也无法在我的解决方案中找到.有人知道如何解决这个问题吗?

编辑:我找到了解决方案.如果你遇到同样的问题,请阅读我的答案.

B.K*_*.K. 5

AngularJS Intellisense有一个附加组件:

PM> Install-Package AngularJS.Intellisense

https://www.nuget.org/packages/AngularJS.Intellisense/

Resharper阻塞JS intellisense也存在一个已知问题.把它关掉,看看是否有任何区别.

  • 谢谢你,BK.我的案例是Resharper阻止了针对TypeScript的JS intellisense. (2认同)

max*_*ntz 3

我已经使用DefinitelyTyped Definition Manager找到了解决问题的方法: http ://definitelytyped.org/tsd/

我已经使用 NPM 在全局安装了 tsd:

npm install -g tsd
Run Code Online (Sandbox Code Playgroud)

然后使用解决方案根文件夹中的命令提示符,输入以下命令来安装 AngularJS 类型定义:

tsd install angular
Run Code Online (Sandbox Code Playgroud)

它自动将类型定义下载到名为“typings/angularjs”的文件夹中,并且 IntelliSense 开始按预期工作。

我还可以确认,使用这种方法,不需要 AngularJS Core 的 NuGet 包或 DefinelyTyped 定义,并且 ReSharper 不会阻止 IntelliSense。

更新:

看起来 TSD 即将被弃用并被打字项目取代。它也与 TSD 集成良好,并为 TSD 用户提供特定选项。虽然 TSD 仍然工作正常,但请记住,将来 TSD 可能不再被维护。