Как создать ярлыки обозревателя для определенных путей управления исходным кодом TFS 2010
Мы медленно перемещаем проекты из старого файлового хранилища (не спрашивайте) в tfs. Наши кодеры по-прежнему используются для поиска кода в файловой системе.
Поскольку мы говорим о 100 проектах, каждый из которых имеет какую-то историю, мы должны тщательно перемещать их один за другим. В результате нам придется некоторое время жить с уже существующей файловой структурой, смешанной с управляемыми файлами TFS.
Чтобы облегчить жизнь нашим программистам, я хотел бы создать ярлык в файловой системе для каждого проекта, который мы переместили. Таким образом, разработчики могут посмотреть, был ли проект уже перемещен, и, если да, дважды щелкнуть, чтобы открыть проводник управления исходным кодом TFS, указывающий непосредственно на нужный проект.
Это возможно? Спасибо за ваш ответ.
2 ответа
Я нашел простое решение для своих нужд, основанное на небольшом пакетном скрипте, на которое вам нужно будет нажать. Это не ярлык, так что вы можете создать ярлык для пакетного файла.
Вот сценарий:
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. Запустите VS с помощью Source Control Explorer
2. Управляйте реестром, чтобы открыть Source Control Explorer по определенному пути.
С помощью команды devenv /Command View.TfsSourceControlExplorer
вы можете запустить VS и автоматически открыть Source Control Explorer. К сожалению, нет никакого способа дать параметр, чтобы указать его непосредственно в желаемом месте. Но я заметил, что VS2010, похоже, сохраняет последний использованный путь и снова открывается в этом месте при перезагрузках. Быстрое исследование привело к записи в реестре
HKCU\Software\Microsoft\VisualStudio\10,0\TeamFoundation\SourceControl\Explorer\058104ed-f0e2-4126-9ccc-0e37e19c4f91\SceMostRecentPath
Управляя значением SceMostRecentPath
Вы можете обмануть VS2010, чтобы открыть Source Control Explorer с указанным там путем. Имейте в виду: вам нужно будет заменить 058104ed-f0e2-4126-9ccc-0e37e19c4f91
с GUID вашей установки TFS.
Поскольку все мы используем 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
Наконец, мы делаем простой вызов devenv.exe с помощью исходной команды Explorer:
devenv /Command View.TfsSourceControlExplorer
Пока они не сопоставлены с локальным путем к файлу, я не думаю, что это возможно. Хотя может быть недокументированный способ создания vstfs:///VersionControl/LatestItemVersion/{itemid}
ссылка, которая может сработать, я не смог создать такую, которая сработает.
Вы можете создать сценарий powershell, который будет проверять локальное сопоставление, в противном случае спросите их, где они хотят его поместить, и настройте сопоставление, сделайте последнюю версию и перейдите оттуда...
Немного обмана с tf
командная строка должна вытащить вас довольно далеко.
tf workspaces /owner /collecion /computer
чтобы увидеть, есть ли локальное рабочее пространство для правильного командного проекта.tf workspace
/ new / collection для создания, если это необходимоtf workfold /map
чтобы создать сопоставление папок, вы можете запросить их для целевого расположенияtf get
чтобы получить последние источники.
Поместите файл.ps1 в папку и при открытии проверьте рабочее пространство, если оно там, откройте локальные файлы в сопоставленной папке. если это не так, пройдите процесс отображения рабочего пространства, вызвав правильные команды.