如何创建特定TFS 2010源代码管理路径的资源管理器快捷方式

Mar*_*wie 5 visual-studio-2010 source-control-explorer tfs2010

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

由于我们正在谈论每个都有某种历史的100个项目,我们必须逐一仔细地移动它们.结果是,我们将不得不使用与TFS托管文件混合的现有文件结构生存一段时间.

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

这可能吗?感谢您的答复.

Mar*_*wie 5

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

这是脚本:

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
Run Code Online (Sandbox Code Playgroud)

事实上,我结合了两个不同来源的想法:

1. 使用Source Control Explorer启动VS.

2. 操作Registry以在特定路径中打开Source Control Explorer

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

HKCU \软件\微软\ VisualStudio的\ 10.0\TeamFoundation\SourceControl\Explorer中\ 058104ed-f0e2-4126-9ccc-0e37e19c4f91\SceMostRecentPath

通过操纵SceMostRecentPath您的值可以欺骗VS2010打开源控制资源管理器,其中包含路径.请记住:您需要替换058104ed-f0e2-4126-9ccc-0e37e19c4f91TFS安装的GUID.


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

CALL "%VS100COMNTOOLS%\..\..\VC\vcvarsall.bat" x86`
Run Code Online (Sandbox Code Playgroud)

然后我们更改注册表:

REG ADD "HKCU\Software\Microsoft\VisualStudio\10.0\TeamFoundation\SourceControl\Explorer\[PutYourTfsGUIDHere]" /v "SceMostRecentPath" /d "$/<YourTfsPath>" /f
Run Code Online (Sandbox Code Playgroud)

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

devenv /Command View.TfsSourceControlExplorer
Run Code Online (Sandbox Code Playgroud)