2011-09-26 16 views
9

Qualcuno può consigliare uno strumento di unione progettato specificamente per unire il codice C#? Le caratteristiche che sto cercando:Strumento di unione per codice C#

  • in grado di identificare i costrutti di codice (classi, metodi, ...)
  • in grado di rilevare i riordini di quei costrutti
  • Ignora riordinare-uniche differenze
  • 3-way merge
  • Errori di compilazione evidenziati al volo nel riquadro dei risultati.

Fondamentalmente, sto cercando uno strumento molto più specifico dei classici strumenti di unione di file come Winmerge. Il problema con gli strumenti di unione generica è che rilevano i cambiamenti riga per riga, il che rende estremamente difficile identificare blocchi di codice che sono stati spostati ma che sono ancora perfettamente validi e, soprattutto, per identificare errori di compilazione nel risultato.

+2

Bene, la sua domanda affronta un problema comune, specialmente con la riformattazione automatica del codice. L'evidenziazione degli errori di compilazione non è adatta a uno strumento di unione, ma i suoi altri punti sono molto validi. –

+11

@MitchWheat - Le persone probabilmente amano l'idea di uno strumento di unione sensibile al contesto. Credo che lo si chiami programmatore. – Oded

+4

@MitchWheat: i tuoi commenti sono irrispettosi. La riformattazione automatica del codice non introduce solo spazi bianchi. Potrebbe introdurre delle parentesi, rinominare le variabili, ecc. Vedere la funzione ReSharpers Clean Code ad esempio. Inoltre, tutto questo non ha nulla a che fare con una teiera magica. Si può ottenere la creazione di uno strumento di unione che non confronta i caratteri ma le entità del codice. –

risposta

5

Che dire di Code Compare? Le funzioni richieste sono nell'edizione Pro (vedere feature comparison) che è 49.90 $.

+0

CodeCompare sembra una buona misura per i requisiti elencati nella mia domanda. Al momento sto provando. Grazie. – Nicolas

+0

Sembra buono, ma funziona lentamente. Anche l'interfaccia è un po 'ingombra dato che ci sono troppi elementi dell'interfaccia utente sovrapposti al codice. – ja72

Problemi correlati