Usporedba kôda (diff)
Usporedi dvije verzije kôda jednu pored druge ili u retku, uz isticanje sintakse, brojeve redaka, opcije razmaka i unified diff za kopiranje ili preuzimanje.
Kako usporediti dva dijela kôda
- Zalijepi staru verziju u Izvorni kôd, a novu u Izmijenjeni kôd.
- Odaberi Jezik ili ostavi Prepoznaj automatski: alat pogađa prema kôdu i prepoznati jezik prikazuje uz statistiku.
- Odaberi Prikaz: Jedno pored drugog ili U retku (unified).
- Postavi opcije koje ti trebaju: Zanemari razmake i uvlačenje, Zanemari velika i mala slova, Istakni promijenjene riječi i Prikaži samo promjene (3 retka konteksta).
- Klikni Usporedi. Nakon prve usporedbe rezultat prati tvoje izmjene dok tipkaš.
- Klikni Kopiraj kao unified diff ili Preuzmi .diff da promjenu iskoristiš kao zakrpu.
Zamijeni strane zamjenjuje dvije verzije, pa dodavanja postaju brisanja i obrnuto.
Čitanje razlika
Uklonjeni retci obojeni su crveno i pripadaju izvorniku, a dodani zeleno i pripadaju novoj verziji. Svaki redak zadržava svoj broj iz vlastite datoteke pa možeš odmah skočiti na njega u svom uređivaču.
- Jedno pored drugog stavlja dvije datoteke u dva numerirana stupca. Izmijenjeni redak nalazi se pokraj svoje nove verzije. Uz Istakni promijenjene riječi označene su riječi koje su se promijenile unutar tog retka, a bez nje oba retka zadržavaju pune boje sintakse.
- U retku (unified) prikazuje jedan stupac kao pregled kôda: za svaki izmijenjeni blok najprije dolaze uklonjeni retci (−), zatim dodani (+), s brojevima starog i novog retka.
- Prikaži samo promjene (3 retka konteksta) sažima duge neizmijenjene dijelove u oznaku „⋯ neizmijenjenih redaka: N“, što velike datoteke čini mnogo lakšima za pregled.
Redak statistike broji dodane, uklonjene i neizmijenjene retke.
Isticanje sintakse
Isticanje se izvodi u tvom pregledniku pomoću biblioteke highlight.js. Učitava se samo gramatika odabranog jezika, pri prvoj usporedbi, pa stranica ostaje laka. Podržani jezici uključuju JavaScript, TypeScript, Python, Javu, C#, C / C++, Go, Rust, PHP, Ruby, CSS, HTML / XML, JSON, YAML, SQL, Bash / Shell i Markdown. Automatsko prepoznavanje koristi jednostavne tragove (ključne riječi, zagrade, analizu JSON-a). Ako pogriješi, odaberi jezik sam ili odaberi Običan tekst.
Razmaci, uvlačenje i završeci redaka
Zanemari razmake i uvlačenje uspoređuje retke nakon skraćivanja i sažimanja nizova razmaka i tabulatora, pa datoteka ponovno uvučena s 2 na 4 razmaka ili s tabulatora na razmake ne pokazuje razliku. Završeci redaka sustava Windows (CRLF) i Unixa (LF) normaliziraju se prije usporedbe, pa se datoteka kojoj su se promijenili samo završeci redaka prikazuje kao identična. Imaj na umu da razmaci mogu biti važni u Pythonu, YAML-u i Makefileovima: isključi opciju kad je uvlačenje značajno.
Format unified diff
Izvezena zakrpa koristi standardni unified format koji čitaju git apply, patch i alati za pregled kôda: zaglavlje s dva naziva datoteka, zatim blokovi koji počinju s @@ -a,b +c,d @@ i tri retka konteksta oko svake promjene. Datoteke se zovu original i changed, s nastavkom za jezik.
Česta pitanja
Šalje li se moj kôd na poslužitelj?
Ne. Usporedba i isticanje izvode se lokalno u tvom pregledniku, a kôd nikada ne napušta tvoj uređaj.
Po čemu se ovo razlikuje od alata za usporedbu običnog teksta?
Koristi isti mehanizam za usporedbu redak po redak, ali dodaje isticanje sintakse, unified prikaz, sažimanje konteksta i obradu razmaka prilagođenu kôdu.
Zašto su dva retka prikazana kao promijenjena iako izgledaju identično?
Vjerojatno se razlikuju u nevidljivim znakovima: razmacima na kraju retka, tabulatorima umjesto razmaka ili nerazdvojnom razmaku. Označi Zanemari razmake i uvlačenje da to potvrdiš.
Mogu li preuzetu zakrpu primijeniti pomoću Gita?
Da. Spremi je i pokreni patch original.js < changes.diff ili prilagodi nazive datoteka u zaglavlju i upotrijebi git apply.
Koliko veliki smiju biti isječci?
Nekoliko tisuća redaka uspoređuje se brzo. Ako su dvije vrlo velike datoteke potpuno različite, alat staje nakon nekoliko sekundi i traži da usporediš manje dijelove.
Slični alati
- Usporedba dvaju tekstova Usporedi dva teksta i vidi sve razlike jedan do drugog ili u nizu, po retku, riječi ili znaku. Privatan alat za usporedbu koji radi u pregledniku.
- JSON formater i validator Besplatni JSON formater i validator koji uljepšava, minificira i provjerava JSON u pregledniku, a sintaksne greške prijavljuje s retkom i stupcem.
- Tester regularnih izraza Testiraj JavaScript regularne izraze uživo s istaknutim podudaranjima, skupinama koje hvataju, zamjenom i objašnjenjem svakog dijela uzorka na običnom jeziku.