【问题标题】:How to create Explorer Shortcuts to specific TFS 2010 Source Control Paths如何创建特定 TFS 2010 源代码管理路径的资源管理器快捷方式
【发布时间】:2013-07-19 16:23:43
【问题描述】:

我们正在慢慢地将项目从基于旧文件的存储(不要问)转移到 tfs。我们的编码器仍然用于在文件系统中查找代码。

由于我们谈论的是 100 个项目,每个项目都有某种历史,我们必须一个一个小心地移动它们。导致我们将不得不在已经存在的文件结构与 TFS 托管文件混合使用一段时间。

为了让编码人员的工作更轻松,我想在文件系统中为我们移动的每个项目创建一个快捷方式。因此开发人员可以查看项目是否已被移动,如果是,则双击打开直接指向正确项目的 TFS 源代码管理资源管理器。

这可能吗?感谢您的回复。

【问题讨论】:

    标签: visual-studio-2010 source-control-explorer


    【解决方案1】:

    我找到了一个满足我需要的简单解决方案,它基于一个小批量脚本,您必须单击它。即使您仍然可以创建批处理文件的快捷方式,也可以说它不是快捷方式。

    这是脚本:

    CALL "%VS100COMNTOOLS%\..\..\VC\vcvarsall.bat" x86
    REG ADD "HKCU\Software\Microsoft\VisualStudio\10.0\TeamFoundation\SourceControl\Explorer\<GUIDofTFS>" /v "SceMostRecentPath" /d "$/<PathToTfsProject>" /f
    devenv /Command View.TfsSourceControlExplorer
    

    事实上,我结合了在不同来源中找到的 2 个想法:

    1. Start VS with Source Control Explorer

    2. Manipulate Registry to open Source Control Explorer in a specific path

    使用devenv /Command View.TfsSourceControlExplorer 命令,您实际上可以启动VS 并自动打开源代码管理资源管理器。不幸的是,没有办法给出一个参数来直接指向你想要的位置。但我注意到 VS2010 似乎保留了最后使用的路径,并在重新启动时重新打开到那个地方。快速研究导致注册表项

    HKCU\Software\Microsoft\VisualStudio\10.0\TeamFoundation\SourceControl\Explorer\058104ed-f0e2-4126-9ccc-0e37e19c4f91\SceMostRecentPath

    通过操纵SceMostRecentPath 的值,您可以欺骗VS2010 以打开带有路径的源代码管理资源管理器。 请记住:您需要将 058104ed-f0e2-4126-9ccc-0e37e19c4f91 替换为 TFS 安装的 GUID。


    由于我们都使用 VS 2010,但安装路径不同,我通过使用 VS100COMNTOOLS 变量动态实现了路径。首先我们搭建TFS命令行环境:

    CALL "%VS100COMNTOOLS%\..\..\VC\vcvarsall.bat" x86`
    

    然后我们更改注册表:

    REG ADD "HKCU\Software\Microsoft\VisualStudio\10.0\TeamFoundation\SourceControl\Explorer\[PutYourTfsGUIDHere]" /v "SceMostRecentPath" /d "$/<YourTfsPath>" /f
    

    最后,我们使用 source Explorer 命令对 devenv.exe 进行简单调用:

    devenv /Command View.TfsSourceControlExplorer
    

    【讨论】:

      【解决方案2】:

      在它们被映射到本地文件路径之前,我认为这是不可能的。虽然可能有一种未记录的方法来制作可能有效的 vstfs:///VersionControl/LatestItemVersion/{itemid} 链接,但我还没有制作出能够做到这一点的方法。

      您可以创建一个用于检查本地映射的 powershell 脚本,否则询问他们要将其放置在哪里并设置映射,执行最新操作并从那里开始...

      tf 命令行的一些技巧应该会让你走得很远。

      • tf workspaces /owner /collecion /computer 查看是否有适合团队项目的本地工作区。
      • tf workspace /new /collection 在需要时创建一个
      • tf workfold /map 创建文件夹映射,您可以提示他们输入目标位置
      • tf get 获取最新资源。

      将 .ps1 文件放在文件夹中,打开后检查工作区,如果有,则打开映射文件夹中的本地文件。如果不是,请通过调用正确的命令来完成工作区映射过程。

      【讨论】:

      • 这在我看来很遥远——我不一定想自动化映射和获取过程。我宁愿在正确的项目位置打开源控制资源管理器。我发现this source here 使用 devenv 命令打开 SourceControl Explorer。现在我只需要一种在正确位置打开的方法。
      • 我一直在寻找一个选项,但找不到。打开源代码管理资源管理器是最简单的部分。将其指向正确的文件夹和项目不是。如果项目不是首先为该用户配置的,则尤其如此。没有用于在机器上注册新 TFS 项目的命令行选项,这是重定向到该项目的主要先决条件(即使对于上述步骤也是如此)。
      • 我目前正在尝试更改注册表。我注意到 VS 2010 正在设置一个名为 SceMostRecentPath 的注册表项,它指向最后点击的位置,新打开的 SourceControlExplorer 也将指向该位置。我认为这将是我们的解决方案。稍后将发布详细信息。项目的映射将不是问题,因为这已经为相关编码人员准备好了。
      猜你喜欢
      • 1970-01-01
      • 2015-09-13
      • 1970-01-01
      • 2023-03-08
      • 1970-01-01
      • 2016-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多