VSCode - Lerna - 打字稿 - Monorepo代码导航

问题描述 投票:6回答:1

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

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

首先,如果您之前没有构建项目(具有所有类型定义),则会弹出以下错误:

enter image description here

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

enter image description here

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

或者这是单核环境中VSCode的当前已知限制?

任何帮助都表示赞赏,我希望我错过的并不是很明显,谢谢!

typescript visual-studio-code lerna monorepo
1个回答
4
投票

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

TS Documentation

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

© www.soinside.com 2019 - 2024. All rights reserved.