2011-09-26 12 views
9

¿Alguien puede recomendar una herramienta de fusión específicamente diseñada para fusionar el código de C#? Las características que busco:Herramienta de fusión para el código de C#

  • ¿Puede identificar códigos de construcciones (clases, métodos, ...)
  • puede detectar nuevos pedidos de esas construcciones
  • Ignorar reordenar-únicas diferencias
  • de 3 vías de combinación
  • Errores de compilación resaltados sobre la marcha en el panel de resultados.

Básicamente, estoy buscando una herramienta que sea mucho más específica que las herramientas clásicas de combinación de archivos como Winmerge. El problema con las herramientas de fusión de propósito general es que detectan los cambios línea por línea, lo que hace que sea extremadamente difícil identificar los bloques de código que se han cambiado pero que son perfectamente válidos y, lo que es más importante, identificar los errores de compilación en el resultado.

+2

Bueno, su pregunta aborda un problema común, especialmente con el reformateo de código automático. Resaltar los errores de compilación realmente no encaja en una herramienta de combinación, pero sus otros puntos son muy válidos. –

+11

@MitchWheat - A la gente probablemente le gusta la idea de una herramienta de fusión sensible al contexto. Creo que uno lo llama programador. – Oded

+4

@MitchWheat: Sus comentarios son irrespetuosos. El reformateo automático de códigos no solo introduce espacios en blanco. Podría introducir llaves, cambiar el nombre de las variables, etc. Consulte la función ReSharpers Clean Code, por ejemplo. Además, todo esto no tiene nada que ver con una tetera mágica. Se puede lograr creando una herramienta de combinación que no compare caracteres, sino entidades de código. –

Respuesta

5

¿Qué hay de Code Compare? Las funciones que solicitó están en la edición Pro (consulte feature comparison) que es 49.90 $.

+0

CodeCompare parece una buena opción para los requisitos enumerados en mi pregunta. Actualmente estoy probándolo. Gracias. – Nicolas

+0

Se ve bien, pero es lento para trabajar. Además, la interfaz está un poco abarrotada ya que hay demasiados elementos de la interfaz de usuario superpuestos en el código. – ja72

Cuestiones relacionadas