我有一个Lerna的打字稿monorepo设置。我正在观察“使用习惯”功能的错误(或者我的配置有误)。
我有一个GitHub存储库,可在此处重现该问题: https://github.com/mcclaskc/IntellijLernaExample
假设我有一个带有函数a()
的程序包A和一个包含B作为package.json依赖项的程序包B,并且使用了a()
。
在Intellij中,在a()
的声明中,如果我尝试“查找a()
的用法”,则没有结果。但是,如果我在B内部,请单击a()
的用法,然后尝试“转到a()
的声明”,它将起作用,并导航到A包中的声明。
由于“转到声明”有效,所以我知道Intellij知道一个方向的依赖关系,我只需要弄清楚如何使它在另一个“查找用法”方向上知道。
我已经尝试弄乱“查找用法”选项范围,但无济于事。
答案 0 :(得分:1)
问题是您为Lerna软件包创建了单独的IDEA模块。跨IDEA模块边界找不到JavaScript / Typescript用法-这是一个已知限制。您可以导航到导出的函数,因为它们是显式导入的,并且可以通过导入路径找到,但是在子模块中搜索导出的函数用法将不会返回任何结果... 有一项功能要求支持多模块应用WEB-37907,请随时投票。现在,我只能建议将所有Typescript代码保留在单个IDEA模块中