Как получить текущий путь ветки из проводника управления версиями с помощью пакета VS

Я создал расширение VS, которое создает команду меню в проводнике управления версиями, щелкнув правой кнопкой мыши, чтобы открыть пользовательскую форму. Теперь я хочу отобразить текущий путь TFS (откуда пользователь щелкает правой кнопкой мыши) в этой пользовательской форме. То же, что и TFS «Ветвление и Слияние => Филиал "Исходный путь.

Любая помощь ценю.


person 111212    schedule 04.05.2015    source источник


Ответы (2)


Вы можете использовать объект VersionControlExplorerExt с его свойствами SelectedItems, CurrentFolderItem и т. д. Из пакета это будет примерно так:

  private void MenuItemCallback(object sender, EventArgs e)
  {
     Microsoft.VisualStudio.TeamFoundation.VersionControl.VersionControlExt versionControlExt;
     Microsoft.VisualStudio.TeamFoundation.VersionControl.VersionControlExplorerExt versionControlExplorerExt;
     EnvDTE.DTE dte;

     try
     {
        dte = base.GetService(typeof(EnvDTE.DTE)) as EnvDTE.DTE;

        versionControlExt = dte.GetObject("Microsoft.VisualStudio.TeamFoundation.VersionControl.VersionControlExt") 
           as Microsoft.VisualStudio.TeamFoundation.VersionControl.VersionControlExt;

        versionControlExplorerExt = versionControlExt.Explorer;

        MessageBox.Show(versionControlExplorerExt.CurrentFolderItem.LocalPath);

     }
     catch (Exception ex)
     {
        MessageBox.Show(ex.ToString());
     }

  }
person Carlos Quintero    schedule 06.05.2015

Расширяемость для Source Control Explorer должна быть представлена ​​через Класс VersionControlExt.Explorer. VersionControlExt.Explorer.SelectedItems должно содержать пути к серверам для выбранных элементов. Вот старый пост в блоге, который также может есть полезная информация для написания расширений.

person jamill    schedule 05.05.2015