Is it possible to use WinMerge inside Visual Studi

2019-03-26 08:25发布

问题:

I would like to use WinMerge as the default diff tool inside VS2008 from the solutions explorer in place of the "Compare..." context menu item. Is this possible? I'm looking for a quick replacement of the current bland diff tool an I just like WinMerge better. I'm not interested in going to the folder explorer and doing the comparison there.

I'm using Visual Source Safe 6.0 not TFS

回答1:

I have been wondering about this as well and have not found anything to make it possible in VSS 6.0.

For now, it looks like the answer to our question is "No".



回答2:

Yep, it's possible!

See this link: http://whyiamright.wordpress.com/2008/01/18/changing-the-diffmerge-program-used-by-visual-studio/

Tools-> Options. In the tree, choose Source Control, then the plugin of your choice (VS team Foundation, Source Safe, etc).

Click the "Configure User Tools" button, click add, then specify the appropriate extension, operation, EXE, and arguments list.

This site: has the settings for many, including winmerge: http://blogs.msdn.com/jmanning/articles/535573.aspx

EDIT: You mentioned VSS: Check out the Winmerge manual here: http://winmerge.org/docs/manual/VersionControl.html. It says how to do it about 1/5th the way down the page.



回答3:

I think I have this working at a serviceable level if not optimal.

in visual studio go to tools > options > source control > plug-in settings

click the "advanced" button

in the sourcesafe options dialog, switch to the "custom editors" tab

for operation, select file difference

for file extension enter .*

for command line enter

"C:\Program Files\WinMerge\WinMergeU.exe" /x /e /ub /wl /dl %6 /dr %7 %1 %2

click the "add" button then the "ok" button.

using "compare" from a file's context menu or viewing history and selecting "diff" should bring up winmerge with the file comparison. the original is on the left and the modified file is on the right (is that the right placement? should they be swapped?). if you selected a highlighted difference, you can actually sync that area at this time as well. visual studio will just recognize the file has changed and ask you to reload. I haven't gotten to the situation where I'm in an actual "merge" situation so I'm not sure what happens there. I'll update this post if I ever have more info to add.

I'm using VS2008, sourcesafe 2005, and winmerge 2.12.4 installed to the default directory. I copied the settings from this post: http://weblogs.asp.net/garrypilkington/archive/2009/12/16/winmerge-as-a-comparison-tool-in-visual-studio-2008.aspx



回答4:

As I stated previously, I don't think we can integrate WinMerge with Visual Studio 2008 and VSS 6.0.

However, I did find that VSS 2005 is backward compatible with VSS 6.0 databases. So, if your server can't change from VSS 6.0, at least perhaps you can change your client to VSS 2005, and then follow the other instructions from the answers here.