VSCode - Lerna - Typescript - Monorepo 代码导航

VSCode - Lerna - Typescript - Monorepo Code Navigation

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

如果您克隆此存储库,请使用 yarn install 然后打开任何文件,如 packages/node/src/backend.ts 并尝试跳转到另一个包的实现,如位于 utils 包中的函数 limitObjectDepthToSize

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

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

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

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

感谢任何帮助,我希望我没有遗漏任何明显的问题,谢谢!

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

TS Documentation:

We’ve also added support for declaration source maps. If you enable --declarationMap, you’ll be able to use editor features like “Go to Definition” and Rename to transparently navigate and edit code across project boundaries in supported editors.