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

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

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

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

меню

XML файл

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

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

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 С# вверху сразу видно путь к папке

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

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

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

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

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

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

файл сниппет

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

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

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

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

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

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

Insert snippet

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

DateTime.Now

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

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

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

Похожие темы

c# DataGridView свойство ColumnCount Свойство ColumnCount элемента управления DataGridView Свойство ColumnCount элемента управления DataGridView обычно используется для решения следующих...
Как удалить раздел реестра, используя язык c#... Как удалить раздел реестра Windows, используя язык c# В этой статье продолжаем работать с реестром Windows программным путем, сегодня Вы узнаете, как...
WebBrowser основные свойства для работы с контенто... WebBrowser работа с контентом И так, html страница была полностью загружена в control webBrowser, и теперь можно переходить к обработке полученных да...
Как удалить параметр реестра Windows, используя яз... Как удалить параметр реестра Windows В этом уроке научимся удалять параметры реестра, используя язык c#. Параметры будем удалять, как по одиночке, та...
Создание первого приложения на языке c#. Часть вто... Создание первого приложения на языке c#. Часть вторая. В предыдущей статье мы выбрали шаблон и имя для нашего проекта, после чего нажали кнопку OK. В...