vscode typescript:“添加所有缺少的导入”快捷方式

Posted

技术标签:

【中文标题】vscode typescript:“添加所有缺少的导入”快捷方式【英文标题】:vscode typescript: 'Add all missing imports' shortcut 【发布时间】:2019-03-26 08:28:20 【问题描述】:

我正在从事一个打字稿项目 (typescript3.x)。

我最近注意到Add all missing imports,当我使用多个尚未导入的类型时点击灯泡时出现,如下所示:

是否有相同的快捷方式? 还是我应该将其作为一项功能提出要求?

提前致谢

【问题讨论】:

【参考方案1】:

是否有相同的快捷方式?

是的,即将在 v1.46 中推出(请参阅 v1.46 release notes: add missing imports source action):

添加所有缺少的导入源操作

VS Code 长期以来一直支持添加所有缺失导入的快速修复 在 javascript 或 TypeScript 文件中。本次迭代,我们引入了一个 新的Add all missing imports 源操作可让您从 文件中的任何位置。

这还允许您为Add all missing imports 设置键绑定:


    "key": "ctrl+shift+i",
    "command": "editor.action.sourceAction",
    "args": 
        "kind": "source.addMissingImports",
        "apply": "first"
    

甚至在保存时启用Add all missing imports

"editor.codeActionsOnSave": [ 
    "source.addMissingImports"
]

or

"editor.codeActionsOnSave": 
    "source.addMissingImports": true

“editor.codeActionsOnSave”:[

【讨论】:

谢谢。我刚刚创建了一个关于修复损坏的导入的功能请求的新问题,因为我没有看到这些命令中的任何一个解决了这个问题。希望将其作为另一个节省时间的功能来实现github.com/microsoft/vscode/issues/102458。它可能很容易搭载现有功能。【参考方案2】:

我认为 vscode 现在已经内置了这个功能。

快捷键 Ctrl + . 为我们提供了自动修复问题的选项。我发现即使在多次导入的情况下也能正常工作。

如果有其他方法可以做到这一点,请告诉我:)

【讨论】:

一个很棒的捷径。习惯用Ctrl+空格,这个给了更好的建议! 但是这个快捷方式不允许我们一次性导入所有丢失的文件。 :) @MayurAgarwal 它显示当有一个具有该名称的模块时添加所有缺少的导入的选项。例如,有 2 个依赖项未导入。 1) 记录器 2) 日期时间(来自 luxon)。我们在 package.json 中有 mongodb,因为他们发布了自己的记录器模块,如果我们尝试使用自定义记录器,那么 vscode 将不会显示全部导入。相反,它将向我们展示所有可用的记录器模块。类似地,当我们按下其他项目的快捷方式(这是唯一的)时,它将显示全部导入 & 将尝试导入附带记录器的第一个模块。希望这很清楚。【参考方案3】:

假设您的意思是键盘快捷键,我在“文件”->“首选项”->“键盘快捷键”窗口中根本看不到该命令,因此似乎没有快捷键也没有配置方法(从 Visual Studio Code 1.28.2 开始)。如果 TypeScript 扩展中的“添加所有缺少的导入”代码修复作为命令公开,那么您将能够分配一个快捷方式。

【讨论】:

它将很快(2020 年 6 月)作为全局快捷方式提供:github.com/microsoft/vscode/issues/95831

以上是关于vscode typescript:“添加所有缺少的导入”快捷方式的主要内容,如果未能解决你的问题,请参考以下文章

如何强制 VSCode 使用本地安装的 TypeScript

如何在 VSCode 中禁用 TypeScript 警告?

vscode下搭建Typescript编译环境

如何防止 Vetur 和 TypeScript 在 VSCode 中同时显示打字稿警告?

一键Swagger类型转为typescript类型(vscode插件)

vscode写typescript之必装插件