Publications / Настройка шаблонов ASP.NET MVC 5 Scaffolding в Visual Studio 2013

Habr

Habr.com is a unique online community for IT professionals. This platform hosts in-depth articles, industry news, and engaging discussions, serving as a key resource for tech enthusiasts, developers, and IT specialists looking to stay ahead in the rapidly evolving world of technology.


Monday, 25 November 2013



Наверное уже многие успели оценить удобство создания веб-приложений используя технологию скаффолдинга появившуюся еще в ASP.NET MVC 3. Прошло время, и вот, уже вышли Visual Studio 2013 и ASP.NET MVC 5. Возможности скаффолдинга стали больше: появилась поддержка bootstrap. асинхронных методов и многого другого.
В этой статье, я хочу рассказать о том, как можно расширить возможности этого замечательного инструмента.

Как известно, скаффолдинг в ASP.NET позволяет вам автоматически генерировать код в веб приложениях. Это позволяет проще и быстрее создавать рабочие прототипы приложений и экономит время, позволяя сосредоточится на основных задачах и не тратя его на рутинные операции.

 

 

Шаблоны


Прежде чем перейти собственно к настройке и расширению возможностей скаффолдинга, сначала необходимо понять на основе чего он работает. Вся генерация форм и кода происходит путем применения специальных шаблонов, которые задают правила и логику генерации кода. В качестве шаблонов в ASP.NET MVC используются T4-файлы.

 

 

 

 

Что же такое Т4?


Text Template Transformation Toolkit, более известные как Т4 представляют собой наборы шаблонов поставляемых с Visual Studio. Исходные Т4-файлы обычно хранятся с расширением.ТТ Шаблоны Т4 используется как инструментарий для автоматизации создания текстовых файлов с различными параметрами. Этими текстовыми файлами может быть по сути что угодно — разметка, набор стилей, блок кода и т.д. (XML, HTML, XAML, etc.) Т4 использует специальный формат шаблона, который может содержать .NET код и строковые литералы. После подготовки шаблоны анализируются специальной утилитой и компилируются в .NET код. В результате исполнения этого кода генерируются текстовые файлы.
Шаблоны Т4 применяются не только в ASP.NET MVC, но и в ADO.NET Entity Framework и других технологиях, где необходима автоматизация процесса генерации кода.

 

 

 

 

Настройка существующих шаблонов.


Шаблоны используемые в Visual Studio по умолчанию безусловно хороши, но зачастую их возможностей недостаточно для реализации всей логики, реализацию которой хотелось бы автоматизировать. В этой статье будет рассказано о том, как вы можете самостоятельно настраивать шаблоны, а также, о моем наборе шаблонов, которым я готов поделиться.

Обычно, после установки Visual studio 2013 стандартные шаблоны находятся в директории
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Extensions\Microsoft\Web\Mvc\Scaffolding\Templates



Если вы внесете изменения в один из этих шаблонов — то оно повлияет на все последующие проекты, где вы будете применять автоматическую генерации форм. Однако есть способ, который позволяет задавать шаблон генерации для каждого отдельного веб-приложения. Для этого, в структуре проекта, в корне, необходимо создать каталог CodeTemplates и скопировать в него шаблоны которые вы планируется изменить.

После этого, инструмент генерации форм будет использовать уже измененные шаблоны.

 

 

 

 

X.Scaffolding Templates


Не так давно я писал о проекте X.Scaffolding, который расширяет возможности веб приложени созданного на основе генерации страниц.
Сегодня я хочу предложить вниманию читателей дополнение к этому проекту — набор шаблонов X.Scaffolding.Templates, который доступен также через репозитории NuGet. Вы можете установить этот пакет, создать все необходимые формы, и безболезненно удалить его из проекта.
В чем отличие шаблонов из этого пакета?

 

 

 

  • Поддержка пейджинга (на основе библиотеки IPageList)
  • Измененные шаблоны с более плотной интеграцией с Bootstrap
  • Атрибут Authorize(true) для контроллеров по умолчанию

 

 

 

Присоединяйтесь!


Все желающие могут как ознакомится с шаблонами, так и предложить свои изменения.

GitHub
Проект доступен на GitHub.



NuGet
Установить пакет можно из репозитория NuGet:
Install-Package xscaffolding.templates
После создания всех необходимых форм, пакет можно удалить.

 

 

 

 

Полезная информация

 

 

 

 

 

 



По материалам Customizing ASP.NET MVC 5/Web API 2 Scaffolding Templates in Visual Studio 2013

 

 


Read publication