Создание и использование фрагментов кода в 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> и являются секциями, отображенными зеленым и настраиваемыми разработчиком при помощи фрагмента кода.