Вам не нужно ничего делать.Пакетирование происходит автоматически.Папка node_modules
вашего проекта сопровождает расширение при его развертывании.
Для доступа к ресурсам в этих модулях вам необходимо знать, где они находятся.Ответ заключается в том, что они развернуты в папке node_modules
, расположенной непосредственно на пути расширения.
Итак, как определить местоположение папки расширений во время выполнения?Вы можете использовать метод, описанный переменная местоположения расширений VSCode , но я не рекомендую его.Вместо этого сделайте это так:
let x = vscode.extensions.getExtension("dilcorp.groovyext");
if (!x) {
throw new Error("Cannot resolve extension. Has the name changed? " +
"It is defined by the publisher and the extension name " +
"which are defined in package.json`);
}
let stylePath = `${x.extensionPath}/node_modules/highlight.js/styles`;
В приведенном выше коде есть две части.Сначала мы получаем во время выполнения информацию о расширении, которое включает его абсолютный путь к файлу в виде свойства extensionPath
.
Во второй части используется тот факт, что node_modules нашего проекта расширения копируются в папку extensionPath.
Это работает в отладчике.