Программирование >>  Автоматически обновляемые приложения 

1 ... 21 22 23 [ 24 ] 25 26 27 ... 170


<:xi:.l . О encodings iJtf-e ?>

I .Aut!: r>author<Aatror>

: :h r-r--shortcur</i-:ort-i7>

j <,:t-:-: ::/ i.pt ior.vdescription<Dezc: : ..c::>

<c ь . t: yi:: с>Su2:rcundsWii:h</СП 1 с !..: v;:- -:> j </Нело:е.с>

<De X г% u 1 t.>value< L-zfa л 1 r > < p ;, p : .y;; > - s. . r > ] } >

Рис. 4.9. Заготовка для фрагмента кода

Поля Title (название фрагмента кода), Author (автор фрагмента), shortcut (ярлык) и Description (описание) говорят сами за себя, поэтому не будем подробно на них останавливаться. Содержимое тегов заслуживает отдельного разговора, поэтому разберем примеры.

Основной код находится в теге < [cdata[ .. . ] ] > (листинг 4.7), который, в свою очередь, находится внутри тега <code>. Поля, которые должны меняться пользователями, необходимо окружить символами доллара ($). В нашем примере для свободной замены пользователями фрагмента кода предусмотрены три текстовых поля (литерала): StrmReader, FilePath И Line. Они находятся в разделе cdata и окружены знаками $. Кроме того, все текстовые константы должны быть определены в элементе <Deciarations>. Каадой из них дается идентификатор и дополнительное значение по умолчанию.

Когда вы выберете эту команду, то шаблон файла фрагмента кода будет вставлен автоматически в редактор кода (рис. 4.9).



; Листинг 4 Пример фрагмента кода

<?xml version= l.О encoding= utf-8 ?> <CodeSnippet ForTnat= l. О . О

xmlns= http: schemas.microsoft.com/VisualStudio/2005/CodeSnippet > <Header>

<Title>File Processing</Title> <Author>James Lau</Author> <Shortcut>fp</Shortcut>

<Description>Opens a file, does some processing,

and then closes the file.</Description> <SnippetTypes>

<SnippetType>SurroundsWith</SnippetType> <SnippetType>Expansion</SnippetType> </SnippetTypes> </Header> <Snippet>

<Declarations> <Literal>

<ID>St nnReader</1D> <Default>strTT\Reader</Default> </Literal> <Literal>

<ID>FilePath</ID> <Default>fPath</Default> </Literal> <Literal>

<ID>Line</ID>

<Default>strLine</Default> </Literal> </Declarations> <Code Language= CSharp >

Кроме того, в коде имеется литерал, который не был определен: $end$. Это специальный литерал, указывающий расположение курсора после нажатия пользователем клавиши <Enter>, когда все поля фрагмента кода заполнены. Существует еще один специальный литерал, который здесь не используется: $seiected$. Он применяется только для фрагментов кода типа surroundswith. Данный литерал определяет место размещения выбранного фрагмента кода при вставке этого фрагмента с помощью команды Surround With....



catch (lOException ioex) Handle exception inally

$StrmReader$.Close();

]]>

</Code> </Snippet> </CodeSnippet>

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

Visual Studio 2008 имеет в своем составе множество встроенных фрагментов кода. Найти относящиеся к С# фрагменты можно в папке C:\Program Files\Microsoft Visual Studio 9.0\VC#\Snippets\1033.

Распространение собственных фрагментов кода

Если вы написали свой полезный фрагмент кода и хотите поделиться с человечеством, то просто найдите свой файл с расширением snippet, заархивируйте его архиватором типа WinZip или WinRAR и выложите его на своем сайте. Теперь любой желающий может скачать вашу разработку и интегрировать ее в свой пакет Visual Studio 2008. Для этой цели нужно воспользоваться менеджером фрагментов кода (Code Snippets Manager). Чтобы открыть менед-

<![CDATA[ StreamReader $StrTT\Reader$ = null; try {

$StrmReader$ = new StreamReader($FilePath$); string $Line$;

while (($Line$ = $StrmReader$.ReadLine()) != null) {

Perform some processing

$selected$

$end$



1 ... 21 22 23 [ 24 ] 25 26 27 ... 170

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика