Visual Studio代码-自动导入/快速修复不起作用

问题描述

我的VS代码无法自动node_modules导入内容

我试图使其在两台PC和一台Mac上工作-结果是相同的:输入时没有输入建议,当我关注符号并按Ctrl+. / {{ 1}}-没有快速修复建议。

我尝试安装Auto Import扩展名-没有建议。

我读过关于“添加所有缺少的进口商品”的release notes post,并尝试应用快捷方式-运气不好,它什么也没做。

在这一点上,我完全迷失了,我看到很多帖子都问他们同样的问题,人们建议他们通过按Ctrl +使用Quick Fix。但是正如您在屏幕截图上所看到的-它没有任何建议。

我正在使用TypeScript,但我也尝试使用JS-没运气。

在屏幕截图中,我正在WSL中运行我的应用程序,但是我也尝试在Windows和macOS上都进行本机运行。

有什么想法吗?谢谢!

Quick Fix Does not suggest to import

解决方法

看来,直到最近(在TypeScript 4发行版之前),使自动导入工作的唯一方法是在项目中至少导入一次您需要的每个库(无论在哪里)。之后,VS Code应该开始从其中自动导入内容。

启动TS 4时,VS代码应该自动开始执行操作(更具体-在package.json中指定的所有库中自动包含),尽管我注意到它使用了错误的代码路径导入时-到/ dist /文件夹,而不是库公开的内容。结果,Node.js可能无法解析和执行它们。 I've created an issue here

请注意,这样才能正常工作

  • 确保您的VS Code使用TS 4.0.2或更高版本(如右下角所示,单击以进行更改)
  • 您可能需要将typescript.preferences.includePackageJsonAutoImports设置为on,因为它的导入列表超过10个依赖项-它可能/不会扫描它们。参见release notes for the details

最重要的是-为了使它能够正常工作,您仍然需要至少一次(手动)在代码中(任何地方)导入一个新的依赖项,然后VS Code自动导入将针对该库开始工作