|
Программирование >> Автоматически обновляемые приложения
<: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$
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |