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
如何防止 Vetur 和 TypeScript 在 VSCode 中同时显示打字稿警告?