我可以用自定义工具替换Total Commander中的内部差异吗?


28

由于我不太喜欢Total Commander的内部差异比较按内容比较和同步目录左右比较,所以我想使用WinMerge或KDiff3之类的东西。

是否可以使用左窗格和右窗格中带有标记文件路径的外部程序启动外部程序?那将解决按内容比较。还有其他解决方法吗?我可以控制同步目录,以便在比较文件内容时也一样吗?

还有其他建议可以通过外部差异程序轻松地在Total Commander中进行差异化吗?

Answers:


34

有很多方法可以做到这一点(这里我以BeyondCompare为例,这是我在该类别中发现的最好的方法,但是该解决方案在WinMerge上也能很好地工作):

A)默认情况wincmd.ini%USERPROFILE%\AppData\Roaming\GHISLER\进行编辑,并添加如下内容:

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

现在,所有比较都是使用此应用而不是内部工具进行的。


B)使用TotalCmd的StartMenu(命令“更改开始菜单...”),添加以下命令:

标题:

BC(比较左目录与右目录)

命令: %YourPath%\BeyondCmp\BCompare.exe

参数: %X%p %X%t


标题:

BC(比较光标下的当前文件与另一面板中的相同文件)

命令: %YourPath%\BeyondCmp\BCompare.exe

参数: "%X%p%x%n" "%X%t%x%n"


标题:

BC(比较左侧的当前文件与右侧的当前文件)

命令: %YourPath%\BeyondCmp\BCompare.exe

参数: "%X%p%n" "%X%t%m"


%X和%x的作用是什么?
乔尔

1
%X将此参数后的以下参数解释为左/右,而不是源/目标:%P,%p(左路径),%T,%t(右路径),%N,%n(左名称),% M,%m(正确名称),%S,%s(左侧选择),%R,%r(右侧选择)
TheNewbie 2011年

%x再次在此参数之后解释以下参数作为源/目标示例:%X%P%x%P将左侧和源路径发送到被调用程序
TheNewbie 2011年

对于选项A,仅当我CompareTool在wincmd.ini文件的开头附近添加了某个位置时,它才对我有用(v8.51a)。我不知道在此之前必须进行确切的设置,因此我想说最简单的方法是将其放在文件的开头。
TLama 2015年

1
从TC 9开始,您可以使用%C1%C2更好地模拟内部比较工具的工作方式:%C1类似于“按内容比较”的第一个参数-%C2类似于“按内容比较”的第二个参数
marlar

1

我遇到了这个问题,因为我想使用Visual Studio Code作为外部差异工具。

由于VS Code并不是主要的差异工具,因此不能仅以两个文件名作为参数来调用exe文件。而是必须指定选项--diff或只是-d

这在编辑WINCMD.INI时很重要。Comparetool行必须采用code.exe和diff-option的路径:

[Configuration]
Comparetool="C:\Program Files\Microsoft VS Code\Code.exe" --diff
...
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.