Angularjs - 用TypeScript打破Resharper intellisense?

时间:2015-02-08 18:21:18

标签: angularjs typescript resharper intellisense definitelytyped

我有VS 2013 Update 4,TS 1.4,最新的WebEssentials和R#8。 我试图在我的MVC解决方案中创建一些AngularJS代码。 在安装的Angularjs和angular.d.ts通过nuget。我已经为"标记了#34;并且jQuery也自动安装为Angular依赖。

Intellisense如何解析Angular类型。如果我想打字" mar"在一个空的TypeScript文件中我得到这个: enter image description here

如果我输入" jque"我明白了: enter image description here

但是当我输入" ang" - 没有。 enter image description here

所有d.ts文件都已到位: enter image description here

添加引用路径指令没有帮助,虽然它不是必需的,并且Intellisense对其他框架完全正常。没有Intellisense支持的手动输入工作正常,我没有编译错误,因此我的代码可以使用TSLint和tsc。

所以,我的问题是 - 那里发生了什么?

P.S。刚刚添加了Knockout来测试它并键入" ko"带来适当的智能感知。

P.P.S。我在R#中关闭了TS支持,intellisense似乎正常工作。所以,我认为这是Resharper问题。

3 个答案:

答案 0 :(得分:6)

  

我在R#中关闭了TS支持,智能感知似乎正常工作。所以,我认为这是Resharper问题

是。他们需要更新v1.4打字稿。您可以使用旧的angular.d.ts直到那时:https://github.com/borisyankov/DefinitelyTyped/blob/1.3.0/angularjs/angular.d.ts

答案 1 :(得分:3)

如上所述,不是安装EAP或关闭Resharper,而是可以在过渡期间使用旧版本的文件。但我建议不要在解决方案中手动添加它。 Version 1.7.4 of jQuery d.tsversion 2.4.0 of Angular d.ts为我工作,您可以使用Visual Studio中的程序包管理器命令行中的NuGet来安装它们。

Install-Package jquery.TypeScript.DefinitelyTyped -Version 1.7.4
Install-Package angularjs.TypeScript.DefinitelyTyped -Version 2.4.0

确保在运行命令之前在控制台内的下拉框中选择项目。

答案 2 :(得分:0)

我今天早些时候遇到了这个问题,其中内联智能感知正在标记angular,以及各种接口(通常为IPromise<T>)未找到,尽管参考元数据和文件存在于我的项目。

与@basarat的答案类似,我能够禁用ReSharper Intellisense(Resharper | Options ... | Intellisense | General),重新启动Visual Studio,然后重新启用TypeScript Intellisense。重新启用智能感知后,我不再会出现红色波浪形。

我在Visual Studio 2015 ReSharper 2016.3.2中对一起使用Angular 1.6和TypeScript的项目执行了此操作,没有tsconfig.json文件(配置在Web项目的TypeScript选项卡中完成。)