Visual StudioのGit関連ツール

Visual Studio Advent Calendar 2014 23日目の記事です。

Visual Studio 2013から正式にGitのサポートが行われました。Visual Studio Tools for GitあるいはMicrosoft Git Providerは基本的な部分で十分なGitのクライアントと言えず、TFSとの用語の混濁等も有り、正直なところあまりGitのツールとしては使い勝手が良くありません。

また、このように最近までVisual StudioでのGitサポートがなかったことも有り、様々なGitの仕様をサポートするVisual Studio拡張が存在しています。

という事で、Gitに関するVisual Studio拡張を紹介してみます。

gitextensions

対象Visual Studio: 2005,2008,2010, 2012, 2013

SnapCrab_Remoting (master) - Git Extensions_2014-12-23_20-40-27_No-00

https://code.google.com/p/gitextensions/

基本的にはWindowsでのGitのGUIツール定番ですが、Visual Studio拡張も含まれており、VSにGitExtというメニューと専用ツールバーを追加します。

メニュー:

SnapCrab_Remoting - Microsoft Visual Studio_2014-12-23_20-34-57_No-00_01

ツールバー:

SnapCrab_NoName_2014-12-23_20-35-4_No-00

基本的にこのメニューとツールバーGitExtensionsのGUIを呼び出すかたちになります。出来ることは基本的にGitExtensionsが出来ることになり、VSとの統合度は基本的に低いです。

Git Tools

対象Visual Studio: 2013, 2015

SnapCrab_HelloWorld_2014-12-23_20-46-33_No-00

https://visualstudiogallery.msdn.microsoft.com/48c3e91e-d1d7-4bf9-84dd-d3b97e2d5922

もともとGit Source Control Providerとして開発されていた物が、MSがVS2013から標準でGit対応したために、ソリューションエクスプローラでのSource Control Providerとしての機能はVS標準側に任せ、VS拡張としてのGitのクライアントツールとしてまとめなおされた物です。

自身で出来ることは、ファイルのステージング、コミット、コミットログの表示となり、それ以外の機能は標準のGit ProviderやGitExtensions、tortoisegit、gitbashを呼び出して使用する事になります。

コミットログウインドウ:

SnapCrab_ddocumentsvisual studio 2015ProjectsHelloWorld (develop  +0 ~0 -0 !0)_2014-12-23_20-50-53_No-00

メニュー:

SnapCrab_HelloWorld - Microsoft Visual Studio_2014-12-23_20-58-45_No-00_01

標準のGit ProviderがTFSとの互換性を重視してなのか、ファイル単位でしかコミットログが表示出来ず、コミット単位でログが確認できないため、コミット単位でログやDiff、Brameが確認できる点、ステージングのサポート、外部ツール呼び出しの容易性が本ツールの利点となります。

githere

対象Visual Studio: 2013

SnapCrab_NoName_2014-12-23_21-3-23_No-00

https://visualstudiogallery.msdn.microsoft.com/0344701c-45e4-4b3b-8d2b-92e5c8ad5bbe

Visual Studioのステータスバーに現在のブランチとステータスを表示するVS拡張です。[branch +~-]というposhgitのコマンドプロンプトと同じ容量で表示します。

標準のProviderではカレントブランチがわかりにくいので、そこを補う小気味の良い小さなツールです。

Git Diff Margin

対象Visual Studio: 2010,2012,2013, 2015

https://visualstudiogallery.msdn.microsoft.com/cf49cf30-2ca6-4ea0-b7cc-6a8e0dadc1a8

ラストコミットと現状のソースを比較しながらエディタの左のマージンに以下のようなインジケータを出します。

  • 青色のライン(下図)の場合変更箇所
  • 緑のラインは新規追加行
  • 赤い三角は削除行

SnapCrab_NoName_2014-12-23_21-11-1_No-00

各インジケータをクリックすると以下のようなメニューが表示されます。メニューの中には変更前のコード表示、Undo操作、VS標準のDiff表示の呼び出しが出来ます。

SnapCrab_HelloWorld - Microsoft Visual Studio_2014-12-23_21-11-21_No-00_01

GitHub Extension

対象Visual Studio: 2013, 2015

https://visualstudiogallery.msdn.microsoft.com/e4ba5ebd-bcd5-4e20-8375-bb8cbdd71d7e

実際にはGitのツールではなく、GitHubのクライアントツールですが、紹介します。

基本的に現状のVersion 0.2で出来ることはIssueの管理だけです。

Gitのissueの管理をVisual Studioから可能にするものです。Issue Listと個別Issueの内容を表示するIssue Windowsからなっています。(下図)

SnapCrab_NoName_2014-12-23_21-31-11_No-00

最初GitHubへのログインが必要なので、下図の様なIssue Listウインドウ中央の右矢印をクリックするとログオンウインドウがでますので、GitHubのアカウントでログインしてください。

SnapCrab_NoName_2014-12-23_21-29-11_No-00

まとめ

ということで、自分自身がインストールしているツールを中心に紹介しました。これらのツールを使っていくことで、Visual StudioからのGit使用も多少は快適なるのではないかと思います。IDEを使う以上、IDE中心で作業したいですしね。

明日のクリスマスイブはkobakeさんです。ではハリキッテどうぞ!

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください