首页 > 解决方案 > 用于 Ember 注入服务的 Intellisense

问题描述

我有点沮丧,在任何常见的 IDE(如 VS Code、Webstorm、Atom)中似乎都没有任何像样的“Ember 智能感知”。“intellisense”是指,只要我的 Ember 项目是一个标准的 Ember CLI 项目,其中包含所有常见的 Service、Helper 文件夹等,并且我使用 注入例如服务myService: service(),Intellisense 就会识别它,并且在键入之后this.myService,我会看到服务中的所有功能。另外,如果我 Ctrl+Click 中的函数this.myService.myFunction(),我希望导航到 myFunction 的定义。

对于其他框架,例如 Angular,有支持所有这些的插件。

我真的必须使用“在文件中查找”来查找服务功能的定义吗?

有谁知道我可能错过的一种方法或工具,并且可以支持这种情况?请注意,我不是在谈论诸如在路由器/控制器/模板之间切换之类的基本功能,而是针对自定义对象的真正智能感知。

标签: ember.jsvisual-studio-codewebstormintellisenseember-cli

解决方案


情况确实还不是很好。有几件事确实有很大帮助:

  • 通过ember-cli-typescript 项目使用 TypeScript将为您解锁很多这些好处。(完全披露:我是维护者。)
  • 有一个社区驱动的 IntelliJ 插件非常好,intellij-emberj;它具有相当多的这些功能,并且由 Ember CLI 团队的成员保持最新。
  • 有一套VS Code 插件,包括一个语言服务器,它提供了相当多的功能。

(这里肯定还有很多工作要做,不幸的是,似乎没有一个 IDE 开发人员对自己提供本机支持感兴趣,所以这一切都落到了社区的肩上。)


推荐阅读