如何使用VS包从Source control explorer获取当前的Branch路径

问题描述 投票:1回答:2

我创建了VS扩展,通过右键单击它打开自定义窗体在Source控件浏览器上创建菜单命令,现在我想在该自定义窗体中显示当前TFS路径(从用户右键单击)。作为TFS“分支和合并=>分支“源路径。

任何帮助欣赏。

visual-studio-2012 tfs tfs2012 vsix
2个回答
0
投票

您可以使用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());
     }

  }

0
投票

Source Control Explorer的可扩展性应通过VersionControlExt.Explorer类公开。 VersionControlExt.Explorer.SelectedItems属性应包含所选项的服务器路径。这是一个old blog post,也可能有一些有用的信息来编写扩展。

© www.soinside.com 2019 - 2024. All rights reserved.