Могу ли я заменить внутренний дифференциал в Total Commander собственным инструментом?

28

Поскольку мне не очень нравится внутренний diff Total Commander для сравнения содержимого, который используется в « Сравнение по содержимому» и «Синхронизировать каталоги» → « Сравнение влево и вправо» , я хочу использовать что-то еще, например WinMerge или KDiff3.

Можно ли запустить внешнюю программу с путями к отмеченным файлам на левой и правой панели? Это решило бы сравнение по содержанию . Любой другой способ решить это? Могу ли я управлять Synchronize Dirs, чтобы он делал то же самое, когда сравниваю содержимое файла?

Любые другие предложения, чтобы легко сделать сравнения в Total Commander с внешней программой сравнения?

Joel
источник

Ответы:

34

Есть много способов сделать это (здесь я использую BeyondCompare в качестве примера, это лучшее, что я нашел в этой категории, но решение также хорошо работает с WinMerge ):

A) Редактировать wincmd.iniпод %USERPROFILE%\AppData\Roaming\GHISLER\по умолчанию, и добавить что - то вроде этого:

[Конфигурация]
CompareTool = C: \ Program Files \ Shareware \ FileCmp \ BeyondCmp \ BCompare.exe

Теперь все сравнения сделаны с помощью этого приложения вместо внутреннего инструмента.


Б) Используя 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"

TheNewbie
источник
Каково влияние% X и% x?
Джоэл
1
% X Интерпретирует следующие параметры после этого параметра как левый / правый вместо исходного / целевого:% P,% p (левый путь),% T,% t (правый путь),% N,% n (левое имя),% M,% m (правое имя),% S,% s (выбрано слева),% R,% r (выбрано справа)
TheNewbie
% x Интерпретирует следующие параметры после этого параметра снова как источник / цель Пример:% X% P% x% P отправляет левый и исходный путь к вызываемой программе
TheNewbie
Для варианта A он работал для меня (v8.51a), только если я добавил CompareToolгде-то в начале файла wincmd.ini. Я не знаю точную настройку, которой должно предшествовать это, поэтому я бы сказал, что самое простое - поместить его в начало файла.
TLama
1
Начиная с TC 9, вы можете использовать% C1% C2 для лучшей эмуляции работы внутреннего инструмента сравнения:% C1 Как первый параметр «Сравнить по содержимому» -% C2 Как второй параметр «Сравнить по содержанию»
marlar
1

Я столкнулся с этим вопросом, потому что хотел использовать Visual Studio Code в качестве внешнего инструмента сравнения.

Поскольку VS Code изначально не является инструментом сравнения, нельзя просто вызвать exe-файл с двумя именами файлов в качестве параметров. Вместо этого опция --diffили просто -dдолжна быть указана.

Это важно при редактировании WINCMD.INI. Строка Comparetool должна указывать путь к code.exe и параметр diff:

[Configuration]
Comparetool="C:\Program Files\Microsoft VS Code\Code.exe" --diff
...
khlr
источник