Pregunta

Me puede recomendar una utilidad de comparación de archivos bueno que es capaz de manejar C # muy bien. He intentado tanto WinMerge, BeyondCompare y KDiff y no son lo suficientemente buenos, por ejemplo, si tengo funciones con el mismo nombre pero colocados en diferentes áreas del archivo que mostrarlo como diferencias.

¿Fue útil?

Solución

[ Actualizar (2015) : Después de haber escrito esta respuesta ahora hay herramientas más modernas que pueden hacer fusión estructural y semántica y diffing de código en varios idiomas. Ver de Jotabe respuesta para algunos ejemplos]

Respuesta original (2010) : Por desgracia, que es una especie de la naturaleza de Dif. Siempre ha sido una línea por línea de comparación, no es una comparación consciente de lenguaje. Por lo que yo soy consciente de que no hay nada que haga lo que usted está pidiendo (Siempre es posible, aunque estoy equivocado).

Se podría utilizar una herramienta como regionerate para estandarizar el diseño de clase antes de hacer la comparación. Esto ordenar todos sus métodos, por lo que no tendría el problema con un método del mismo nombre estar en diferentes lugares en un archivo.

Otros consejos

En este momento (abril de 2015), hay por lo menos 3 herramientas de comparación comerciales que tienen en cuenta la estructura de los archivos de código C # para hacer un diff avanzada y fusión entre archivos de código:

Estas tres herramientas soportan este tipo de comparación avanzada sólo en las versiones pagados (o los períodos de prueba). Que yo sepa no hay una herramienta gratuita que puede hacer esto.

La única herramienta que soy consciente de que puede ser capaz de hacer esto (no estoy seguro de lo posible) es Git .

Por lo que yo sé, se puede realizar un seguimiento de las funciones, incluso si se mueven a diferentes archivos, por lo que su uso en este escenario no mostraría una diferencia.

Consulte esta respuesta para obtener más detalles.

Estoy utilizando Devart CodeCompare para esta tarea. editor nativo VS permite que maneje C # y VB muy bien. Se llaman a esta característica "Estructura comparación". Será de gran utilidad para usted.

No creo que vas a encontrar una utilidad de comparación de texto que va a hacer esto. Es mejor que la reorganización de las funciones por lo que son en los mismos lugares. He visto código del diseñador generada hacer esto (es decir, las funciones se mueven alrededor cada vez que el archivo se regenera). Es molesto, pero no creo que va a llegar a su alrededor. BeyondCompare realmente es una de las mejores utilidades de comparación por ahí.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top