2013-07-19 1 views
4

Мы медленно перемещаем проекты из старого хранилища на основе файлов (не спрашиваем) на tfs. Наши кодеры по-прежнему используются для поиска кода в файловой системе.Как создать ярлыки проводника для определенных путей управления потоком TFS 2010

Поскольку мы говорим о 100 проектах, каждый из которых имеет какую-то историю, мы должны тщательно их перемещать один за другим. В результате нам придется некоторое время жить с уже существующей файловой структурой, смешанной с управляемыми файлами TFS.

Чтобы сделать жизнь проще для наших кодеров, я хотел бы создать ярлык в файловой системе для каждого проекта, который мы переместили. Таким образом, разработчики могут искать, если проект уже был перемещен, и если да, зайдите двойным щелчком, чтобы открыть TFS Source Control Explorer, указав прямо на правильный проект.

Возможно ли это? Спасибо за ваш ответ.

ответ

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 

На самом деле я объединил 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 и автоматически открыть 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 с помощью команды источника Проводник:

devenv /Command View.TfsSourceControlExplorer 
0

Пока они не сопоставлены локальному пути к файлу, я не думаю, что это возможно. Хотя может быть недокументированный способ создать ссылку vstfs:///VersionControl/LatestItemVersion/{itemid}, которая может работать, я не смог создать тот, который делает трюк.

Вы можете создать Powershell скрипт, который будет проверять для локального отображения, в противном случае спросите их, где они хотят, чтобы положить его и настройки отображения, сделать

Немного получить, последний и идти оттуда ... обмана с командной строкой tf должно быть довольно далеко.

  • tf workspaces /owner /collecion /computer, чтобы увидеть, есть ли местное рабочее пространство в нужном командном проекте.
  • tf workspace/новый/коллекции, чтобы создать один, если это необходимо
  • tf workfold /map создать отображение папок, вы могли бы подвигнуть их на целевые места
  • tf get принести последние источники.

Поместите файл .ps1 в папку и при открытии проверьте рабочее пространство, если там открываются локальные файлы в сопоставленной папке. если это не так, просмотрите процесс сопоставления рабочей области, вызвав правильные команды.

+0

Это довольно далеко в моих глазах - я не обязательно хочу автоматизировать картографирование и получить процесс. Я предпочел бы просто открыть проводник sourcecontrol в нужном месте проекта. Я нашел [этот источник здесь] (http://stackoverflow.com/questions/2907614/automatically-open-source-control-explorer-when-visual-studio-starts-up) с помощью команды devenv для открытия SourceControl Explorer. Теперь мне просто нужен способ открыть в нужном месте. – Marwie

+0

Я искал вариант, но не смог его найти. Открытие проводника управления версиями - легкая часть. Указание на нужную папку, а проект - нет. Особенно если проект не сконфигурирован для этого пользователя. Нет опции командной строки для регистрации нового проекта TFS на машине, что является основным предварительным условием для его перенаправления (даже для шагов, описанных выше). – jessehouwing

+0

В настоящее время я экспериментирую с изменением реестра. Я отметил, что VS 2010 устанавливает запись в реестре с именем SceMostRecentPath, которая указывает на последнее нажатое местоположение, на которое также будет ссылаться недавно открытый SourceControlExplorer. Я думаю, что это будет наше решение. Перейдем к деталям позже. Отображение проекта не будет проблемой, поскольку оно уже подготовлено для задействованных кодеров. – Marwie

 Смежные вопросы

  • Нет связанных вопросов^_^