我有VS 2013 Update 4,TS 1.4,最新的WebEssentials和R#8。 我试图在我的MVC解决方案中创建一些AngularJS代码。 在安装的Angularjs和angular.d.ts通过nuget。我已经为"标记了#34;并且jQuery也自动安装为Angular依赖。
Intellisense如何解析Angular类型。如果我想打字" mar"在一个空的TypeScript文件中我得到这个:
如果我输入" jque"我明白了:
但是当我输入" ang" - 没有。
所有d.ts文件都已到位:
添加引用路径指令没有帮助,虽然它不是必需的,并且Intellisense对其他框架完全正常。没有Intellisense支持的手动输入工作正常,我没有编译错误,因此我的代码可以使用TSLint和tsc。
所以,我的问题是 - 那里发生了什么?
P.S。刚刚添加了Knockout来测试它并键入" ko"带来适当的智能感知。
P.P.S。我在R#中关闭了TS支持,intellisense似乎正常工作。所以,我认为这是Resharper问题。
答案 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.ts和version 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选项卡中完成。)