35

Since I don't really like Total Commander's internal diff Compare Contents used in Compare by content and Synchronize DirsCompare left & right, I want to use something else like WinMerge or KDiff3.

Is this possible to launch an external program with the paths to the marked files in the left & right pane? That would solve Compare by content. Any other way to solve it? Can I control Synchronize Dirs so it does the same when I compare file content there?

Any other suggestions to easily make diffs in Total Commander with external diff program?

Joel
  • 453

2 Answers2

41

There are many ways to do this (here I'm using BeyondCompare as an example, it's the best I've found in this category, but the solution also works well with WinMerge):

A) Edit wincmd.ini under %USERPROFILE%\AppData\Roaming\GHISLER\ by default, and add something like this:

[Configuration]
CompareTool=C:\Program Files\Shareware\FileCmp\BeyondCmp\BCompare.exe

Now all comparisons are made using this app instead of the internal tool.


B) Using TotalCmd's StartMenu (command "Change start menu..."), add these commands:

Title:

BC (Compare left-vs-right directories)

Command: %YourPath%\BeyondCmp\BCompare.exe

Parameters: %X%p %X%t


Title:

BC (Compare current file under cursor vs same file in the other panel)

Command: %YourPath%\BeyondCmp\BCompare.exe

Parameters: "%X%p%x%n" "%X%t%x%n"


Title:

BC (Compare current file in left vs current file in right)

Command: %YourPath%\BeyondCmp\BCompare.exe

Parameters: "%X%p%n" "%X%t%m"

Halil
  • 103
TheNewbie
  • 631
2

I came accross this question because I wanted to use Visual Studio Code as external diff tool.

Since VS Code isn't primarly a diff tool one can't just invoke the exe-file with two filenames as parameters. Instead the option --diff or just -d has to be specified.

This is important when editing the WINCMD.INI. The line Comparetool has to take the path to code.exe and the diff-option:

[Configuration]
Comparetool="C:\Program Files\Microsoft VS Code\Code.exe" --diff
...
khlr
  • 121