Snipsnap Templates - это инструмент для разработчиков, который позволяет создавать сode templates и использовать их в VS Code Extension.
Я очень не люблю тратить время на рутинные задачи, а также запоминать вещи, в которых мало смысла. Занимаясь бэкэндом, фронтендом или девопс задачами, я постоянно сталкиваюсь с кучей бойлерплейт кода. Например, работая с React - каждый новый компонент обычно находится в своей папке, внути которой будет ряд файлов вроде index.js, componentName.jsx, componentName.css. Все они должны иметь какой-то минимальный бойлеплейт код.
Типичные решения:
- создать все руками
- создать руками файлы / папки, но потом заполнить их с помощью сниппетов
- скопировать другой компонент и убрать все ненужное
Все варианты для меня кажутся крайне не продуктивными, поэтому мы с командной сделали Snipsnap Templates.
С помощью Cloud UI вы можете создать шаблоны папок/файлов и прокачать их с помощью handlebars переменных и user prompts.
User prompts - набор вопросов, которые extension спросит у пользователя при попытке создания шаблона, а значения запишет в переменные, которые можно использовать на уровне шаблонов следующим образом {{variableName}}.
На начальном этапе мы сделали поддежку text conversion хелперов:
- toCamelCase
- toSnakeCase
- toKebabCase
- toUpperCase
- toLowerCase
- toPascalCase
Сферы применения
Kubernetes, Docker, React, CI/CD, Webinars, Tailwind, PHP, Vue, Angular, Express, Koa, Graphql - посути любые технологии где приходится писать хоть какое-то количество бойлерплейт кода для созданя нового API ендпоинта, страницы, деплоймента и.т.д.
Для кого
Если вы разработчик или команда разработчиков, то с помощью этого инструмента вы не только сможете улучшить свою производительность, но и получить одназначно стандартизированную структуру/контент файлов для повседневных задач.
Фичи
- Шаринг. Можно создать группу шаблонов и расшарить все со своей командой
- Public marketplace. Можно сделать шабон публично доступным, чтобы любой мог склонировать его и использовать в качестве экзампла
Планы
Если получим позитивный фидбек от пользователй и увидим, что проект интересен массам, то у нас много планов касаемо того, как можно развивать продукт.
- CLI
- поддержка типов переменных
- интеграция с github
- поддержка intellij IDE
Становлюсь первый в очередь
Ого! Вы проделали большую работу! Круто! Также становлюсь в очередь за поддержкой Intellij)
Выглядит интересно. Рассматривая какой-нибудь TypeScript + React + Styled-components хочется чтобы можно было конфигурировать "динамические файлы" основываясь на бинарных ответах в prompts. Например, делаем template "React Component". Круто было бы иметь 3 последовательных promptа:
Можно конечно разные темплейты под это, но некоторые варианты будут пересекаться.
Хз, возможно будет применимо и в других случаях.
Очень круто! Давно уже в голове бродила мысль запилить такое самому, но руки как обычно так и не дошли. Буду пользоваться, отличная работа!
Очень жду поддержку jetbrains продуктов