Posso substituir o diff interno no Total Commander por uma ferramenta personalizada?

28

Como eu realmente não gosto do diff interno do Total Commander Compare o conteúdo usado em Comparar por conteúdo e Sincronizar diretivasComparar esquerda e direita , quero usar outra coisa como o WinMerge ou o KDiff3.

É possível iniciar um programa externo com os caminhos para os arquivos marcados no painel esquerdo e direito? Isso resolveria a comparação por conteúdo . Alguma outra maneira de resolver isso? Posso controlar Sincronizar Dirs para que faça o mesmo ao comparar o conteúdo do arquivo lá?

Alguma outra sugestão para fazer facilmente diffs no Total Commander com programa diff externo?

Joel
fonte

Respostas:

34

Existem várias maneiras de fazer isso (aqui estou usando o BeyondCompare como exemplo, é o melhor que encontrei nesta categoria, mas a solução também funciona bem com o WinMerge ):

A) Edite wincmd.iniabaixo %USERPROFILE%\AppData\Roaming\GHISLER\por padrão e adicione algo como isto:

[Configuração]
CompareTool = C: \ Arquivos de programas \ Shareware \ FileCmp \ BeyondCmp \ BCompare.exe

Agora todas as comparações são feitas usando este aplicativo em vez da ferramenta interna.


B) Usando o StartMenu do TotalCmd (comando "Alterar menu Iniciar ..."), adicione estes comandos:

Título:

BC (Compare os diretórios esquerdo-direito-direito)

Comando: %YourPath%\BeyondCmp\BCompare.exe

Parâmetros: %X%p %X%t


Título:

BC (Compare o arquivo atual sob o cursor com o mesmo arquivo no outro painel)

Comando: %YourPath%\BeyondCmp\BCompare.exe

Parâmetros: "%X%p%x%n" "%X%t%x%n"


Título:

BC (Compare o arquivo atual à esquerda versus o arquivo atual à direita)

Comando: %YourPath%\BeyondCmp\BCompare.exe

Parâmetros: "%X%p%n" "%X%t%m"

TheNewbie
fonte
Qual é o efeito de% X e% x?
Joel
1
% X Interpreta os seguintes parâmetros após este parâmetro como esquerda / direita em vez de origem / destino:% P,% p (caminho esquerdo),% T,% t (caminho direito),% N,% n (nome esquerdo),% M,% m (nome direito),% S,% s (selecionado à esquerda),% R,% r (selecionado à direita)
TheNewbie
% x Interpreta os seguintes parâmetros após esse parâmetro novamente como origem / destino Exemplo:% X% P% x% P envia o caminho esquerdo e de origem para o programa chamado
TheNewbie
Para a opção A, funcionou para mim (v8.51a) apenas se eu adicionasse o local CompareToolpróximo ao início do arquivo wincmd.ini. Como não sei a configuração exata que deve ser precedida por isso, diria que o mais simples é colocá-la no início do arquivo.
TLama
1
No TC 9, você pode usar% C1% C2 para emular melhor a maneira como a ferramenta interna de comparação funciona:% C1 Como o primeiro parâmetro de "Comparar por conteúdo" -% C2 Como o segundo parâmetro de "Comparar por conteúdo"
marlar
1

Eu me deparei com essa pergunta porque queria usar o Visual Studio Code como ferramenta de comparação externa.

Como o VS Code não é primariamente uma ferramenta diff, não é possível invocar o arquivo exe com dois nomes de arquivo como parâmetros. Em vez disso, a opção --diffou apenas -ddeve ser especificada.

Isso é importante ao editar o WINCMD.INI. A linha Comparetool deve seguir o caminho para code.exe e a opção diff:

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