Краткий ответ: да ... и нет.
Насколько я понимаю, в Visual Studio есть две разные категории кода автозаполнения:
- Фрагменты кода,Блоки кода, которые хранятся в файлах, заканчивающихся на .snippet.
- Классы и их методы
Фрагменты кода находятся в разных местах в файлах VS (мои находятся в совершенно другом месте, чем файлы Шнайдера).Это такие вещи, как Если заявления, и файлы могут быть открыты и отредактированы.Вы можете найти расположение папок / файлов в VS, выбрав Сервис> Диспетчер фрагментов кода> CSharp> Visual C #.Для меня это был C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Community \ VC # \ Snippets \ 1033 \ Visual C #.Если вы дважды щелкнете по одному из файлов, вы сможете открыть его в VS и отредактировать код, который представляет собой XML.Если вы хотите отредактировать заполненный код, найдите часть кода с «CDATA»:
<Code Language="csharp"><![CDATA[foreach ($type$ $identifier$ in $collection$)
{
$selected$ $end$
}]]>
Подробнее о синтаксисе в документации Microsoft вы можете прочитать подробнее.Но если вы хотите изменить другой тип материала автозаполнения - классы и их методы из встроенных библиотек - как можно лучше, нет никакого способа сделать это;тем не менее, существует обходной путь в создании собственных пользовательских фрагментов с помощью «ярлыков».Я нашел эту страницу от Microsoft, чтобы понять, как это сделать.Было несколько вещей, которые я должен был сделать по-другому, хотя по сравнению с документацией, поэтому я приведу объяснение здесь, используя пример MessageBox.Show на C #.
Перейдите в Файл> Создать> Файл
Когда появится окно нового файла, выберите файл XML.
Избавьтесь от строки кода по умолчанию и вставьте следующий код:
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>MessageBox.Show</Title>
<Shortcut>mess</Shortcut>
</Header>
<Snippet>
<References>
<Reference>
<Assembly>System.Windows.Forms.dll</Assembly>
</Reference>
</References>
<Imports>
<Import>
<Namespace>System.Windows.Forms</Namespace>
</Import>
</Imports>
<Code Language="CSharp">
<![CDATA[MessageBox.Show("");]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
Ярлык - это то, что вы будете вводить в своемкод проекта, чтобы вызвать этот фрагмент, чтобы прийти в качестве предложения.И после CDATA между скобками будет код, который автоматически заполняет вас.
Сохраните файл в папке «Документы» (это папка по умолчанию, где VS будет выглядеть позже).Назовите файл MessageBoxShow.snippet
Теперь перейдите в Инструменты> Диспетчер фрагментов кода
Выберите язык (Csharp) и нажмите кнопкуimport
Перейдите к файлу MessageBox.Snippet, который вы только что сохранили, и дважды щелкните по нему.Откроется диалоговое окно «Импорт фрагмента кода», в котором вам будет предложено выбрать, куда добавить фрагмент из вариантов на правой панели.Одним из вариантов должен быть мой фрагмент кода.Выберите его и нажмите «Готово»
Нажмите кнопку «ОК», чтобы закрыть диспетчер фрагментов кода.
Теперь вы сможете набирать «беспорядок» и иметь свой собственныйВведите фрагмент кода. Если нет, попробуйте закрыть и снова открыть свой проект или VS.В руководстве Microsoft сказано, что вы можете добавить ярлык позже, но я попробовал его таким образом, а VS не поднял его, поэтому мне пришлось заново создать файл с ярлыком вместо , а затем импортировать егои это сработало!
Конечно, вы можете использовать этот же метод для создания фрагмента и ярлыка для чего угодно.Вам просто нужно изменить текст в тегах заголовка, ярлыка и кода (CDATA) и сохранить его под другим именем файла.
Спасибо, Питер Шнайдер и Гил Сэнд за ваш вклад.Хотя вы не дали мне прямого решения моего вопроса, вы помогли мне найти то, что я искал.