Как сделать сниппет для c#

Как сделать сниппет (snippet)

Готовые сниппеты программы Visual Studio позволяют уменьшить время при написании кода, но как сделать сниппет самому? Очень просто. В этом уроке будет рассмотрен простой пример создания файла снипета.

Создание сниппет файла

Для начала создадим пустой XML файл, в котором будем писать наш код.

File -> New -> File -> Web -> Xml File

меню

XML файл

Теперь скопируйте и вставьте строку указанную ниже

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

Должно получиться вот так

CodeSnippets

Элементы и атрибуты снипет файла

Любой элемент начинается со знака меньше (<), введите его. После чего должен появиться список, если его нет, нажмите сами сочетание клавиш: Ctrl+пробел. В списке выберите элемент CodeSnippet.

CodeSnippet

Для того, чтобы узнать есть ли у выбранного элемента атрибуты нажмите один раз пробел. В нашем случае есть один атрибут Format.

сниппет Attribute Format

У одного элемента может быть и несколько атрибутов.

Если имя атрибута не появилось, нажмите сами клавишу F, затем Ctrl+пробел и выберите в списке пункт Format.

Format &#8212; является обязательным атрибутом для элемента CodeSnippet, в нём мы указываем версию фрагмента кода сниппет файла. Напишем &#171;1.0.0&#187;.

Закрываем элемент знаком больше (>), после чего должен автоматически подставиться закрывающий тег.

В результате должно получиться следующее

файл сниппет

Таким же путем мы будем добавлять все остальные элементы и атрибуты в нашем файле.

элемент Header

У элемента CodeSnippet, есть два обязательных дочерних элемента: Header и Snippet. Рассмотрим первый из них, для этого добавим в наш файл новый элемент Header.

снипет элемент Header

Данный элемент содержит дочерние элементы, в которых мы указываем следующие параметры: автор, описание, короткое имя снипета(shortcut), видимость, название и так далее. Хотя и кажется, что параметров много, обязательным же является только элемент Title, в котором мы указываем название нашего снипета, остальные указываете по желанию, но в качестве примера добавим каждый из них в наш файл.

элементы тега Header

Элемент shortcut содержит короткую запись для вставки сниппета, то есть если Вы здесь укажете, к примеру, букву &#171;q&#187;, то ваш шаблон снипета будет вызываться при нажатии данной клавиши &#171;q&#187;. Поэтому данный пункт необходимо заполнять осмысленно.

В конце статьи будет приведен полный исходный код файла.

Элемент Code

Переходим к следующему обязательному дочернему элементу &#8212; Snippet, который содержит 4 дочерних элемента. 3 необязательных элемента: Declarations, Imports, References и 1 обязательный элемент: Code, с которым мы будем работать.

Элемент Code содержит 3 атрибута: 2 необязательных: Delimiter и Kind и 1 обязательный Language в нём указываем язык фрагмента кода. Выбираем язык CSharp.

snippet select Language

Теперь добавляем дочерний элемент <![CDATA[]]> , внутри квадратных скобок которого, мы будем помещать наш код для вставки.

Наш сниппет будет выводить текущее время и содержать следующий код для вставки: Console.WriteLine(DateTime.Now);

CDATA

Вот и всё, код написан, осталось лишь сохранить наш файл.

Сначала создадим на диске C папку по имени MySnippets.

Вы так же можете создать папку в любом другом месте и задать ей абсолютно любое имя.

Возвращаемся в Visual Studio, переходим в меню “File” &#8212; ”Сохранить как”. Обязательно измените, тип файла на .snippet и сохраните файл в папку MySnippets.

сохранить как (Save snippet as)

расширение файла .snippet

Хотя сниппет файл и имеет другое расширение, внутри он всё так же содержит структуру обычного XML файла. Если надо поправить снипет, Вы можете открыть файл в блокноте и внести изменения.

Code Snippet Manager

Перейдите в меню &#171;Tools&#187; и откройте &#171;Code Snippet Manager&#187;

Code Snippet Manager

Выберите язык &#171;Language&#187; &#8212; Visual C#

Location &#8212; здесь указаны все папки, которые содержат снипетты.

Например, Вы можете выбрать папку Visual С# вверху сразу видно путь к папке

C:\Program Files\Microsoft Visual Studio 10.0\VC#\Snippets\1033\

Заходите в неё, не забывайте только делать копию папки на всякий случай и можете править уже существующие сниппеты.

Нашей папки в менеджере пока что нет, давайте её добавим.

  • нажмите Add
  • Выбираем нашу папку MySnippets
  • нажимаем ОК

Теперь наша папка должна появиться в Code Snippet Manager.

Добавить папку со снипетами

Обязательно нажмите на плюс рядом с папкой и убедитесь, что она содержит файл сниппета, если его нет, то возможно файл имеет синтаксические ошибки и его надо переделать. Так же справа видно все те данные, которые мы указали в элементе Head: автор, описание, shortcut и так далее.

файл сниппет

Если Вы переделали файл, сохранили, а изменения не вступили в силу, то удалите существующую папку, используя кнопку Remove и снова добавьте её.

Убедитесь, что всё добавлено и нажимаем кнопку “OK”

Вставка сниппета

Снипет добавлен, осталось протестировать, как он работает.

Создадим новое приложение или откроем любое ранее созданное.

Напишем сокращенное имя нашего снипетта (shortcut) time

Insert snippet

После чего нажмите клавишу Tab два раза, shortcut превратился в код.

DateTime.Now

Запускаем приложение F5 и видим текущую дату и время. Снипет работает.

Предыдущая статья о том, как вставить сниппет.

<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/
2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Author>мимими</Author>
<Description>этот сниппет добавляет текущее время</Description>
<HelpUrl>ссылка на сайт автора</HelpUrl>
<Keywords>
<Keyword>время</Keyword>
</Keywords>
<Shortcut>time</Shortcut>
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
</SnippetTypes>
<Title>Текущее время</Title>
</Header>
<Snippet>
<Code Language="CSharp">
<![CDATA[Console.WriteLine(DateTime.Now);]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>

Читайте также:

Leave a Reply

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*