Solution to adding a Git (TortoiseGit) toolbar to

2019-03-10 00:25发布

问题:

Anyone know how to create a toolbar in Visual Studio 2010 to use with Git (TortoiseGit)?

Thanks

SurfRat

回答1:

I wanted a Git toolbar in Visual Studio and I found no solution to this so I thought I would share this with you.

I installed the Git Source Control Provider and got Git working (via TortoiseGit) with the right click context menu. This was tedious and rather ugly as all the TortoiseGit commands had the same icon.

I then added external tools to Visual Studio...

The external tool commands for TortoiseGit are as follows:

Title: Git Push
Command: C:\Program Files\TortoiseGit\bin\TortoiseProc.exe
Arguments: /path:"$(SolutionDir)" /command:push

Title: Git Commit
Command: C:\Program Files\TortoiseGit\bin\TortoiseProc.exe
Arguments: /path:"$(SolutionDir)" /command:Commit

Title: Git Sync
Command: C:\Program Files\TortoiseGit\bin\TortoiseProc.exe
Arguments: /path:"$(SolutionDir)" /command:Sync

Title: Git Revert
Command: C:\Program Files\TortoiseGit\bin\TortoiseProc.exe
Arguments: /path:"$(SolutionDir)" /command:Revert

Title: Git Log
Command: C:\Program Files\TortoiseGit\bin\TortoiseProc.exe
Arguments: /path:"$(SolutionDir)" /command:Log

Once the external commands were created I created my toolbar. Visual Studio 2010 out of the box will not allow you to have an image in your toolbar so I installed the Command Image Changing Extension.

Here are the icons I created

The end result is a toolbar with the commands (showing only icons) that I need.

Update for Visual Studio 2012

The commands have changed slightly and are as follows:

Title: Git Commit
Command: C:\Program Files\TortoiseGit\bin\TortoiseGitProc.exe
Arguments: /path:"$(SolutionDir)" /command:commit

Title: Git Push
Command: C:\Program Files\TortoiseGit\bin\TortoiseGitProc.exe
Arguments: /path:"$(SolutionDir)" /command:push

Title: Git Sync
Command: C:\Program Files\TortoiseGit\bin\TortoiseGitProc.exe
Arguments: /path:"$(SolutionDir)" /command:sync

Title: Git Compare
Command: C:\Program Files\TortoiseGit\bin\TortoiseGitProc.exe
Arguments:  /path:"$(ItemPath)" /command:diff

Title: Git Revert
Command: C:\Program Files\TortoiseGit\bin\TortoiseGitProc.exe
Arguments: /path:"$(SolutionDir)" /command:revert

Title: Git Log
Command: C:\Program Files\TortoiseGit\bin\TortoiseGitProc.exe
Arguments: /path:"$(SolutionDir)" /command:log