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

时间:2019-01-31 11:43:34

标签: typescript visual-studio-code lerna monorepo

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

如果克隆此存储库,请使用 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的局限性吗?

感谢任何帮助,希望我没有错过任何真正明显的事情,谢谢!

1 个答案:

答案 0 :(得分:3)

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

  

TS Documentation

     

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