是否有一些Visual Studio Code的插件或其他方法可以帮助我们快速有效地整理和组织导入和引用?

例如,可能有数百个这样的导入

import { AutoCompleteModule,InputSwitchModule } from 'primeng/primeng';
import { ListboxModule } from 'primeng/primeng';

可以转换成类似的吗

import { AutoCompleteModule,
         InputSwitchModule,
         ListboxModule  } from 'primeng/primeng';

或者其他功能 自动从app.module或整个项目的所有组件中删除那些未使用的导入和声明?

感谢您的反馈!


当前回答

如果你是一个重度visual studio用户,你可以简单地打开你的首选项设置,并将以下内容添加到你的settings.json:

...
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
  "source.organizeImports": true
}
....

希望这对你有所帮助!

其他回答

编辑(根据评论和其他人的建议),Visual Studio Code已经发展并提供了内置的“组织导入”命令的功能,具有以下默认的键盘快捷键:

选项+Shift+O为Mac

Windows为Alt + Shift + O


最初的回答:

我希望这个visualstudio代码扩展将满足您的需要:https://marketplace.visualstudio.com/items?itemName=rbbit.typescript-hero

它具有以下特性:

将项目或库的导入添加到当前文件 在游标下添加当前名称的导入 用一个命令添加文件中所有缺失的导入 智能感知,提示符号并自动添加所需的导入 修复您编写的代码的“灯泡功能” 对导入进行排序和组织(排序并删除未使用的) 打开的TS / TSX文档的代码大纲视图 JavaScript也有很酷的东西!(不过是实验阶段,下面有更好的描述。)

Mac: control+option+o

对于Win: Ctrl+Alt+o

如果你是一个重度visual studio用户,你可以简单地打开你的首选项设置,并将以下内容添加到你的settings.json:

...
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
  "source.organizeImports": true
}
....

希望这对你有所帮助!

在这个帖子里已经有很多好的答案了!我将发布这篇文章来帮助那些试图自动做到这一点的人!为了自动删除整个项目中未使用的导入,这篇文章对我非常有帮助。

在文章中,作者是这样解释的:

制作一个独立的斜纹棉布。Json文件,其中包含以下内容:

{
  "extends": ["tslint-etc"],
  "rules": {
    "no-unused-declaration": true
  }
}

然后执行以下命令修复导入:

 tslint --config tslint-imports.json --fix --project .

考虑修复它抛出的任何其他错误。(我)

然后通过构建它来检查项目工作:

ng build

or

ng build name_of_project --configuration=production 

结束:如果构建正确,您就成功地自动删除了导入!

注意:这只删除不必要的导入。当使用前面提到的命令时,它不提供VS Code所提供的其他特性。

为了能够检测未使用的导入、代码或变量,请确保在tsconfig中有此选项。json文件

"compilerOptions": {
    "noUnusedLocals": true,
    "noUnusedParameters": true
}

安装typescript编译器,如果没有安装的话:

npm install -g typescript

和安装在Vcode中的tslint扩展,这对我有用,但启用后我注意到CPU使用量的增加,特别是在大项目上。

我还建议使用typescript英雄扩展来组织您的导入。

从Visual Studio Code Release 1.22开始,这是免费的,不需要扩展。

Shift+Alt+O会照顾你的。