Руководство. Создание первого расширения: Hello World

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

В процессе вы узнаете, как:

В этом примере вы используете Visual C# для добавления пользовательской кнопки меню с именем "Say Hello World!", которая выглядит следующим образом:

Screenshot showing a custom menu command.

Примечание.

Эта статья относится к Visual Studio в Windows. Информацию о Visual Studio для Mac см. в статье Пошаговое руководство по расширяемости в Visual Studio для Mac.

Необходимые компоненты

Перед началом работы убедитесь, что вы установили рабочую нагрузку разработки расширений Visual Studio, которая включает шаблон VSIX и пример кода.

Примечание.

Для создания проекта расширения Visual Studio можно использовать любой выпуск Visual Studio (Community, Professional или Enterprise).

Создание проекта расширения

  1. В меню Файл выберите пункт Создать>Проект. Найдите vsix и выберите проект VSIX на C# и далее.

  2. Введите "HelloWorld" в поле Имя проекта и нажмите Создать.

Screenshot showing creating a new VSIX project.

Теперь проект HelloWorld должен появиться в обозревателе решений.

Добавление пользовательской команды

  1. Если выбрать файл манифеста .vsixmanifest , можно увидеть, какие параметры можно изменить, например описание, автор и версия.

  2. Щелкните проект (а не решение) правой кнопкой мыши. В контекстном меню выберите Добавить, а затем Создать элемент.

  3. Выберите раздел Расширяемость, а затем выберите пункт Команда.

  4. Внизу, в поле Имя, введите имя файла, например Command.cs.

Screenshot showing creating a custom command.

Теперь ваша новая команда отображается в обозревателе решений. На узле "Ресурсы" можно найти другие файлы, связанные с командой. Например, если вы хотите изменить образ, здесь будет находиться PNG-файл.

Изменение исходного кода

На этом этапе текст команды и кнопки автоматически генерируются и не являются интересными. Если вы хотите внести изменения, можно изменить VSCT-файл и CS-файл.

  • VSCT-файл позволяет переименовать команды и определить, где они идут в командной системе Visual Studio. При изучении VSCT-файла обратите внимание на комментарии, объясняющие, что каждый раздел элементов управления кодом VSCT.

  • В CS-файле можно определять действия, например обработчик щелчка мыши.

  1. В Обозреватель решений найдите VSCT-файл расширения VSPackage. В этом случае это называется HelloWorldPackage.vsct.

  2. Измените значение параметра 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>
      ...
    
  3. Вернитесь в обозреватель решений и найдите файл 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!.

Screenshot showing that the custom command displays a message box.

В этом случае вы увидите выходные данные из новой пользовательской команды в центре экрана, которое дает сообщение Hello World!

Следующие шаги

Теперь, после знакомства с основами работы с расширяемостью Visual Studio, вы можете продолжить обучение по следующим ссылкам.