Diff de texte/ Ligne par ligne
Mettez en évidence les différences ligne par ligne entre deux textes. Prend en charge le code et le texte brut avec des lignes de contexte configurables. Entièrement local.
OriginalA
ModifiéB
Contexte
Diff
Collez le texte dans les deux panneaux ci-dessus.
Cet outil a-t-il résolu votre problème ?
Qu'est-ce qu'un outil de diff textuel
Un outil de diff textuel utilise l'algorithme LCS (plus longue sous-séquence commune) pour comparer deux textes ligne par ligne, identifiant les ajouts, suppressions et modifications.
Cas d'utilisation courants des outils de diff
Revue de code : comparer les modifications. Gestion de configuration : comparer les configs entre environnements. Collaboration sur documents : voir l'historique des modifications. Migration de données : vérifier la précision des transformations.
Exemples de code
JavaScript (jsdiff)
import { diffLines } from 'diff';
const a = 'foo\nbar\nbaz';
const b = 'foo\nqux\nbaz';
diffLines(a, b).forEach(part => {
const sign = part.added ? '+' :
part.removed ? '-' : ' ';
process.stdout.write(sign + part.value);
});Python
import difflib
a = ['foo\n', 'bar\n', 'baz\n']
b = ['foo\n', 'qux\n', 'baz\n']
# Unified diff (like git diff)
diff = difflib.unified_diff(
a, b,
fromfile='original',
tofile='modified',
n=3, # context lines
)
print(''.join(diff))Go
// github.com/sergi/go-diff
import (
dmp "github.com/sergi/go-diff/
diffmatchpatch"
)
d := dmp.New()
diffs := d.DiffMain(textA, textB, false)
patch := d.PatchMake(textA, diffs)
fmt.Println(d.PatchToText(patch))Shell / CLI
# Unified diff with 3 context lines diff -U 3 original.txt modified.txt # Git-style diff (no git repo needed) git diff --no-index \ original.txt modified.txt # Side-by-side view diff --side-by-side \ original.txt modified.txt
Questions fréquemment posées
Comment fonctionne l'algorithme de diff ?
L'outil utilise l'algorithme LCS (plus longue sous-séquence commune) pour comparer les textes ligne par ligne, trouvant l'ensemble minimal d'ajouts et de suppressions — similaire à l'algorithme utilisé par git diff.
À quoi servent les lignes de contexte ?
Les lignes de contexte contrôlent combien de lignes inchangées sont affichées autour de chaque section modifiée. 0 affiche uniquement les lignes modifiées ; 3 affiche 3 lignes avant et après chaque modification ; 'Tout' affiche le texte complet.
Quels types de texte sont pris en charge ?
Tout texte brut est pris en charge, y compris le code (JavaScript, Python, Go, etc.), les fichiers de configuration (JSON, YAML, TOML), les documents Markdown et les fichiers journaux.
Mon contenu est-il envoyé à un serveur ?
Non. Tout le traitement se fait entièrement dans votre navigateur. Votre contenu ne quitte jamais votre appareil, ce qui rend la comparaison de code sensible sûre.
Comment copier la sortie diff ?
Cliquez sur le bouton 'Copier' en haut à droite du panneau diff pour copier le texte diff unifié dans le presse-papiers.
Que fait le bouton Échanger ?
Échanger A↔B permute les panneaux Original et Modifié, vous permettant de voir le diff dans la direction opposée.