VSCode - Lerna - Машинопись - Навигация по коду Monorepo - PullRequest
0 голосов
/ 31 января 2019

У нас есть монорепо для всех наших связанных с Javascript SDK здесь, в Sentry.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 в средах monorepo?

Любая помощь приветствуется, и я надеюсь, что в ней нет ничего очевидного, я просто пропустил, спасибо!

1 Ответ

0 голосов
/ 16 апреля 2019

Установите declarationMap на true, чтобы генерировать карту источника для каждого соответствующего файла .d.ts.Это позволит IDE перейти к правильной строке в файле реализации.

Документация по TS :

Мы также добавили поддержку карт источника объявлений.Если вы включите --declarationMap, вы сможете использовать функции редактора, такие как «Перейти к определению» и «Переименовать», чтобы прозрачно перемещаться и редактировать код за пределами проекта в поддерживаемых редакторах.

...