Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Фрагменты кода можно передать другим пользователям для установки на других компьютерах с помощью диспетчера фрагментов кода. Однако если нужно распространить несколько фрагментов или распространить фрагмент более широко, файл фрагмента можно включить в расширение Visual Studio. Пользователи Visual Studio могут установить это расширение, чтобы получить фрагменты кода.
Необходимые компоненты
Установите рабочую нагрузку Разработка расширений Visual Studio, чтобы получить доступ к шаблонам проектов Проект VSIX.

Настройка структуры каталогов расширений
В этой процедуре вы будете использовать тот же фрагмент кода Hello World, который создан в Пошаговом руководстве. Создание фрагмента кода. Эта статья содержит XML-код фрагмента, поэтому вам не придется возвращаться и создавать его.
Создайте проект из шаблона пустого проекта VSIX и присвойте проекту
TestSnippetимя.В проекте TestSnippet добавьте новый XML-файл и вызовите его
VBCodeSnippet.snippet(фрагмент кода — это новое расширение файла). Замените содержимое следующим кодом XML:<?xml version="1.0" encoding="utf-8"?> <CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> <CodeSnippet Format="1.0.0"> <Header> <Title>Hello World VB</Title> <Shortcut>HelloWorld</Shortcut> <Description>Inserts code</Description> <Author>MSIT</Author> <SnippetTypes> <SnippetType>Expansion</SnippetType> <SnippetType>SurroundsWith</SnippetType> </SnippetTypes> </Header> <Snippet> <Code Language="VB"> <![CDATA[Console.WriteLine("Hello, World!")]]> </Code> </Snippet> </CodeSnippet> </CodeSnippets>В обозревателе решений выберите узел проекта и добавьте папку с именем, которое должен иметь фрагмент в диспетчере фрагментов кода. В этом случае это имя HelloWorldVB.
Переместите файл SNIPPET в папку HelloWorldVB.
Выберите файл SNIPPET в обозревателе решений и установите в окне Свойства для свойства Действие сборки значение Содержимое, для свойства Копировать в выходной каталог — значение Всегда копировать, а для свойства Включить в VSIX — значение true.
Добавление файла PKGDEF
Добавьте в папку HelloWorldVB текстовый файл и присвойте ему имя HelloWorldVB.pkgdef. Этот файл служит для добавления ряда разделов в реестр. Дополнительные сведения см. в разделе "Просмотр реестра" для фрагмента кода (необязательно).
Добавьте в файл указанные ниже строки.
// Visual Basic [$RootKey$\Languages\CodeExpansions\Basic\Paths] "HelloWorldVB"="$PackageFolder$"Если вы изучите этот ключ, вы увидите, как указать языки, отличные от Visual Basic.
Выберите в обозревателе решений файл PKGDEF и в окне Свойства проследите за тем, чтобы были заданы следующие свойства:
- Действие сборки — Содержимое;
- Копировать в выходной каталог — Всегда копировать;
- Включить в VSIX — true.
Добавьте файл PKGDEF в качестве ресурса в манифест VSIX. В файле source.extension.vsixmanifest перейдите на вкладку Активы и нажмите Создать.
В диалоговом окне Добавить новый актив выберите для параметра Тип значение Microsoft.VisualStudio.VsPackage, для параметра Источник — значение Файл в файловой системе, а для параметра Путь — значение HelloWorldVB.pkgdef (выберите его в раскрывающемся списке). Нажмите кнопку "ОК" , чтобы сохранить этот новый ресурс.
Регистрация фрагмента кода
Перейдите к диспетчеру фрагментов кода инструментов>и задайте для языка значение "Базовый".
Выберите "Добавить...", перейдите в папку HelloWorldVB каталога решения и выберите "Выбрать папку".
HelloWorldVB теперь является одной из папок фрагмента кода. Разверните папку, чтобы просмотреть фрагмент кода HelloWorldVB . Нажмите кнопку "ОК ", чтобы сохранить новую добавленную папку.
Тестирование фрагмента кода
Теперь можно проверить, правильно ли работает фрагмент, в экспериментальном экземпляре Visual Studio. Экспериментальный экземпляр — это вторая копия Visual Studio, отличная от той, в которой вы пишете код. Он позволяет работать с расширением, не оказывая влияния на среду разработки.
Выполните сборку решения и запустите отладку.
Откроется второй экземпляр Visual Studio.
Протестируйте фрагмент кода. В экспериментальном экземпляре откройте проект Visual Basic, а затем откройте один из файлов кода. Поместите курсор в код, щелкните правой кнопкой мыши и в контекстном меню выберите фрагмент кода, а затем вставьте фрагмент кода.
Дважды щелкните папку HelloWorldVB . Появится всплывющий фрагмент вставки: HelloWorldVB с раскрывающимся списком HelloWorldVB>. Дважды щелкните раскрывающийся список HelloWorldVB .
В файл кода добавляется следующая строка:
Console.WriteLine("Hello, World!")
Просмотр реестра для фрагмента кода (необязательно)
PKGDEF-файл используется для добавления определенных разделов в реестр. После регистрации фрагмента кода, если вам нужно просмотреть разделы реестра в кусте частного реестра, их можно найти в следующем подразделе:
Visual Studio 2022: HKEY_USERS\IsolatedHiveName\Software\Microsoft\VisualStudio\17.0_configID\Languages\CodeExpansions\Basic\Paths
Visual Studio 2019: HKEY_USERS\IsolatedHiveName\Software\Microsoft\VisualStudio\16.0_configID\Languages\CodeExpansions\Basic\Paths
Чтобы просмотреть разделы реестра в этом расположении, сначала закройте Visual Studio, откройте редактор реестра, а затем загрузите куст частного реестра в HKEY_USERS.
Внимание
Если вы проверка реестр, убедитесь, что вы выгрузите куст частного реестра перед запуском Visual Studio.
Например, разделы реестра могут отображаться, как показано здесь.
