我如何从源代码管理资源管理器使用VS包得到当前分支路径

我如何从源代码管理资源管理器使用VS包得到当前分支路径

问题描述:

我已经创建了VS扩展,它在源代码管理资源管理器上创建菜单命令,右键单击它打开自定义窗体,现在我想显示当前TFS路径从那里用户右键单击)在该自定义窗体中。称为TFS“分支和合并=>分支”源路径。我如何从源代码管理资源管理器使用VS包得到当前分支路径

任何帮助欣赏。

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

    } 

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