Vés al contingut principal

Diferències de text de franc

Compara dos blocs de text i veu exactament què ha canviat. Diferència línia per línia amb línies afegides, eliminades i sense canvis.

Funciona sense connexió un cop carregat
Context:
+3 afegit−2 eliminat2 sense canvis
Diferència
+The quick brown fox leaps over the lazy dog.
−The quick brown fox jumps over the lazy dog.
Pack my box with five dozen liquor jugs.
+How amazingly quick daft zebras jump!
−How vexingly quick daft zebras jump!
The five boxing wizards jump quickly.
+Now is the time for all good men.

Usos habituals

  • Compareu fragments de codiDetecteu exactament el que ha canviat entre dues versions d'un fragment de codi, configuració o script.
  • Compareu esborranys de documentsBusqueu cada canvi entre dos esborranys d'un document, contracte o article: línia per línia.
  • Compareu dades i fitxers CSVBusqueu diferències entre dues versions de dades exportades, CSV, registres o configuració.
  • Compareu les versions de traduccióVegueu què ha canviat entre dues versions d'un document traduït, fitxer de subtítols o cadena de localització.
  • Rastreig dels canvis en les revisions de contingutCompareu les versions originals i editades d'un article, publicació de blog o còpia de màrqueting per revisar els canvis.

Com funciona

Diferència de text utilitza un algorisme de Subseqüència Comuna Més Llarga (LCS) escrit a mà implementat directament en aquesta eina — sense biblioteca de diferències externa. Tot passa al navegador; el teu text mai s'envia a cap servidor.

  1. 1
    El text es divideix en línies
    El contingut de cada àrea de text es divideix per caràcters de salt de línia en una matriu de línies. Es pot aplicar una normalització opcional (posar en minúscula, col·lapsar espais en blanc) a una còpia d'aquestes matrius abans de la comparació, mentre les originals es mantenen per a la visualització.
  2. 2
    La taula LCS es calcula en un Uint32Array
    Una taula de programació dinàmica de baix a dalt es construeix en un Uint32Array tipat — O(m×n) tant en temps com en memòria. Per a entrades el recompte de cel·les combinat de les quals superaria els 4 milions (uns 16 MB), l'algorisme torna automàticament a una diferència de blocs més grollera perquè la pàgina es mantingui receptiva.
  3. 3
    Ressaltats a nivell de paraula a les línies canviades
    Quan una línia eliminada és seguida immediatament d'una línia inserida, una segona passada LCS s'executa sobre les paraules tokenitzades d'aquell parell (dividides per espais en blanc). Això produeix segments ressaltats en línia que mostren exactament quines paraules han canviat dins de la línia, no només quines línies han canviat.
  4. 4
    Vista de diferència unificada amb col·lapse de context
    La llista d'operacions es renderitza com una diferència unificada amb prefixos +/− i codi de colors. Les línies sense canvis fora de la finestra de context configurable (per defecte: 3 línies) es col·lapsen darrere d'una el·lipsi. El resultat complet es pot copiar al porta-retalls o descarregar com a fitxer .txt de text pla.

Eines relacionades

Preguntes freqüents