【问题标题】:Angularjs - Resharper intellisense broken with TypeScript?Angularjs - Resharper 智能感知被 TypeScript 破坏?
【发布时间】:2017-02-16 00:36:35
【问题描述】:

我有 VS 2013 Update 4、TS 1.4、最新的 WebEssentials 和 R# 8。 我正在尝试在我的 MVC 解决方案中创建一些 AngularJS 代码。 在通过 nuget 安装的 Angularjs 和 angular.d.ts 中。我已经为“标记”做了同样的事情,并且 jQuery 作为 Angular 依赖项自动安装。

如何,Intellisense 无法解析任何 Angular 类型。如果我试图在一个空的 TypeScript 文件中输入“mar”,我会得到:

如果我输入“jque”,我会得到:

但是当我输入“ang”时 - 什么都没有。

所有 d.ts 文件均已到位:

添加引用路径指令并没有帮助,尽管它不是必需的,并且 Intellisense 对其他框架非常有效。没有 Intellisense 支持的手动输入工作正常,我没有编译错误,所以 TSLint 和 tsc 对我的代码没问题。

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

附:刚刚添加了 Knockout 来测试这一点,输入“ko”会带来正确的 Intellisense。

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

【问题讨论】:

标签: angularjs typescript resharper intellisense definitelytyped


【解决方案1】:

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

是的。他们需要更新打字稿的v1.4。在此之前您可以使用较旧的angular.d.tshttps://github.com/borisyankov/DefinitelyTyped/blob/1.3.0/angularjs/angular.d.ts

【讨论】:

【解决方案2】:

正如 basart 所述,您可以在过渡期间使用旧版本的文件,而不是安装 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

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

【讨论】:

  • 这与来自 basarat 的答案相同
  • 现在谁保存手动下载的文件?
【解决方案3】:

我今天早些时候遇到了这个问题,尽管我的项目中有参考 metacmets 和文件,但内联智能感知将 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 选项卡中完成。)

【讨论】:

    猜你喜欢
    • 2010-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 2013-11-23
    相关资源
    最近更新 更多