Pergunta

Você pode recomendar um bom utilitário de comparação de arquivos capaz de lidar muito bem com C#. Eu tentei Winmerge, BeyondCompare e Kdiff e eles não são bons o suficiente, por exemplo, se eu tiver funções com o mesmo nome, mas colocou em diferentes áreas do arquivo que o mostram como diferenças.

Foi útil?

Solução

[Atualização (2015): Desde que escrevi esta resposta, agora existem ferramentas mais modernas que podem fazer a fusão estrutural e semântica e a diferença de código em vários idiomas. Ver A resposta de Jotabe Para alguns exemplos

Resposta original (2010): Infelizmente, essa é a natureza da diff. Sempre foi uma comparação de linha por linha, não é uma comparação com consciência de idioma. Tanto quanto sei, não há nada que faça o que você está pedindo (é sempre possível que eu esteja errado).

Você poderia usar uma ferramenta como Registrado Para padronizar o layout da classe antes de fazer a comparação. Isso ordenaria todos os seus métodos, para que você não teria o problema com um método de mesmo nome em lugares diferentes em um arquivo.

Outras dicas

Neste momento (abril de 2015), existem pelo menos três ferramentas de comparação comercial que têm em consideração a estrutura dos arquivos de código C# para fazer uma diferença avançada e mesclar entre os arquivos de código:

Essas três ferramentas suportam esse tipo de comparação avançada apenas nas versões pagas (ou nos períodos de teste). Afaik Não existe uma ferramenta gratuita que possa fazer isso.

A única ferramenta que estou ciente disso pode ser capaz de fazer isso (não tenho certeza se pode) é Git.

Até onde eu sei, ele pode rastrear funções, mesmo que sejam movidas para diferentes arquivos; portanto, usá -lo nesse cenário não mostraria diferença.

Ver esta resposta Para mais detalhes.

estou usando Devart codecompare para esta tarefa. O editor nativo vs me permite lidar muito bem com C# e VB. Eles chamam esse recurso de "comparação da estrutura". Será útil para você.

Eu não acho que você encontrará um utilitário de comparação de texto que fará isso. É melhor reorganizar as funções para que elas estejam nos mesmos lugares. Vi o código gerado pelo designer fazer isso (ou seja, mover funções sempre que o arquivo é regenerado). É irritante, mas acho que você não vai contornar isso. O BeyondCompare é realmente um dos melhores utilitários de comparação por aí.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top