TGViewer
Flutter. Много Flutter. Много @flutter_amiga · 2.96K subscribers
Post #349 2.14K
Hola, Amigos! На связи Михаил Чернецов, Flutter Dev в Amiga. Сегодня расскажем, как избавиться от написания шаблонного кода на проекте⚙️

Mason — набор для командной строки, позволяющий унифицировать процесс создания файлов с шаблонным кодом без надобности написания своих плагинов для IDE. Это ускоряет разработку и позволяет больше фокусироваться на написании фич.

Для установки выполним команду:

dart pub global activate mason_cli


Далее инициализируем Mason в нашем проекте:

mason init


Для создания первого шаблона, который в Mason называется brick, необходимо прописать команду:

mason add (имя шаблона)


Это создаст папку __bricks__/my_brick в корне проекта. Внутри можно настроить структуру, а для генерации классов — использовать переменные.

Шаблоны в Mason не ограничены один файлом. Можно создать шаблоны на генерацию кода для разных библиотек, репозитории, State Management и страницы для одной фичи.

vars:
name:
type: string
description: Name of your class


Переменные используются для подстановки значений в шаблоне, например, для именования файлов и классов. Чтобы сгенерировать шаблон, запустите:

mason make (имя шаблона)


Создадим сам шаблон. В папку brick помещаем необходимые файлы {{name.snakeCase()}}.dart. И в нем же создаем шаблон для этого файла:

class {{name.snakeCase()}} {
final String {{name.camelCase()}}

{{name.snakeCase()}}(
this.{{name.camelCase()}},
);
}


При вызове mason make с флагом –name my-class будет создан файл my_class.dart, содержащий код:

class MyClass{
final String myClass;

MyClass(
this.myClass,
);
}


Готовые шаблоны можно найти на сайте.

Делитесь в чате используете ли вы Mason в своих проектах? 🙂
  • 👍 5
  • ❤ 4
  • 🔥 3
More from @flutter_amiga
  1. Sep 9, 2026AI BOOST’26: выручка падает — что делают крупные digital-агентства и при чем здесь AI 22–2…
  2. Aug 18, 2026Hola, Amigos! На связи Павел Гершевич, Mobile Team Lead в Amiga. Сегодня посмотрим на чек-…
  3. Aug 13, 2026Hola, Amigos! Сегодня вышли Flutter 3.47 и Dart 3.13. Давайте вместе разберемся, что в них…
  4. Jul 31, 2026Дайджест июля Hola, Amigos! Собрали в одну подборку все полезные посты июля, которые вы мо…
  5. Jul 28, 2026Hola, Amigos! Сегодня посмотрим на один пакет, который может быть полезен в разработке - p…
  6. Jul 24, 2026Hola, Amigos! Сегодня мы вводим новую рубрику - обзоры правил для статического анализатора…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →