转到定义,转到实现,为 Ember 自动生成导入

Go to definition, go to implementation, autogenerate import for Ember

我正在使用 Ember 和 VS Code。

我需要的是在遇到依赖时即时生成导入字符串。例如我写的是这样的:

@tracked isLarge = false;

但是我还没有导入“@tracked”。所以选项可能是在@tracked 上设置 coursor,按“Action +”之类的东西。并选择“生成导入”。它应该生成导入字符串:

import { tracked } from '@ember/tracking';

但开箱即用。我该怎么做?

更新: 同样的问题:

  1. 转到定义
  2. 开始实施
  3. cmd+点击导航到implementation/component

您可以使用扩展程序 My Code Actions

您可以创建仅插入与错误无关的文本的操作。

"my-code-actions.actions": {
    "[javascript]": {
      "import tracked": {
        "where": "insertAfter",
        "insertFind": "^import",
        "text": "import { tracked } from '@ember/tracking';\n"
    }
  }
}

要使用的组合键是代码操作组合:Ctrl+.

如果您收到诊断信息(问题面板和波浪线),您可以使用它来进一步自定义操作,并且您可以使用诊断消息中的文本。

我目前正在添加在一个操作中进行多次编辑以及使用进一步的自定义和概括的可能性。

"Ember Language Server" 带来了一些解决方案。但它主要适用于具有 .d.ts 类型的库代码。 如果是自定义 JS 代码,它仍然不起作用。

所以没有直接的解决方案。只有两种方式:

  1. 为自定义代码 JS 文件编写 .d.ts 类型
  2. 将项目移动到 typescript