Intellij“查找用法”不适用于Lerna软件包

时间:2019-08-19 17:29:34

标签: javascript typescript intellij-idea npm lerna

我有一个Lerna的打字稿monorepo设置。我正在观察“使用习惯”功能的错误(或者我的配置有误)。

我有一个GitHub存储库,可在此处重现该问题:  https://github.com/mcclaskc/IntellijLernaExample

假设我有一个带有函数a()的程序包A和一个包含B作为package.json依赖项的程序包B,并且使用了a()

在Intellij中,在a()的声明中,如果我尝试“查找a()的用法”,则没有结果。但是,如果我在B内部,请单击a()的用法,然后尝试“转到a()的声明”,它将起作用,并导航到A包中的声明。

由于“转到声明”有效,所以我知道Intellij知道一个方向的依赖关系,我只需要弄清楚如何使它在另一个“查找用法”方向上知道。

我已经尝试弄乱“查找用法”选项范围,但无济于事。

1 个答案:

答案 0 :(得分:1)

问题是您为Lerna软件包创建了单独的IDEA模块。跨IDEA模块边界找不到JavaScript / Typescript用法-这是一个已知限制。您可以导航到导出的函数,因为它们是显式导入的,并且可以通过导入路径找到,但是在子模块中搜索导出的函数用法将不会返回任何结果... 有一项功能要求支持多模块应用WEB-37907,请随时投票。现在,我只能建议将所有Typescript代码保留在单个IDEA模块中