6

プロジェクトを古いファイル ベースのストレージ (質問しないでください) から tfs にゆっくりと移行しています。私たちのコーダーは、ファイルシステムでコードを見つけるためにまだ使用されています.

なんらかの履歴を持つプロジェクトが 100 個あるので、1 つ 1 つ慎重に移動する必要があります。その結果、既存のファイル構造と TFS 管理ファイルが混在した状態でしばらく生きなければなりません。

コーダーの作業を楽にするために、移動したプロジェクトごとにファイルシステムにショートカットを作成したいと思います。そのため、開発者は、プロジェクトが既に移動されているかどうかを調べることができます。移動されている場合は、ダブルクリックして、正しいプロジェクトを直接指す TFS ソース管理エクスプローラーを開きます。

これは可能ですか?ご返信ありがとうございます。

4

2 に答える 2

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.ソース管理エクスプローラーで VS を起動する

2.レジストリを操作して、特定のパスでソース管理エクスプローラーを開きます

このコマンドdevenv /Command View.TfsSourceControlExplorerを使用すると、実際に VS を起動し、ソース管理エクスプローラーを自動的に開くことができます。残念ながら、希望する場所を直接指すようにパラメーターを指定する方法はありません。しかし、VS2010 は最後に使用されたパスを保持しているように見え、再起動時にその場所に再び開くことに気付きました。簡単な調査の結果、レジストリ エントリが見つかりました

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

の値を操作することで、SceMostRecentPathVS2010 をだましてそこにあるパスでソース管理エクスプローラーを開くことができます。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

最後に、ソース エクスプローラ コマンドで devenv.exe を簡単に呼び出します。

devenv /Command View.TfsSourceControlExplorer
于 2013-07-23T13:20:44.223 に答える
0

それらがローカル ファイル パスにマップされるまで、これは不可能だと思います。文書化されていないvstfs:///VersionControl/LatestItemVersion/{itemid}リンクを作成する方法があるかもしれませんが、うまくいく方法を作成することはできませんでした。

ローカル マッピングをチェックする PowerShell スクリプトを作成することもできます。それ以外の場合は、配置先を尋ねてマッピングをセットアップし、get-latest を実行してそこから移動します...

コマンドラインを少し工夫するだけで、tfかなりうまくいくはずです。

  • tf workspaces /owner /collecion /computer適切なチーム プロジェクトにローカル ワークスペースがあるかどうかを確認します。
  • tf workspace/new /collection 必要に応じて作成する
  • tf workfold /mapフォルダー マッピングを作成するには、ターゲットの場所を指定するように求めることができます。
  • tf get最新のソースを取得します。

.ps1 ファイルをフォルダーに配置し、開いたらワークスペースを確認します。存在する場合は、マップされたフォルダー内のローカル ファイルを開きます。そうでない場合は、適切なコマンドを呼び出して、ワークスペース マッピング プロセスを実行します。

于 2013-07-19T20:31:06.250 に答える