Kodesammenligning (diff)
Sammenlign to versjoner av kode side om side eller innebygd, med syntaksfarger, linjenumre, mellomromsvalg og en unified diff du kan kopiere eller laste ned.
Slik sammenligner du to kodebiter
- Lim inn den gamle versjonen i Opprinnelig kode og den nye versjonen i Endret kode.
- Velg Språk, eller la Oppdag automatisk stå: verktøyet gjetter ut fra koden og viser det oppdagede språket ved siden av statistikken.
- Velg en Visning: Side om side eller Innebygd (unified).
- Sett de valgene du trenger: Ignorer mellomrom og innrykk, Ignorer store og små bokstaver, Uthev endrede ord og Vis bare endringer (3 linjer kontekst).
- Klikk Sammenlign. Etter den første sammenligningen følger resultatet med mens du redigerer.
- Klikk Kopier som unified diff eller Last ned .diff for å bruke endringen som en patch.
Bytt side bytter om de to versjonene, slik at tillegg blir til slettinger og omvendt.
Slik leser du diffen
Fjernede linjer har rød bakgrunn og hører til originalen. Tillagte linjer har grønn bakgrunn og hører til den nye versjonen. Hver linje beholder linjenummeret fra sin egen fil, så du kan hoppe rett til den i editoren din.
- Side om side viser de to filene i to nummererte kolonner. En endret linje står ved siden av den nye versjonen. Med Uthev endrede ord merkes ordene som er endret inne i linjen. Uten det beholder begge linjene sine fulle syntaksfarger.
- Innebygd (unified) viser én kolonne, som i en kodegjennomgang: for hver endrede blokk kommer de fjernede linjene (−) først, deretter de tillagte (+), med både gamle og nye linjenumre.
- Vis bare endringer (3 linjer kontekst) bretter sammen lange uendrede strekk til en markør som «⋯ N uendrede linjer», noe som gjør store filer mye lettere å gå gjennom.
Statistikklinjen teller tillagte, fjernede og uendrede linjer.
Syntaksfarger
Fargelegging skjer i nettleseren din med highlight.js. Bare grammatikken for det valgte språket lastes, første gang du sammenligner, slik at siden holder seg lett. Støttede språk er blant annet JavaScript, TypeScript, Python, Java, C#, C / C++, Go, Rust, PHP, Ruby, CSS, HTML / XML, JSON, YAML, SQL, Bash / Shell og Markdown. Automatisk oppdagelse bruker enkle ledetråder (nøkkelord, parenteser, JSON-tolking). Hvis den gjetter feil, velger du språket selv eller velger Ren tekst.
Mellomrom, innrykk og linjeslutt
Ignorer mellomrom og innrykk sammenligner linjene etter at de er trimmet og rekker av mellomrom og tabulatorer er slått sammen, så en fil som er rykket inn på nytt fra 2 til 4 mellomrom, eller fra tabulatorer til mellomrom, viser ingen forskjell. Linjeslutt fra Windows (CRLF) og Unix (LF) normaliseres før sammenligningen, så en fil som bare har byttet linjeslutt, rapporteres som identisk. Husk at mellomrom kan ha betydning i Python, YAML og Makefiles: slå av valget når innrykk er viktig.
Unified diff-formatet
Den eksporterte patchen bruker standard unified-format som leses av git apply, patch og verktøy for kodegjennomgang: en topptekst med de to filnavnene, deretter blokker som starter med @@ -a,b +c,d @@ og tre linjer kontekst rundt hver endring. Filene heter original og changed, med en filendelse som passer til språket.
Ofte stilte spørsmål
Lastes koden min opp til en server?
Nei. Både sammenligningen og fargeleggingen kjører lokalt i nettleseren din. Koden forlater aldri enheten din.
Hva er forskjellen fra tekstsammenligningen?
Den bruker samme linje-for-linje-motor, men legger til syntaksfarger, en unified-visning, sammenfolding av kontekst og håndtering av mellomrom tilpasset kode.
Hvorfor vises to linjer som endret når de ser like ut?
De skiller seg sannsynligvis i usynlige tegn: mellomrom på slutten av linjen, tabulatorer i stedet for mellomrom eller et hardt mellomrom. Huk av for Ignorer mellomrom og innrykk for å bekrefte det.
Kan jeg bruke den nedlastede patchen med Git?
Ja. Lagre den og kjør patch original.js < changes.diff, eller tilpass filnavnene i topptekstene og bruk git apply.
Hvor store kan utdragene være?
Flere tusen linjer sammenlignes raskt. Hvis to svært store filer er helt ulike, stopper verktøyet etter noen sekunder og ber deg sammenligne mindre deler.
Relaterte verktøy
- Tekstsammenligning Sammenlign to tekster og se alle forskjeller side ved side eller på linjen, per linje, ord eller tegn. Privat verktøy som kjører i nettleseren din.
- JSON-formaterer og -validator Gratis JSON-formaterer og -validator som gjør JSON ryddig, minifiserer og kontrollerer den i nettleseren din, med syntaksfeil oppgitt med linje og kolonne.
- Regex-tester Test regulære uttrykk i JavaScript live, med uthevede treff, fangstgrupper, erstatning og en forklaring på vanlig norsk av hvert enkelt element i mønsteret.