Formattatore Diff

Confronta differenze di testo e codice con evidenziazione formattata e vista affiancata

Funziona in locale

Originale

Modificato

Risultato diff

Clicca su Confronta per vedere le differenze tra i due lati

Suggerimenti

  • Usa un'indentazione coerente in entrambi i testi per un confronto riga per riga più accurato.
  • La vista unificata è migliore per piccole modifiche. La vista affiancata è migliore per grandi differenze.
  • aggiunto   rimosso   modificato
  • Usa il pulsante di scambio per invertire la direzione del confronto e vedere le aggiunte come rimozioni.
  • Ctrl/Cmd + Enter avvia il confronto da uno qualsiasi dei campi di input.

Due modalità di diff, selezionate automaticamente

Data Diff parte da qualsiasi cosa incolli. Quando entrambi i lati vengono interpretati come JSON, passa a un diff strutturale; per tutto il resto confronta riga per riga. Puoi anche bloccare una modalità manualmente con le schede sopra il risultato.

Cosa riporta il diff strutturale JSON

  • Aggiunto — una chiave o un indice che esiste solo nel lato modificato, con un'anteprima del suo valore.
  • Rimosso — una chiave o un indice che esiste solo nel lato originale.
  • Modificato — lo stesso percorso contiene un valore diverso su ciascun lato, mostrato come prima → dopo.
  • Tipo modificato — il percorso contiene un oggetto su un lato e un valore scalare o un array sull'altro.
  • Ogni voce include un percorso nella stessa notazione $.store.books[0].title usata dagli Inspector JSON, XML e YAML, così puoi passare direttamente al punto corrispondente nel sorgente.

Diff testuale, quando ti serve

Il confronto basato su righe evidenzia ogni riga aggiunta e rimossa con i numeri di riga. Funziona con codice, log, file di configurazione e qualsiasi testo — incluso JSON la cui formattazione è cambiata ma i dati no.

Esempio: cosa vede la modalità JSON che la modalità testo non vede

I due snippet seguenti differiscono solo per l'ordine delle chiavi e l'indentazione. Il diff testuale segnala quasi tutte le righe come modificate; il diff strutturale JSON riporta correttamente zero modifiche.

A
{
  "name": "web",
  "version": "1.0"
}
B
{
  "version": "1.0",
  "name": "web"
}

Dove si colloca nel tuo flusso di lavoro

Data Diff è il passaggio di confronto del workbench. Invia qui qualsiasi documento dagli altri strumenti:

Domande frequenti

Risposte alle domande comuni sulla formattazione Diff Formatter

Sì, il nostro formattatore diff è completamente gratuito e non richiede registrazione. Tutta l'elaborazione avviene nel vostro browser.

Potete confrontare qualsiasi contenuto testuale: codice, file di configurazione, JSON, XML, testo semplice o qualsiasi altro formato basato su testo.

Le righe aggiunte sono mostrate con sfondo verde, le righe rimosse con sfondo rosso e le righe modificate mostrano entrambe le versioni affiancate.

Sì. Cliccate sul pulsante di scambio per invertire i testi originale e modificato, trasformando le aggiunte in rimozioni e viceversa.

Lo strumento utilizza l'algoritmo diff di Myers, lo stesso algoritmo usato da Git per il confronto del testo, garantendo diff accurati e minimi.

Il formato diff unificato (-u), come prodotto da git diff, diff -u e da ogni importante sistema di controllo versione - una o più sezioni di file, ciascuna con intestazioni ---/+++, marcatori di hunk @@ e righe +/- /di contesto. GNU diffutils documenta il formato esatto; il formattatore riscrive gli hunk con numeri di riga allineati e colorazione della sintassi.

@@ -3,7 +3,8 @@ indica: nel file vecchio, a partire dalla riga 3, vengono mostrate 7 righe; nel file nuovo, la sezione corrispondente inizia alla riga 3 e si estende per 8 righe. Leggere i conteggi ti dice a colpo d'occhio l'entità della modifica - qui è stata aggiunta una riga. Il formattatore mantiene questi marcatori intatti perché patch(1) e git apply dipendono da essi.

No - formatta e spiega le patch, non le applica. Per applicarle, usa git apply o patch -p1; per unire hunk in conflitto, lo strumento di merge del tuo VCS. La formattazione è deliberatamente in sola lettura così puoi incollare in sicurezza qualsiasi patch, comprese quelle con hunk rifiutati o in conflitto, per una revisione leggibile.

{-- * External Resources Component(#19 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / 官方语言文档 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}

Strumenti Correlati