Czy mogę wymienić wewnętrzny diff w Total Commander niestandardowym narzędziem?

28

Ponieważ tak naprawdę nie podoba mi się wewnętrzny diff programu Total Commander Porównaj zawartość używaną w Porównaj według zawartości i Synchronizuj katalogPorównaj lewy i prawy , chcę użyć czegoś innego, jak WinMerge lub KDiff3.

Czy jest możliwe uruchomienie zewnętrznego programu ze ścieżkami do zaznaczonych plików w lewym i prawym panelu? To rozwiązałoby Porównaj według treści . Jest inny sposób na rozwiązanie tego problemu? Czy mogę kontrolować synchronizację katalogów, aby działało tak samo, gdy porównuję tam zawartość pliku?

Jakieś inne sugestie dotyczące łatwego tworzenia różnic w Total Commander za pomocą zewnętrznego programu różnicowego?

Joel
źródło

Odpowiedzi:

34

Można to zrobić na wiele sposobów (tutaj używam BeyondCompare jako przykładu, jest to najlepsze, jakie znalazłem w tej kategorii, ale rozwiązanie działa również z WinMerge ):

A) Domyślnie edytuj wincmd.inipod %USERPROFILE%\AppData\Roaming\GHISLER\i dodaj coś takiego:

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

Teraz wszystkie porównania są dokonywane przy użyciu tej aplikacji zamiast narzędzia wewnętrznego.


B) Za pomocą StartMenu TotalCmd (polecenie „Zmień menu startowe ...”) dodaj następujące polecenia:

Tytuł:

BC (Porównaj katalogi lewy kontra prawy)

Dowództwo: %YourPath%\BeyondCmp\BCompare.exe

Parametry: %X%p %X%t


Tytuł:

BC (Porównaj bieżący plik pod kursorem z tym samym plikiem w drugim panelu)

Dowództwo: %YourPath%\BeyondCmp\BCompare.exe

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


Tytuł:

BC (Porównaj bieżący plik po lewej stronie z bieżącym plikiem po prawej)

Dowództwo: %YourPath%\BeyondCmp\BCompare.exe

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

TheNewbie
źródło
Jaki jest efekt% X i% x?
Joel
1
% X Interpretuje następujące parametry po tym parametrze jako lewy / prawy zamiast źródłowego / docelowego:% P,% p (lewa ścieżka),% T,% t (prawa ścieżka),% N,% n (lewa nazwa),% M,% m (prawa nazwa),% S,% s (zaznaczono po lewej),% R,% r (zaznaczono po prawej)
TheNewbie
% x interpretuje następujące parametry po tym parametrze ponownie jako źródło / cel Przykład:% X% P% x% P wysyła w lewo i ścieżkę źródłową do wywoływanego programu
TheNewbie
W przypadku opcji A zadziałało to dla mnie (wersja 8.51a) tylko wtedy, gdy dodałem coś CompareToolgdzieś na początku pliku wincmd.ini. Nie znam dokładnego ustawienia, które musi być poprzedzone, więc powiedziałbym, że najprostszym jest umieszczenie go na początku pliku.
TLama
1
Począwszy od TC 9, możesz użyć% C1% C2 dla lepszej emulacji sposobu działania wewnętrznego narzędzia porównywania:% C1 Podobnie jak pierwszy parametr „Porównaj według zawartości” -% C2 Jak drugi parametr „Porównaj według zawartości”
marlar
1

Natknąłem się na to pytanie, ponieważ chciałem użyć Visual Studio Code jako zewnętrznego narzędzia do porównywania.

Ponieważ VS Code nie jest przede wszystkim narzędziem różnicowym, nie można po prostu wywołać pliku exe z dwoma nazwami plików jako parametrami. Zamiast tego należy podać opcję --difflub po prostu -d.

Jest to ważne podczas edycji pliku WINCMD.INI. Linia Comparetool musi podążać ścieżką do code.exe i opcji diff:

[Configuration]
Comparetool="C:\Program Files\Microsoft VS Code\Code.exe" --diff
...
khlr
źródło