Visual Studio 中的自动导入代码仅在 TypeScript 中提供带有 Lerna 子包的绝对路径

Auto import in Visual Studio Code only offering absolute path with Lerna subpackages in TypeScript

出于某种原因,最近我的 Visual Studio 代码更改并开始只提供从子包级别的绝对导入与我的 Lerna 包,例如:

如您所见,自动导入建议文件的 @package/server/src/database 路径,而实际上它应该是 ../database,因为正在编辑的文件在同一个包中并且只是一个文件夹在包含我尝试使用的数据库变量的文件下方。

这是错误还是配置问题?

我已经在 Visual Studio 代码中为 TypeScript 设置了我的 Import Module Specifier 设置所有三个选项(自动、相对和绝对),其中 none 似乎有任何区别.

在Visual Studio代码中,菜单文件首选项设置用户设置,

"typescript.preferences.importModuleSpecifier": "relative"

对我来说效果很好。它导入

import { RegistrationComponent } from '../../abc-modules/registration/registration.component';

代替

import { RegistrationComponent } from 'app/abc-modules/registration/registration.component';

我从 Google 降落在这里,遇到了相反的问题。我的 Visual Studio 代码实例总是导入相对路径,即使它来自不同的 Lerna 包。

事实证明,我只是忘记将错误导入的包添加到我的消费包的 package.json 文件中。

现在,一切正常。

在Visual Studio代码中,菜单文件→首选项→设置→用户设置

通过 importModuleSpecifier 搜索