【问题标题】:Intellij "Find usages" doesn't work across Lerna packagesIntellij“查找用法”不适用于 Lerna 包
【发布时间】:2019-08-19 17:29:34
【问题描述】:

我有一个带有 Lerna 的 typescript monorepo 设置。我正在观察“查找用法”功能的错误(或我的错误配置)。

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

假设我有包 A,函数为 a(),包 B,在 package.json 中包含 A 作为依赖项,并使用 a()

在 Intellij 中,在 a() 的声明中,如果我尝试“查找”a() 的用法,则不会出现任何结果。但是,如果我在 B 内部,请单击 a() 的用法,然后尝试“转到声明”a(),它可以工作,并将我导航到 A 包中的声明。

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

我已经尝试弄乱 Find Usages 选项范围,但无济于事。

【问题讨论】:

标签: javascript typescript intellij-idea npm lerna


【解决方案1】:

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

【讨论】:

  • 好的,谢谢。我不确定是否可以切换到真实仓库中的单个模块,但我会尝试的。我确实赞成该功能请求,所以谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-08
  • 2019-04-26
  • 2017-02-26
  • 1970-01-01
相关资源
最近更新 更多