разрабатывать и отлаживать сразу несколько расширений VSCode - PullRequest
0 голосов
/ 09 декабря 2018

В настоящее время я занимаюсь разработкой некоторых собственных расширений VSCode и хотел бы иметь отдельные дополнительные расширения, основанные на расширении ядра.В настоящее время их создание сопряжено с трудностями, и в настоящее время мне известны следующие варианты:

1) Разрабатывать расширения отдельно с отдельными экземплярами отладки

Недостатком здесь является то, что дорасширения публикуются или перемещаются в папку ~ / .vscode / extensions, два расширения не знают о версиях разработки друг для друга, что затрудняет отладку и быстрые добавления.

2) Переместите расширения в ~/.vscode/extensions folder

Недостатком этого является то, что происходит постоянная перезагрузка окна, иногда бывает сложно узнать, когда основной процесс полностью загрузил обновленную версию, и это определенно было менее удобно, чемопыт разработки одного расширения

3) Объединение двух расширений в одно расширение

Это облегчает отладку и быструю сборку функций, но идет вразрез с некоторыми из оригинальной модульности, на которую я надеялся, поэтому яне переключайтесь на этоs на данный момент.

Мой вопрос: есть ли лучший способ, которым люди нашли, чтобы достигнуть этого, кроме 3 вышеупомянутых вариантов, которые я знаю?Я немного прочесал Google, форумы и документы vscode, ища варианты или других людей, попавших в ту же ситуацию, но пока ничего не нашел.

Из документов VSCode кажется, что--extensionDevelopmentPath «может» как-то поддерживать несколько путей, но мне еще предстоит найти что-то убедительное или с примерами этого, чтобы заставить его работать.

1 Ответ

0 голосов
/ 15 февраля 2019

Один из методов, который я использовал, - это вставить расширение 'core' в качестве подмодуля в подкаталог, например, .dependencies.Не забудьте npm install расширение 'core' из его каталога.

Тогда я бы настроил ваше package.json на рабочем расширении, чтобы использовать следующие сценарии:

"scripts": {
   ...truncated for brevity...
   "compile:core": "tsc -p .dependencies/{dep-folder}"
   "compile:me": "tsc -p ./"
   "compile": "npm run compile:core && npm run compile:me"
   ...truncated for brevity...
}

Наконец,добавьте следующую строку в launch.json, которая переопределит папку расширений VSCode по умолчанию в вашей папке .dependencies.

"args": [
   "--extensions-dir=${workspaceFolder}/.dependencies"
   "--extensionDevelopmentPath=${workspaceFolder}"
]
...