【问题标题】:Visual Studio Extensibility (VSX) - Get the current branch nameVisual Studio 可扩展性 (VSX) - 获取当前分支名称
【发布时间】:2018-08-29 23:28:40
【问题描述】:

我正在开发一个 Visual Studio 扩展(VS 包)。

我正在尝试获取项目/解决方案的源代码管理分支名称。

VS SDK 中唯一可用的源代码控制服务是 SVsSccManager,但它不提供任何检索源代码控制分支名称的方法。

还查看了 DTE.SourceControl,但可惜它没有提供分支信息。

我真的不想开发自己的源代码控制插件来简单地检索分支名称(这感觉完全是矫枉过正)。

有没有办法在源代码控制中检索解决方案/项目的当前分支名称?

提前感谢。

【问题讨论】:

  • 如果可行,它将特定于您使用的 SCC 提供商的类型。您目前使用哪种 SCC 提供商?
  • 我正在使用开箱即用的 SCC 提供程序。换句话说,我想使用 Visual Studio 的基本 SCC 提供程序,因为我不想创建自己的(纯粹用于检索分支名称)
  • 这看起来有点矫枉过正,因为您需要知道您使用什么 Scc 提供商,然后使用他们的信息来获得您需要的东西。 Scc 提供程序是独立实现的,Visual Studio 不会强制它们实现某些功能。这是因为确实有可能存在例如没有分支逻辑的 Scc。在 Visual Studio 中,通常是独立实现且不共享分支逻辑的 git 和 TFS 提供程序。因此,如果您需要检索分支名称,您必须获取 Scc 提供程序并使用其特定的 api 来执行此操作。 Soo 你用 git 还是 tfs 做什么?

标签: visual-studio visual-studio-extensions vs-extensibility visual-studio-sdk


【解决方案1】:

Visual Studio 可扩展性 (VSX) - 获取当前分支名称

如果你使用 git,已经有 Visual Studio 扩展在标题栏上显示你当前的 Git 分支:ShowMyGitBranch

您可以查看有关此扩展程序的源代码以获取更多详细信息:

https://github.com/thiagotts/show-my-git-branch

如果您使用的是 TFS,您可以使用 API 获取分支来进行项目:

https://social.msdn.microsoft.com/Forums/en-US/89802f2e-f410-4a3a-a9c1-f776a3dd884e/api-get-branch-for-a-project?forum=tfsversioncontrol

希望这会有所帮助。

【讨论】:

  • 谢谢!这是完美的——多么聪明的解决方案。本质上,它会检查 .git 文件夹、HEAD 文件中的分支名称。
  • 它支持VS直到VS2015。可以添加对 VS2019 的支持吗?
猜你喜欢
  • 2015-08-26
  • 2023-04-08
  • 2015-05-14
  • 1970-01-01
  • 2013-09-10
  • 2023-03-09
  • 1970-01-01
  • 1970-01-01
  • 2011-09-08
相关资源
最近更新 更多