在WebStorm for TypeScript中自动导入类的快捷方式

在WebStorm for TypeScript中自动导入类的快捷方式,typescript,angular,webstorm,Typescript,Angular,Webstorm,我正在看Angular2的一段视频,那家伙键入了@Injectable(),然后用一些黑魔法在顶部出现了一行 import {Injectable} from 'angular2/core' 他是怎么做到的,这是什么类型的魔法?他(约翰·林德奎斯特)使用Alt+Enter(默认键映射中的快捷方式——如果使用不同的键映射,可能会有所不同)来打开快速修复菜单(也可以通过单击灯泡图标来触发) 显示菜单后,他使用该菜单中的“添加导入语句”条目(快速修复) RE:keymap--您可以为该菜单选择并指

我正在看Angular2的一段视频,那家伙键入了
@Injectable()
,然后用一些黑魔法在顶部出现了一行

import {Injectable} from 'angular2/core'
他是怎么做到的,这是什么类型的魔法?

他(约翰·林德奎斯特)使用Alt+Enter(默认键映射中的快捷方式——如果使用不同的键映射,可能会有所不同)来打开快速修复菜单(也可以通过单击灯泡图标来触发)

显示菜单后,他使用该菜单中的“添加导入语句”条目(快速修复)



RE:keymap--您可以为该菜单选择并指定不同的快捷方式--只需使用
设置/首选项| keymap
并查找
显示意图操作
操作(提示:使用搜索框快速缩小列表)。

这是WebStorm编辑器中最重要的快捷方式之一

以下步骤:

  • 打开WebStorm代码编辑器
  • 偏好
  • 编辑
  • 一般的
  • 自动导入
  • 标记:显示导入弹出窗口
  • 标记:合并来自同一模块的符号导入

假设您希望在表单中使用验证器。您正在键入
Validators.required
,然后它以红色显示
Validators
单词,因为它需要导入到表单中。
双击单词上的,然后按option+enter。它会自动导入:

import{Validators}来自“@angular/forms”

我让你也这么做的原因 标记:来自同一模块的符号的合并导入为:

假设您已经从
@angular/forms
导入了
验证器
,现在您想添加同样需要从
@angular/forms
导入的FormGroup。现在发生的事情是,它并没有为每一个单独添加另一个额外的导入行,而只是添加到可用的导入行中

import { Validators , FormGroup } from "@angular/forms"

我猜这是网络风暴?如果是这样,那么为你做这件事就足够聪明了。对于可能最好的可用IDE,这并不奇怪。不过这没什么大不了的,它只是分析和缓存所有输入信息和导入。我知道,我只是问我应该使用哪种类型的快捷方式?我听到视频中有人按了一些键,你不使用任何快捷方式,它只是检查你是否已经导入了sympol,以及它是否由某个模块导出,WebStorm会自动为你添加它。当我键入@Injectable时,我没有得到下拉选项这是我正在谈论的视频0:20分钟