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
基本的にはWindowsでのGitのGUIツール定番ですが、Visual Studio拡張も含まれており、VSにGitExtというメニューと専用ツールバーを追加します。
メニュー:
ツールバー:
基本的にこのメニューとツールバーGitExtensionsのGUIを呼び出すかたちになります。出来ることは基本的にGitExtensionsが出来ることになり、VSとの統合度は基本的に低いです。
Git Tools
対象Visual Studio: 2013, 2015
もともとGit Source Control Providerとして開発されていた物が、MSがVS2013から標準でGit対応したために、ソリューションエクスプローラでのSource Control Providerとしての機能はVS標準側に任せ、VS拡張としてのGitのクライアントツールとしてまとめなおされた物です。
自身で出来ることは、ファイルのステージング、コミット、コミットログの表示となり、それ以外の機能は標準のGit ProviderやGitExtensions、tortoisegit、gitbashを呼び出して使用する事になります。
コミットログウインドウ:
メニュー:
標準のGit ProviderがTFSとの互換性を重視してなのか、ファイル単位でしかコミットログが表示出来ず、コミット単位でログが確認できないため、コミット単位でログやDiff、Brameが確認できる点、ステージングのサポート、外部ツール呼び出しの容易性が本ツールの利点となります。
githere
対象Visual Studio: 2013
Visual Studioのステータスバーに現在のブランチとステータスを表示するVS拡張です。[branch +~-]というposhgitのコマンドプロンプトと同じ容量で表示します。
標準のProviderではカレントブランチがわかりにくいので、そこを補う小気味の良い小さなツールです。
Git Diff Margin
対象Visual Studio: 2010,2012,2013, 2015
ラストコミットと現状のソースを比較しながらエディタの左のマージンに以下のようなインジケータを出します。
- 青色のライン(下図)の場合変更箇所
- 緑のラインは新規追加行
- 赤い三角は削除行
各インジケータをクリックすると以下のようなメニューが表示されます。メニューの中には変更前のコード表示、Undo操作、VS標準のDiff表示の呼び出しが出来ます。
GitHub Extension
対象Visual Studio: 2013, 2015
実際にはGitのツールではなく、GitHubのクライアントツールですが、紹介します。
基本的に現状のVersion 0.2で出来ることはIssueの管理だけです。
Gitのissueの管理をVisual Studioから可能にするものです。Issue Listと個別Issueの内容を表示するIssue Windowsからなっています。(下図)
最初GitHubへのログインが必要なので、下図の様なIssue Listウインドウ中央の右矢印をクリックするとログオンウインドウがでますので、GitHubのアカウントでログインしてください。
まとめ
ということで、自分自身がインストールしているツールを中心に紹介しました。これらのツールを使っていくことで、Visual StudioからのGit使用も多少は快適なるのではないかと思います。IDEを使う以上、IDE中心で作業したいですしね。
明日のクリスマスイブはkobakeさんです。ではハリキッテどうぞ!
コメント