Как сделать сниппет (snippet)
Готовые сниппеты программы Visual Studio позволяют уменьшить время при написании кода, но как сделать сниппет самому? Очень просто. В этом уроке будет рассмотрен простой пример создания файла снипета.
Создание сниппет файла
Для начала создадим пустой XML файл, в котором будем писать наш код.
File -> New -> File -> Web -> Xml File
Теперь скопируйте и вставьте строку указанную ниже
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/ 2005/CodeSnippet"> </CodeSnippets>
Должно получиться вот так
Элементы и атрибуты снипет файла
Любой элемент начинается со знака меньше (<), введите его. После чего должен появиться список, если его нет, нажмите сами сочетание клавиш: Ctrl+пробел. В списке выберите элемент CodeSnippet.
Для того, чтобы узнать есть ли у выбранного элемента атрибуты нажмите один раз пробел. В нашем случае есть один атрибут Format.
У одного элемента может быть и несколько атрибутов.
Если имя атрибута не появилось, нажмите сами клавишу F, затем Ctrl+пробел и выберите в списке пункт Format.
Format — является обязательным атрибутом для элемента CodeSnippet, в нём мы указываем версию фрагмента кода сниппет файла. Напишем «1.0.0».
Закрываем элемент знаком больше (>), после чего должен автоматически подставиться закрывающий тег.
В результате должно получиться следующее
Таким же путем мы будем добавлять все остальные элементы и атрибуты в нашем файле.
элемент Header
У элемента CodeSnippet, есть два обязательных дочерних элемента: Header и Snippet. Рассмотрим первый из них, для этого добавим в наш файл новый элемент Header.
Данный элемент содержит дочерние элементы, в которых мы указываем следующие параметры: автор, описание, короткое имя снипета(shortcut), видимость, название и так далее. Хотя и кажется, что параметров много, обязательным же является только элемент Title, в котором мы указываем название нашего снипета, остальные указываете по желанию, но в качестве примера добавим каждый из них в наш файл.
Элемент shortcut содержит короткую запись для вставки сниппета, то есть если Вы здесь укажете, к примеру, букву «q», то ваш шаблон снипета будет вызываться при нажатии данной клавиши «q». Поэтому данный пункт необходимо заполнять осмысленно.
В конце статьи будет приведен полный исходный код файла.
Элемент Code
Переходим к следующему обязательному дочернему элементу — Snippet, который содержит 4 дочерних элемента. 3 необязательных элемента: Declarations, Imports, References и 1 обязательный элемент: Code, с которым мы будем работать.
Элемент Code содержит 3 атрибута: 2 необязательных: Delimiter и Kind и 1 обязательный Language в нём указываем язык фрагмента кода. Выбираем язык CSharp.
Теперь добавляем дочерний элемент <![CDATA[]]> , внутри квадратных скобок которого, мы будем помещать наш код для вставки.
Наш сниппет будет выводить текущее время и содержать следующий код для вставки: Console.WriteLine(DateTime.Now);
Вот и всё, код написан, осталось лишь сохранить наш файл.
Сначала создадим на диске C папку по имени MySnippets.
Вы так же можете создать папку в любом другом месте и задать ей абсолютно любое имя.
Возвращаемся в Visual Studio, переходим в меню “File” — ”Сохранить как”. Обязательно измените, тип файла на .snippet и сохраните файл в папку MySnippets.
Хотя сниппет файл и имеет другое расширение, внутри он всё так же содержит структуру обычного XML файла. Если надо поправить снипет, Вы можете открыть файл в блокноте и внести изменения.
Code Snippet Manager
Перейдите в меню «Tools» и откройте «Code Snippet Manager»
Выберите язык «Language» — Visual C#
Location — здесь указаны все папки, которые содержат снипетты.
Например, Вы можете выбрать папку Visual С# вверху сразу видно путь к папке
C:\Program Files\Microsoft Visual Studio 10.0\VC#\Snippets33\
Заходите в неё, не забывайте только делать копию папки на всякий случай и можете править уже существующие сниппеты.
Нашей папки в менеджере пока что нет, давайте её добавим.
- нажмите Add
- Выбираем нашу папку MySnippets
- нажимаем ОК
Теперь наша папка должна появиться в Code Snippet Manager.
Обязательно нажмите на плюс рядом с папкой и убедитесь, что она содержит файл сниппета, если его нет, то возможно файл имеет синтаксические ошибки и его надо переделать. Так же справа видно все те данные, которые мы указали в элементе Head: автор, описание, shortcut и так далее.
Если Вы переделали файл, сохранили, а изменения не вступили в силу, то удалите существующую папку, используя кнопку Remove и снова добавьте её.
Убедитесь, что всё добавлено и нажимаем кнопку “OK”
Вставка сниппета
Снипет добавлен, осталось протестировать, как он работает.
Создадим новое приложение или откроем любое ранее созданное.
Напишем сокращенное имя нашего снипетта (shortcut) time
После чего нажмите клавишу Tab два раза, shortcut превратился в код.
Запускаем приложение 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>
Читайте также: