Я разрабатываю расширение VS Code (в TypeScript) с основной целью предоставить API для других расширений. Расширение не имеет пользовательских функций. Однако я не могу найти хорошо документированный способ предоставления типов другим расширениям, использующим этот API.
Я экспортирую API с помощью метода, указанного здесь: https://code.visualstudio.com/api/references/vscode-api#extensions
Я экспериментировал с использованием этого расширения в процессе разработки, и пока что единственный способ сохранить типы, который я нашел, - это вручную объявить интерфейсы в расширении потребителя и затем привести тип extension.exports
.
Одна из моих идей - создать пакет NPM, который будет обертывать vscode.extensions.getExtension(...)
, чтобы предоставить API в виде модуля и включать типы. Это нормально, но мне просто было интересно, не хватает ли мне чего-то, что позволило бы мне предоставлять типы более чистым способом.