Kann ich das interne Diff in Total Commander durch ein benutzerdefiniertes Tool ersetzen?

28

Da ich wie Total Commander internen diff nicht wirklich vergleichen Inhalt verwendet in Vergleich nach Inhalt und Verzeichnisse synchronisierenlinks vergleichen & Recht , möchte ich nutzen , um etwas anderes wie WinMerge oder KDiff3.

Ist es möglich, ein externes Programm mit den Pfaden zu den markierten Dateien im linken und rechten Bereich zu starten? Das würde Compare durch Inhalt lösen . Irgendeine andere Möglichkeit, es zu lösen? Kann ich Synchronize Dirs so steuern, dass es dasselbe tut, wenn ich den Dateiinhalt dort vergleiche?

Irgendwelche anderen Vorschläge, um in Total Commander mit einem externen Diff-Programm einfach Unterschiede zu machen?

Joel
quelle

Antworten:

34

Es gibt viele Möglichkeiten, dies zu tun (hier verwende ich BeyondCompare als Beispiel, es ist das Beste, was ich in dieser Kategorie gefunden habe, aber die Lösung funktioniert auch gut mit WinMerge ):

A) Bearbeiten wincmd.iniunter %USERPROFILE%\AppData\Roaming\GHISLER\standardmäßig und Add etwas wie folgt aus :

[Aufbau]
CompareTool = C: \ Programme \ Shareware \ FileCmp \ BeyondCmp \ BCompare.exe

Jetzt werden alle Vergleiche mit dieser App anstelle des internen Tools durchgeführt.


B) Fügen Sie mit dem StartMenu von TotalCmd (Befehl "Startmenü ändern ...") die folgenden Befehle hinzu:

Titel:

BC (Vergleichen der Verzeichnisse von links nach rechts)

Befehl: %YourPath%\BeyondCmp\BCompare.exe

Parameter: %X%p %X%t


Titel:

BC (Aktuelle Datei unter Cursor mit derselben Datei im anderen Fenster vergleichen)

Befehl: %YourPath%\BeyondCmp\BCompare.exe

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


Titel:

BC (aktuelle Datei links mit aktueller Datei rechts vergleichen)

Befehl: %YourPath%\BeyondCmp\BCompare.exe

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

TheNewbie
quelle
Was bewirken% X und% x?
Joel
1
% X Interpretiert die folgenden Parameter nach diesem Parameter als left / right anstelle von source / target:% P,% p (linker Pfad),% T,% t (rechter Pfad),% N,% n (linker Name),% M,% m (rechter Name),% S,% s (links ausgewählt),% R,% r (rechts ausgewählt)
TheNewbie
% x Interpretiert die folgenden Parameter nach diesem Parameter erneut als Quelle / Ziel Beispiel:% X% P% x% P sendet links und
Quellpfad
Bei der Option A funktionierte es nur für mich (v8.51a), wenn ich CompareTooldie Datei irgendwo in der Nähe des Anfangs der Datei wincmd.ini hinzufügte. Ich kenne die genaue Einstellung nicht, der das vorausgehen muss, daher würde ich sagen, dass es am einfachsten ist, sie an den Anfang der Datei zu setzen.
TLama
1
Ab TC 9 können Sie% C1% C2 verwenden, um die Funktionsweise des internen Vergleichstools besser zu emulieren:% C1 Wie der erste Parameter von "Nach Inhalt vergleichen" -% C2 Wie der zweite Parameter von "
Nach
1

Ich bin auf diese Frage gestoßen, weil ich Visual Studio Code als externes Diff-Tool verwenden wollte.

Da VS Code in erster Linie kein Diff-Tool ist, kann man die exe-Datei nicht einfach mit zwei Dateinamen als Parametern aufrufen. Stattdessen muss die Option --diffoder -dangegeben werden.

Dies ist wichtig beim Bearbeiten der WINCMD.INI. Die Zeile Comparetool muss den Pfad zu code.exe und die diff-Option enthalten:

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