Руководство. Создание первого расширения: Hello World
В этом примере Hello World пошагово показывается, как создать ваше первое расширение для Visual Studio. В этом учебнике показано, как добавить новую команду в Visual Studio.
В процессе вы узнаете, как:
- создание проекта расширения;
- добавление пользовательской команды;
- изменение исходного кода;
- Запустите его
В этом примере вы используете Visual C# для добавления пользовательской кнопки меню с именем "Say Hello World!", которая выглядит следующим образом:
Примечание.
Эта статья относится к Visual Studio в Windows. Информацию о Visual Studio для Mac см. в статье Пошаговое руководство по расширяемости в Visual Studio для Mac.
Необходимые компоненты
Перед началом работы убедитесь, что вы установили рабочую нагрузку разработки расширений Visual Studio, которая включает шаблон VSIX и пример кода.
Примечание.
Для создания проекта расширения Visual Studio можно использовать любой выпуск Visual Studio (Community, Professional или Enterprise).
Создание проекта расширения
В меню Файл выберите пункт Создать>Проект. Найдите vsix и выберите проект VSIX на C# и далее.
Введите "HelloWorld" в поле Имя проекта и нажмите Создать.
Теперь проект HelloWorld должен появиться в обозревателе решений.
Добавление пользовательской команды
Если выбрать файл манифеста
.vsixmanifest
, можно увидеть, какие параметры можно изменить, например описание, автор и версия.Щелкните проект (а не решение) правой кнопкой мыши. В контекстном меню выберите Добавить, а затем Создать элемент.
Выберите раздел Расширяемость, а затем выберите пункт Команда.
Внизу, в поле Имя, введите имя файла, например Command.cs.
Теперь ваша новая команда отображается в обозревателе решений. На узле "Ресурсы" можно найти другие файлы, связанные с командой. Например, если вы хотите изменить образ, здесь будет находиться PNG-файл.
Изменение исходного кода
На этом этапе текст команды и кнопки автоматически генерируются и не являются интересными. Если вы хотите внести изменения, можно изменить VSCT-файл и CS-файл.
VSCT-файл позволяет переименовать команды и определить, где они идут в командной системе Visual Studio. При изучении VSCT-файла обратите внимание на комментарии, объясняющие, что каждый раздел элементов управления кодом VSCT.
В CS-файле можно определять действия, например обработчик щелчка мыши.
В Обозреватель решений найдите VSCT-файл расширения VSPackage. В этом случае это называется HelloWorldPackage.vsct.
Измените значение параметра
ButtonText
наSay Hello World!
.... <Button guid="guidCommandPackageCmdSet" id="CommandId" priority="0x0100" type="Button"> <Parent guid="guidCommandPackageCmdSet" id="MyMenuGroup" /> <Icon guid="guidImages" id="bmpPic1" /> <Strings> <ButtonText>Say Hello World!</ButtonText> </Strings> </Button> ...
Вернитесь в обозреватель решений и найдите файл Command.cs. В методе
Execute
измените строкуmessage
сstring.Format(..)
наHello World!
.... private void Execute(object sender, EventArgs e) { ThreadHelper.ThrowIfNotOnUIThread(); string message = "Hello World!"; string title = "Command"; // Show a message box to prove we were here VsShellUtilities.ShowMessageBox( this.ServiceProvider, message, title, OLEMSGICON.OLEMSGICON_INFO, OLEMSGBUTTON.OLEMSGBUTTON_OK, OLEMSGDEFBUTTON.OLEMSGDEFBUTTON_FIRST); } ...
Не забудьте сохранить изменения в каждом файле.
Выполните команду.
Теперь можно запустить исходный код в экспериментальном экземпляре Visual Studio.
Шаг 1. Нажмите клавишу F5, чтобы выполнить команду Начать отладку. Эта команда выполняет сборку проекта и запускает отладчик, запуская новый экземпляр Visual Studio, который называется экспериментальным экземпляром.
Шаг 2. В меню Инструментыэкспериментального экземпляра выберите Say Hello World!.
В этом случае вы увидите выходные данные из новой пользовательской команды в центре экрана, которое дает сообщение Hello World!
Следующие шаги
Теперь, после знакомства с основами работы с расширяемостью Visual Studio, вы можете продолжить обучение по следующим ссылкам.
- Начало разработки расширений Visual Studio — примеры, учебники и публикация расширения
- Новые возможности пакета SDK для Visual Studio 2017 — новые функции расширяемости в Visual Studio 2017
- Новые возможности пакета SDK для Visual Studio 2019 — новые функции расширяемости в Visual Studio 2019
- Компоненты пакета SDK для Visual Studio — подробные сведения о расширяемости Visual Studio