Мне удалось добавить пользовательскую кнопку в контекстное меню истории Git благодаря предложенной помощи здесь.
Я продолжаю работать с тем же расширением и снова застрял. После нажатия кнопки, которую я добавил в контекстное меню, мне нужно получить ссылку на фиксацию, выбранную при нажатии. Идея состоит в том, что затем мне нужно получить изменения кода, связанные с этой фиксацией.
Мне удалось получить ссылку на ActiveWindow с заголовком History - master. Что заставляет меня поверить, что я близко. Однако ActiveWindow.Selection имеет значение null. Поэтому я не уверен, куда идти дальше, чтобы получить выбранный коммит.
Это то, что я использую для получения свойства ActiveWindow.
EnvDTE80.DTE2 dte = ServiceProvider.GetService(typeof(DTE)) as EnvDTE80.DTE2;
Кто-нибудь знает, как получить ссылку на выбранный коммит? Затем использовать это, чтобы получить информацию о коммите, включая измененные файлы?
Мой вопрос похож на этот, но для Git вместо TFS.
Заранее спасибо за помощь!
EnvDTE80.DTE2 dte = ServiceProvider.GetService(typeof(DTE)) as EnvDTE80.DTE2; object toolWindow = dte.ToolWindows.GetToolWindow(dte.ActiveWindow.Caption);
- person Chris   schedule 22.06.2020Control.FromHandle(controlIntPtr);
и посмотреть, что это за элемент управления. Как только вы найдете элемент управления, содержащий элементы Git, вы сможете использовать свойства этого элемента управления для получения подробной информации о выбранном элементе. - person Jazimov   schedule 22.06.2020int windowHandle = dte.ActiveWindow.HWnd;
- person Chris   schedule 22.06.2020