Вчера ставил расширение на VS Code, которое поддерживается коллегами для внутреннего удобства разработки.
Простой плагин, который раскрашивает brief-файлы (корпоративный стандарт для описания контрактов по типу protobuf, подробнее почитать здесь), подкинул очередную задачку.
В Больших компаниях принято писать документацию. Хорошо, когда она есть, но важнее, чтобы она находилась в актуальном состоянии, иначе никто ей не будет пользоваться.
К плагину прилагалась простая инструкция:
- Скачать
vsix
файл:
wget http://<extension-directory>.vsix
Добавить его в VSCode: Extensions -> … -> Install from VSIX -> .vsix
Либо через терминал:
code --install-extension <extension-directory>.vsix
Какое же мое разочарование было, когда я споткнулся на первом же шаге. Файл не существовал по нужному пути.
Первым же порывом было - написать в чат Платформы, чтобы уточнить, а “живой” ли вообще плагин? Но уже набирая сообщение, я осекся. Проверил историю коммитов и заметил, что есть относительно свежие, из чего я сделал вывод, что разработка не заброшена.
Далее рассудил так: если у меня есть репозиторий, куда активно контрибьютят, но нет самого vsix-файла (не важно, что я про такие файлы впервые слышу), который могу поставить как расширение, то что мне мешает собрать исходный код в такой файл?
Порадовавшись этой нехитрой мысли я переключился с проблемы “отсутствует файл”, на задачу “как собрать файл”. Через секунду я прочитал, что существует vsce - VS Code Extension Manager, с помощью которого я могу собрать нужный мне vsix. Ставим его:
npm install -g vsce
Далее переходим в директорию с исходником расширения (где живет наш плагин) и упаковываем в нужный vsix:
vsce package
Теперь нужно установить расширение в IDE. Используем следующую команду:
code --install-extension <extension-directory>.vsix
И, если с vsce все было просто, то следующим вызовом для меня как относительно нового пользователя VS Code стала команда code –instal-extension, так как просто в консоли она не выполнялась. Но спустя пару минут, разобравшись, что это CLI, уже устанавливал и ее.
В пределах 5-10 минут мне удалось: разобраться в проблеме, узнать как собирать vsix-файлы с помощью менеджера расширений vsce, устанавливать их через CLI и бонусом, пока все устанавливалось, подробно почитал про проект GNU Wget (небольшой тизер: Wget2 на подходе).
Вероятно, именно из-за подобных задач мне и нравится разработка - заставляет проанализировать искомую проблему и пойти не в лоб, а попытаться найти другие пути решения.
Рекомендую, когда прямолинейный подход не сработал, остановиться, записать вопрос и найти альтернативное решение, спустившись на уровень ниже. Так вы не только расширите свою экспертизу, но очередной раз потренируетесь в системном подходе решения задач.
Читайте оригинальный пост и присоединяйтесь к обсуждению в Телеграм: @time2code