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

kuarbcqp  于 2022-11-05  发布在  其他
关注(0)|答案(2)|浏览(125)

我使用ember与VS代码。
我需要的是在遇到依赖关系时快速生成导入字符串。例如,我写了这样的内容:
@tracked isLarge = false;
但我还没有导入“@tracked”。所以可以选择将光标设置为@tracked,按“Action + .”,然后选择“generate import”。它应该会生成导入字符串:

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

但它不工作的盒子。我怎么能做到这一点?

**更新:**关于以下内容的相同问题:

1.转到定义
1.转到实施

  1. cmd+单击以导航到实现/组件
bxfogqkk

bxfogqkk1#

您可以使用扩展名My Code Actions
您可以建立动作,只插入与错误无关的文字。

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

要使用的组合键是“代码操作”组合键:按Ctrl+.
如果您得到一个诊断(问题面板和波形),您可以使用它来进一步自定义操作,您可以使用诊断消息中的文本。
我目前正在添加在一个动作中进行多个编辑的可能性,并使用进一步的自定义和泛化。

9rygscc1

9rygscc12#

"Ember Language Server"带来了一些解决方案。但它主要适用于具有.d.ts类型的库代码。在自定义JS代码的情况下,它仍然不起作用。
所以没有直接的解决方案。只有两种方法:
1.为自定义代码JS文件编写.d.ts类型
1.将项目移动到typescript

相关问题