Создание и использование фрагментов кода в Visual Studio 2005 - Встроенные фрагменты кода

ОГЛАВЛЕНИЕ

Встроенные фрагменты кода

Visual Studio 2005 обладает несколькими фрагментами кода, ориентированными на конкретный язык. Чтобы исследовать имеющиеся фрагменты кода, зайдите в меню Tools и выберите Code Snippet Manager (смотрите изображение внизу). Отсюда вы можете выбрать интересующий вас язык программирования - Visual Basic, Visual C#, Visual J# или XML - и затем перейти к доступным фрагментам. Visual C# содержит немалое количество фрагментов - набор реструктурирующих фрагментов наряду с простыми фрагментами кода управляющей логики и обычными образцами. Visual Basic обладает богатой библиотекой фрагментов кода, имеющей фрагменты для генерирования случайных чисел, для работы с файловой системой, выполнения обычных математических вычислений, шифрования и дешифрования строк, преобразования типа и т.д.


Для каждого фрагмента кода диспетчер (Code Snippet Manager) показывает описание, ярлык и автора. В дополнение, расположение фрагментов показано в текстовом поле Location. Как мы позже убедимся, каждый фрагмент на самом деле является файлом,основанным на XML с расширением .snippet. Поскольку каждый фрагмент кода является индивидуальным текстовым файлом, вы с легкостью можете изменить существующий фрагмент, добавить свои либо импортировать чужие. Но перед тем как окунуться в создание и обмен фрагментами, давайте для начала рассмотрим способ хранения фрагментов в файловой системе, а также используемую разметку.

Как работает фрагмент кода?

Фрагмент кода - это файл с XML-форматированием в файловой системе, который имеет расширение .snippet, а также зарегистрированный через Диспетчер фрагментов кода (Code Snippet Manager). Разметка .snippet файла предоставляет такую мета-дату про фрагмент кода, как описание, ярлык, заголовок, необходимые ссылки (к сожалению, поддерживается только фрагментами кода Visual Basic) и т.д., наряду с содержимым фрагмента, которое является кодом, внедренным в текст при применении фрагмента. Вы можете исследовать фрагменты кода, предоставляемые вместе с Visual Studio 2005, открыв каталог, указанный в поле Location диспетчера (по умолчанию, фрагменты кода хранятся в C:\Program Files\Microsoft Visual Studio 8\LANGUAGE\Snippets\1033\ ).

К примеру, фрагмент кода C# prop , который мы рассматривали в данной статье, обладает следующей разметкой (кое-что было вырезано для краткости):

<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippets  xmlns="...">
   <CodeSnippet Format="1.0.0">
      <Header>
         <Title>prop</Title>
         <Shortcut>prop</Shortcut>
         <Description>Code snippet for property...</Description>
         <Author>Microsoft Corporation</Author>
         <SnippetTypes>
            <SnippetType>Expansion</SnippetType>
         </SnippetTypes>
      </Header>
      <Snippet>
         <Declarations>
            ...
         </Declarations>
         <Code Language="csharp"><![CDATA[private $type$ $field$;

   public $type$ $property$
   {
      get { return $field$;}
      set { $field$ = value;}
   }
   $end$]]>
         </Code>
      </Snippet>
   </CodeSnippet>
</CodeSnippets>

Фрагмент содержит две основные части: <Header> и <Snippet>. В <Header> вы найдете мета-данные фрагмента, заголовок, ярлык, тип, описание и т.д. В <Snippet> необходима секция <Code>, которая содержит текст, внедряемый фрагментом. Опциональная секция <Declarations> используется для определения заменяемой секции во фрагменте. Заменяемые секции обозначены $name в секции <Code> и являются секциями, отображенными зеленым и настраиваемыми разработчиком при помощи фрагмента кода.