Плагин для автоматической генерации c# кода - CRUD'а с файлом контроллера и комментариев на основе выбранной сущности.
Включает генерацию валидатора с правилами .NotEmpty()
для полей типа string
и IsInEnum()
для полей типа перечислений сущности.
Сгенерированный CRUD содержит комментарии, взятые из summaries сущности и её полей.
Есть поддержка для legacy-проектов, в контроллерах которых используются ControllerHelper.GetResultWithErrorAsync()
Создаёт Vm и Dto подмодели для каждого навигационного свойства, если в после открывающегося тэга summary
сущности стоит '@'
/// <summary>@
/// Навигационное свойство - список соглашений
/// </summary>
public List<Agreement> Agreements { get; } = new();
Не включает поля, помеченные знаком '!' у сущности, в результирующие Vm/Dto
/// <summary>!
/// Текстовое поле с информацией, которое не попадет в Vm
/// </summary>
public string Data { get; set; }
После генерации отметки очищаются
Копирует все имеющиеся комментарии к свойствам сущности в целевую или во все относящиеся к ней Vm/Dto. Добавляет комментарий к классу, если он отсутствует.
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt install python3.10
Установить python пакет (python >= 3.10) с помощью pipx
pipx install devnetgen
- Установить плагин
LivePlugin
by Dmitry Kandalov (иногда встаёт с 2 попытки ) - Добавить новый пользовательский Kotlin плагин через окно
LivePlugin
и скопировать в него код из LivePlugin IntelliJ/plugin.kts - Активировать пользовательский плагин в том же окне
ПКМ по сущности - NetGen: генерация
->
Сгенерировать CRUD
Сгенерировать CRUD на legacy controller
Сгенерировать <summary> в файле(-ах) Vm/Dto на основе сущности
dev-netgen all [path/to/entity.cs] --legacy-controller
dev-netgen summary [path/to/class_or_entity.cs]