13

我们在 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 环境中的限制?

感谢您提供任何帮助,我希望我刚刚错过的并不是很明显,谢谢!

4

1 回答 1

14

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

TS 文档

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

于 2019-04-16T19:21:37.160 回答