【问题标题】:VSCode - Lerna - Typescript - Monorepo Code NavigationVSCode - Lerna - Typescript - Monorepo 代码导航
【发布时间】:2019-01-31 11:43:34
【问题描述】:

我们在 Sentry 中为所有与 Javascript 相关的 SDK 提供了一个 monorepo。 https://github.com/getsentry/sentry-javascript

如果您克隆此 repo,请正确设置它 yarn install 然后打开像packages/node/src/backend.ts 这样的任何文件,并尝试跳转到另一个包的实现,比如limitObjectDepthToSize 函数,它位于utils 包中。

首先,如果您之前没有构建项目(所有类型定义都已到位),则会弹出此错误:

但是即使你之前构建了所有东西,函数上的CMD+Click 现在总是跳转到构建的object.d.ts,而不是我真正想要的是它跳转到可以在中找到的实现源文件 packages/utils/src/object.ts 而不是 /packages/utils/object.d.ts

我现在的问题是,我们的设置是否错误,VSCode 或tsconfig.json 中是否有任何选项可以修复此代码导航?

或者这是目前已知的 VSCode 在 monorepo 环境中的限制?

感谢任何帮助,我希望这不是我刚刚错过的显而易见的事情,谢谢!

【问题讨论】:

    标签: typescript visual-studio-code lerna monorepo


    【解决方案1】:

    declarationMap 设置为true 为每个对应的“.d.ts”文件生成一个源映射。它将允许 IDE 在实现文件中跳转到正确的行。

    TS Documentation:

    我们还添加了对声明源映射的支持。如果您启用 --declarationMap,您将能够使用“转到定义”和重命名等编辑器功能在支持的编辑器中跨项目边界透明地导航和编辑代码。

    【讨论】:

    • 奥斯卡颁奖给 ^ 这个人。非常感谢!
    猜你喜欢
    • 2019-10-24
    • 1970-01-01
    • 1970-01-01
    • 2020-01-12
    • 1970-01-01
    • 1970-01-01
    • 2019-12-07
    • 1970-01-01
    • 2020-07-30
    相关资源
    最近更新 更多