如何使用 Visual Studio 加载项打开 TFS 变更集详细信息对话框视图?

2023-11-23

我在 TFS 中有一个特定的工件,例如变更集“123”,它具有 URI“vstfs:///VersionControl/Changeset/123”。我意识到链接"http://tfs:8080/tfs/web/UI/Pages/Scc/ViewChangeset.aspx?changeset=123"将使用 Web 浏览器打开变更集详细信息视图。

我想做的是打开 Visual Studio 内的变更集详细视图。我嵌入此内容的位置是构建摘要中的自定义部分。我将这个自定义部分实现为 VisualStudio 插件。这是一张图片:

enter image description here

“发布构建”部分是定制的,一旦发布此类构建,将提供有关将发送给每个人的电子邮件的信息。

此部分中的 Changeset 627 是一个已自动转换为链接的 Button 控件。按钮后面的“Click”处理程序起作用。目前的代码如下所示:

...
string link = buildDetailView.TeamProjectCollection.Uri.AbsoluteUri.Substring(0, buildDetailView.TeamProjectCollection.Uri.AbsoluteUri.LastIndexOf('/'));
link += "/web/UI/Pages/Scc/ViewChangeset.aspx?changeset=";
link += ((Button)sender).Content;

Process.Start(new ProcessStartInfo(link));
e.Handled = true;
...

此代码将打开一个新的浏览器选项卡并显示正确的页面。但是,我希望它在 Visual Studio 中打开变更集详细信息。就像“关联变更集”部分底部的按钮一样。当您单击链接“Changeset 627”时,它将在 Visual Studio 中打开该变更集。

EDIT 1

如果我发布一张图片,可能会更清楚想要的结果到底是什么。 我想使用 API 打开“变更集详细信息”窗口。

enter image description here


看看以下博客文章:

  • Ed Hintz:如何为 Visual Studio 编写 Team Foundation 版本控制加载项
  • Brian Harry:致力于 TFS SDK 改进 and TFSAddin.zip 示例代码(ZIP 文件还包含有关 API 的文档)

本质上,您需要引用以下程序集:

 Microsoft.TeamFoundation.Client
 Microsoft.TeamFoundation.VersionControl.Client
 Microsoft.TeamFoundation.VersionControl.Controls
 Microsoft.VisualStudio.TeamFoundation
 Microsoft.VisualStudio.TeamFoundation.Client
 Microsoft.VisualStudio.TeamFoundation.VersionControl

然后你可以使用VersionControlExt.ViewChangesetDetails(int changesetId)显示加载项中的特定变更集:

VersionControlExt vce;
vce = _applicationObject.GetObject("Microsoft.VisualStudio.TeamFoundation.VersionControl.VersionControlExt") as VersionControlExt;
vce.ViewChangesetDetails(changesetId);

这将弹出一个对话框,向用户显示有关特定变更集的所有详细信息。 (如果用户在“查找变更集”对话框中选择“详细信息...”,则会出现相同的对话框。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Visual Studio 加载项打开 TFS 变更集详细信息对话框视图? 的相关文章

随机推荐