Создайте расширение Visual Studio, чтобы добавить элемент на страницу истории Git.

Я работаю над созданием расширения Visual Studio 2019. Я хотел бы добавить дополнительную опцию в контекстное меню при нажатии на фиксацию в истории. Затем оттуда я хотел бы получить снимок файлов, которые были изменены в этой фиксации как до, так и после. У меня возникли проблемы с добавлением кнопки в контекстное меню.

Я установил Command Explorer и смог найти ссылку на контекстное меню.

введите здесь описание изображения

Однако, когда я добавляю ссылку на него в свой файл .vsct, он не может его найти.

<Group guid="guidSubmitVulnerabilityCmdSet" id="GitMenu" priority="0x0600">
        <Parent guid="PackageCommandSetGuid" id="GitHistory_ContextMenu" />
      </Group>

введите здесь описание изображения

Я решил, что мне нужно добавить элемент Extern со ссылкой на соответствующий заголовочный файл, но я не могу найти в своей системе ни одного файла .h, содержащего эти значения. Я также пытался просмотреть сборку Microsoft.TeamFoundation.Git.Provider.dll в обозревателе объектов, но не увидел ничего многообещающего.

Это контекстное меню, которое я пытаюсь расширить.

введите здесь описание изображения

Возможно ли то, что я пытаюсь сделать, или страница истории Git построена таким образом, что ее нельзя расширить?

Заранее благодарю за любую помощь!


person Chris    schedule 18.06.2020    source источник
comment
Я думаю, вам следует зарегистрировать элементы группы и меню в ГидСимвол.   -  person Mr Qian    schedule 19.06.2020
comment
Это сработало! Хотел бы я спросить раньше. Я потратил массу времени на это, пробуя разные вещи. Спасибо @PerryQian-MSFT!   -  person Chris    schedule 20.06.2020
comment
@PerryQian-MSFT Я разместил полный ответ ниже. Пожалуйста, дайте мне знать, если есть способ отдать вам должное за это. Спасибо еще раз.   -  person Chris    schedule 20.06.2020


Ответы (1)


Для тех, кто хочет сделать что-то подобное, это то, что я добавил.

<GuidSymbol name="PackageCommandSetGuid" value="{57735d06-c920-4415-a2e0-7d6e6fbdfa99}">
  <IDSymbol value="0xf040" name="GitHistory_ContextMenu" />
</GuidSymbol>

Вот как выглядит результирующее контекстное меню с моей кнопкой, добавленной внизу.

введите здесь описание изображения

person Chris    schedule 20.06.2020