вторник, сентября 12, 2006

Как быстро вставлять часто используемые блоки кода

К примеру, часто при создании ASP.NET контролов я создаю свойство, которое хранит значение во ViewState. Код всегда выглядит примерно одинаково:

   14     public int ShowsCount

   15     {

   16         get

   17         {

   18             return ViewState["ShowsCount"] == null ? 0 : (int) ViewState["ShowsCount"];

   19         }

   20         set

   21         {

   22             ViewState["ShowsCount"] = value;

   23         }

   24     }

и отличается обычно только типом и названием свойства. Полез копаться в Visual Studio Code Snippets, но почему-то в моей "студии" никак не могу найти пункт меню Tools/Code Snippets Manager. Так же оказалось, что ReSharper'овский IntelliSense не поддерживает стандартные Code Snippets, он их просто не показывает в списке. Зато у него имеется собственный аналог - Live Template.

Новый Live Template создается за минуту. Достаточно выделить нужный кусок кода (тот что показан выше) и выбрать пункт меню ReSharper/Code/Live Template from Selection... В диалоге вводим абревиатуру ("propvs"), описание ("public свойство, использующее ViewState"). Потом в поле с кодом, заменяем тип, имя и значение по умолчанию на макросы $type$, $name$, $defaultvalue$ соответственно. Жмем Finish.

Теперь, что бы создать свойство, которое использует ViewState для хранения значения, достаточно набрать в редакторе propvs, и нажать Tab. После этого Вам предложат заменить макросы реальными значениями и свойство готово.

 

Update: разобрался как показать пункт меню Tools/Code Snippets Manager. Нужно воспользоваться командой Tools/Customize, Rearrange Commands...