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 跳转到实现文件中的正确行。
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.
我们在 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 跳转到实现文件中的正确行。
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.